apache设置用户认证及配置各种虚拟主机

有时候为了提高网站后台的安全性,除了后台本身的密码验证外,还可以在apache上设置网站后台目录的密码认证。而有的时候我们需要在一个服务器上运营多个网站,例如,避免服务器资源的浪费,那就可以通过设置apache的虚拟主机来满足项目需求,虚拟主机主要有三种(域名虚拟主机,ip虚拟主机,端口虚拟主机);

首先安装apache

tar zxf http-2.2.17.tar.gz

cd http-2.2.17

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite

--enable-charset-lite --enable-cgi

make && make install

/usr/local/httpd/bin/apachectl start

生成加密的http账号密码文件:

/usr/bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin

配置apache主配置文件:

<Directory "/usr/local/httpd/htdocs">

Options Indexes FollowSymLinks

AuthNAME "AWStats Directory"

AuthType Basic

AuthUserfile /usr/local/httpd/conf/.awspwd

require  valid-user

AllowOverride None

Order allow,deny

Allow from all

</Directory>

重新启动一下服务,通过浏览器验证是否有效

/usr/local/httpd/bin/apachectl restart

基于域名的虚拟主机

ifconfig eth0 20.20.20.1/16

ifconfig eth0:0 20.20.20.3/16

ifconfig eth0:1 20.20.20.4/16

mkdir /usr/local/httpd/htdocs/web1

mkdir /usr/local/httpd/htdocs/web2

echo ‘<h1>this is web1</h1>‘ >> /usr/local/httpd/htdocs/web1/index.html

echo ‘<h1>this is web2</h1>‘ >> /usr/local/httpd/htdocs/web2/index.html

基于域名的虚拟主机需要域名解析,安装系统光盘的bind服务帮助解析:

mkdir /media/cdrom

mount /dev/cdrom  /media/cdrom

rpm -Uvh /media/cdrom/Server/bind-9.3.3-7.el5.i386.rpm

rpm -Uvh /media/cdrom/Server/caching-nameserver-9.3.3-7.el5.i386.rpm

rpm -Uvh /media/cdrom/Server/bind-chroot-9.3.3-7.el5.i386.rpm

cd /var/named/chroot/etc/

cp -p named.caching-nameserver.conf named.conf

vim named.conf

options {

directory       "/var/named";

};

zone "jiajia.com" IN {

type    master;

file    "dragon.com.zone";

};

cd /var/named/chroot/var/named

cp -p localhost.zone  dragon.com.zone

vim jiajia.com.zone

$TTL    86400

@               IN SOA  dargon.com.       admin.dragon.com. (

42              ; serial (d. adams)

3H              ; refresh

15M             ; retry

1W              ; expiry

1D )            ; minimum

IN NS           web1.dragon.com

web1            IN      A       20.20.20.1

web2            IN      A       20.20.20.3

service named restart

echo ‘nameserver 20.20.20.1‘ >/etc/resolv.conf

nslookup web1.dragon.com

nslookup web2.dragon.com

把配置文件写入到httpd.conf里

echo "

namevirtualhost 20.20.20.1

<virtualhost 20.20.20.1>

documentroot /usr/local/httpd/htdocs/web1

servername web1.dragon.com

</virtualhost>

<virtualhost 20.20.20.3>

documentroot /usr/local/httpd/htdocs/web2

servername web2.dragon.com

</virtualhost>

" >>/usr/local/httpd/conf/httpd.conf

/usr/local/httpd/bin/apachectl restart

基于ip地址的虚拟主机:

echo "

<virtualhost 20.20.20.1>

documentroot /usr/local/httpd/htdocs/web1

servername web1.dragon.com

</virtualhost>

<virtualhost 20.20.20.3>

documentroot /usr/local/httpd/htdocs/web2

servername web2.dragon.com

</virtualhost>

" >>/usr/local/httpd/conf/httpd.conf

/usr/local/httpd/bin/apachectl restart

基于端口的虚拟主机

echo "

listen 20.20.20.1:81

listen 20.20.20.1:82

<virtualhost 20.20.20.1:81>

documentroot /usr/local/httpd/htdocs/web1

servername web1.dragon.com

</virtualhost>

<virtualhost 20.20.20.1:82>

documentroot /usr/local/httpd/htdocs/web2

servername web2.dragon.com

