一.apache的虚拟机主机分类:
1. 基于域名的虚拟主机(相同IP对应不同的域名)
2. 基于端口的虚拟主机(相同ip对应不同的端口)
3. 基于ip的虚拟主机(不同ip)
二. 虚拟主机的部署
此处以基于域名的虚拟主机为例
ip:10.254.254.222
域名:
www.etiantian.org
blog.etiantian.org
bbs.etiantian.org
1.创建站点并分别建立首页文件
mkdir -p /var/html/{www,blog,bbs}
touch /var/html/{www,blog,bbs}/index.html
为每个首页写入不同内容:
[root@localhost extra]# for name in www blog bbs;do echo "http://$name.etiantian.org" >/var/html/$name/index.html;done
2.修改apache/conf/extra/httpd-vhosts-config配置文件添加站点配置
在配置最后添加三段如下内容
<VirtualHost *:80>
ServerAdmin zijing@163.com(管理员邮箱)
DocumentRoot "/var/html/www"(站点)
ServerName www.etiantian.org(域名)
ErrorLog "logs/www-error_log"(错误日志)
CustomLog "logs/www-access_log" common (访问日志)
</VirtualHost>
<VirtualHost *:80>
ServerAdmin zijing@163.com
DocumentRoot "/var/html/blog"
ServerName blog.etiantian.org
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin zijing@163.com
DocumentRoot "/var/html/bbs"
ServerName bbs.etiantian.org
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
</VirtualHost>
3.修改主配置问文件,开启虚拟主机功能
vim httpd.conf(去掉下边两行注释)
#Include conf/extra/httpd-vhosts.conf(开启虚拟主机功能)
#Include conf/extra/httpd-mpm.conf(配置worker工作模式(可不打开,则默认为prefork模式))
重启服务
4.修改主机(windows电脑主机)域名解析
C:\Windows\System32\drivers/etc/hosts
添加
10.254.254.224 www.etiantian.org blog.etiantian.org bbs.etiantian.org
5.主配置文件里,配置站点目录的访问权限
配置里添加如下内容:
<Directory "/var/html">
Options FollowSymLinks(去掉了Indexes,是一种安全优化,隐藏了站点目录结构)
AllowOverride None
Order allow,deny
Allow from all(允许所有ip访问)
</Directory>
6.测试