一、虚拟主机的类型
基于域名的虚拟主机
基于IP的虚拟主机
基于端口的虚拟主机
二、本实例是基于域名的虚拟主机的实现
练习:(1)在/website目录下创建g、z、c三个目录,分别作为
www.ggg.com,www.zzz.com,www.ccc.com三个站点的web根目录
(2)设置域名服务器解析www.ggg.com,www.zzz.com,www.ccc.com解析同一个ip地址
(3)要求三个站点的日志都存放到/var/log/httpd目录下,并使用同一个文件,即访问日志都放
到access.log,错误日志都放到error.log下,错误日志的
级别设置为notice,访问日志记录时间,客户端地址,请求的URL路径,请求方法,响应请求的子
进程ID,请求的文件,浏览器类型等信息
(4)配置这两个日志至少要达到10M以后才进行轮转,且最多保存5个轮转文件
(5)设置/website/sxjy/private目录只允许172.16.0.0/16网段的地址访问
(6)设置/website/sxkj/finance只允许经过认证和授权的用户访问,具体用户名自己设置
(1)mkdir -p /website/{g,z,c}
cd /website/a
vim index.html
wilcome to ggg page
其他文件做相同处理
mkdir -p /website/a/{prvite,finance}
cp /website/a/index.html /website/a/private
cp /website/a/index.html /website/a/finance
(2)注意:在客户端设置 vim /etc/hosts
10.0.10.103 www.ggg.com
10.0.10.103 www.zzz.com
10.0.10.103 www.ccc.com
亦可采用dns服务器 加A 选项即可
(3)配置文件的书写
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/website/aaa"
ServerName www.aaa.com
ErrorLog "/var/log/httpd/error.log"
CustomLog "/var/log/httpd/access.log" common
</VirtualHost>
其它两个同上
(4)日志文件的书写
在 /etc/logrotate.d 下
vim website
/var/log/httpd/*log
{
size=10M
rotate 5
}
大致如此
(5)
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/website/aaa"
ServerName www.aaa.com
ErrorLog "/var/log/httpd/error.log"
CustomLog "/var/log/httpd/access.log" common
<Directory /website/a/private>
Require all denied
Require ip 172.16.0.0/16
</Directory>
<Directory /sxjy>
AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile "/usr/local/httpd/passwd/password"
Require user user03
</Directory>
</VirtualHost>
cd /usr/local/
# htpasswd -c /usr/local/httpd/passwd/password user03
哦了 !!