1、虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名web
配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰服务器
基于端口:应先在主配置文件中增长一个监听的端口listen 8080
ide
<virtualhost 172.16.168.140:80>网站
options noneui
documentroot "/var/www/80"server
</virtualhost>blog
<virtualhost 172.16.168.140:8080>ip
options noneci
documentroot "/var/www/8080"资源
</virtualhost>
2.基于IP:
<virtualhost 172.16.168.150:80>
options none
documentroot "/var/www/ip150"
</virtualhost>
3.基于域名:apatche2.2版本应先在虚拟主机配置文件增长 namevirtualhost 172.16.168.140:80
若是想经过多个域名访问到同一个网站,能够定义多个servername
<virtualhost 172.16.168.140:80>
servername www.a.com
servername www.an.com
options none
documentroot "/var/www/a.com"
</virtualhost>
<virtualhost 172.16.168.140:80>
servername www.b.com
options noe
documentroot "/var/www/b.com"
</virtualhost>
2、配置用户对web资源的访问控制:若是某些资源不想被用户访问,能够经过创建受权让用户访问或根据ip地址进行限制
经过创建受权:
1.使用htpasswd 命令建立用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当须要建立第二个用户时,去掉-c选项,不然会把第一次建立的用户给清除掉)
<directory "/var/www/secret">
authtype basic
authname "is a sceret..."
authuserfile "/etc/httpd/conf/htpasswd"
require (user abc | valid-user) valid-user指所有用户 user能够指定具体某个用户
</directory>
若是想经过组来管理,需先创建一个组文件:
而后在文件中写上组名和已经(使用htpasswd)建立好的用户:
最后在<directory>中增长下面两条命令:
authgroupfile "/etc/httpd/conf/htgroup"
require group myuser
经过限定ip地址:
<directory "/var/www/secret“>
order deny,allow
deny from 192.168.100.1
</directory>
order指定 先拒绝后容许 或 先容许后拒绝
先拒绝后容许:默认容许,若是不指定拒绝的地址将容许全部地址
先容许后拒绝:默认拒绝,若是不指定容许的地址将拒绝全部地址
地址能够是 主机名、网段(172.16.0.0 能够简写为172.16)、具体某个ip地址
地址之间用逗号隔开