</virtualhost>

" >>/usr/local/httpd/conf/httpd.conf

/usr/local/httpd/bin/apachectl restart

时间: 2024-10-08 11:12:02

apache设置用户认证及配置各种虚拟主机的相关文章

centos7编译安装apache后添加用户认证和配置虚拟主机

编译安装apache后的目录文件:/usr/local/apache2 1:用户认证 主配置目录:/usr/local/apache2/conf/ 1)建立目录并设置用户认证: Alias  /1.php/ "/usr/local/apache2/htdocs/1.php" <Directory"/usr/local/apache2/htdocs/"> AllowOverride None Options None Order allow,deny De

Apache配置完虚拟主机后,使用Chrome访问localhost还是默认目录htdocs

Chrome 解析DNS出错,这个错误比较罕见,甚至说有点奇特.今天在使用Apache配置虚拟主机时,出现了一个非常奇怪的现象.我按照配置的步骤配置虚拟主机,如下 配置虚拟主机的步骤如下: 1. 启用  httpd-vhosts.conf 在 httpd.conf 文件中 # Virtual hosts ,虚拟主机 Include conf/extra/httpd-vhosts.conf 2. 在httpd-vhosts.conf文件中做配置 #配置我们自己的虚拟主机 <VirtualHost 

PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]

经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置httpd-vhosts虚拟主机使用方法和步骤,便于查找和使用. 开发环境:WAMP网址:http://www.wampserver.com/en/ 实例一,Apaceh配置localhost虚拟主机步骤1,用记事本打开apache目录下httpd.conf文件(如:D:\wamp\bin\apache\a

PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项

经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置httpd-vhosts虚拟主机使用方法和步骤,便于查找和使用. 开发环境:WAMP网址:http://www.wampserver.com/en/ 实例一,Apaceh配置localhost虚拟主机步骤1,用记事本打开apache目录下httpd.conf文件(如:D:\wamp\bin\apache\a

Apache的用户认证、域名跳转、Apache的访问日志

Apache的用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <VirtualHost *:80>DocumentRoot "/data/wwwroot/111.com"ServerName 111.comServerAlias www.example.com<Directory /data/wwwroot/111.com>AllowOverri

LAMP - 配置默认虚拟主机

当DNS服务配置完成后,我们就可以顺利地在浏览器里输入自己的域名来访问网站了:可是如果有一天某家别的公司的域名在DNS里配置时,不小心指向到了我们服务器的IP,并且我们的服务器里还没有配置默认虚拟主机的情况下,会不会能成功访问我们的网站呢?那是必然的,这样不合规范,也不安全,最严重的是用户会认为这两家公司是一模一样的. 为了防止以上情况发生,我们需要在虚拟主机配置文件里的第一行增加一个默认虚拟主机,并且DocumentRoot为空,ServerName随便写一个: <VirtualHost *:

配置nginx虚拟主机别名及别名企业场景应用说明

nginx虚拟主机的别名配置 1    虚拟主机别名介绍及配置 所谓虚拟主机别名,就是为了虚拟主机设置除了主域名以外的一个或多个域名名字,这样能实现用户访问的多个域名对应同一个虚拟主机网站的功能. 以www.etiantian.org域名的虚拟主机为例,为其增加一个别名etiantian.org,使得访问 [[email protected] bbs]# curl -I 51cto.com HTTP/1.1 301 Moved Permanently Date: Sun, 20 Aug 2017

配置Tomcat监听80端口, 配置Tomcat虚拟主机,Tomcat日志

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/conf/server.xml在里面找到8080<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />将里面的8080改为80,然后保存退出.然后先关闭tomcat/usr/local/tomcat/bin/

php 学习 day2-Apache服务器的配置更改 和配置本地虚拟主机

上一次讲到了网页浏览的背后流程,那么接下来我们就开始了解服务端的一些知识,为了理清思路,我会按照Apache--php脚本--mysql服务器--php与mysql服务连接的顺序来记录笔记. 关于Apache如何安装,网上有很多种教程,这里就不再一一赘述了,我用的是wamp sever. wamp是一款一款windows系统下的Apache+PHP+Mysql集成环境整合包,这款工具拥有简单的图形和菜单安装和配置环境.安装起来也比较简单操作也比较简单. 安装好后开启为绿色小图标,右键单击这个图标