一、为虚拟主机提供域名解析
两种方法(方法二更快一点):
方法一:部署DNS域名解析服务器 来提供域名解析
方法二:在/etc/hosts 文件中临时配置域名与IP地址的映射关系
echo “192.168.73.188 www.benet.com” >> /etc/hosts
echo “192.168.73.188 www.accp.com” >> /etc/hosts
二、为虚拟主机准备网页文档
mkdir -p /var/www/html/benet
mkdir -p /var/www/html/accp
echo "<h1>www.benet.com</h1>" > /var/www/html/benet/index.html
echo "<h1>www.accp.com</h1>" > /var/www/html/accp/index.html
三、添加虚拟主机配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf #源码编译安装的虚拟主机配置文件路径
#vim /etc/httpd/conf.d/vhosts.conf #RPM或YUM安装的虚拟主机配置文件路径
<VirtualHost 192.168.73.188:80> #设置虚拟战斗区域
# ServerAdmin webmaster@dummy-host.example.com #设置管理员邮箱,这行可忽略
DocumentRoot "/var/www/html/benet" #设置网站根目录
ServerName www.benet.com #设置Web站点的完整域名(主机名+域名)
# ServerAlias www.dummy-host.example.com
ErrorLog "logs/benet.com-error_log" #设置错误日志文件的路径
CustomLog "logs/benet.com-access_log" common #设置访问日志文件的路径
</VirtualHost>
<VirtualHost 192.168.73.188:80>
DocumentRoot "/var/www/html/accp"
ServerName www.accp.com
ErrorLog "logs/accp.com-error_log"
CustomLog "logs/accp.com-access_log" common
</VirtualHost>
四、设置访问控制
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 大G在最后一行添加
<Directory "/var/www/html"> #设置目录访问权限
Options None #不启用任何的服务器特性
AllowOverride None #不允许重写Apache默认配置
Require all granted #允许所有主机访问
</Directory>
五、加载独立的配置文件
vim /usr/local/httpd/conf/httpd.conf #源码编译安装的httpd服务主配置文件路径
--483行--取消注释
Include conf/extra/httpd-vhosts.conf #加载独立的配置文件
#vim /etc/httpd/conf/httpd.conf #RPM或YUM安装的httpd服务主配置文件路径
IncludeOptional conf.d/*.conf #最后一行已默认开启此项
systemctl restart httpd
设置完之后httpd -t检查以下,我这里报错,告诉我这个配置文件的42行有错,我把后面#注释的文字删掉就行了
六、在客户机中访问虚拟 Web 主机.