目录
第一部分 准备工作
第二部分 安装Apache服务
第三部分 搭建基于端口的虚拟主机
第四部分 搭建基于域名的虚拟主机

第一部分 准备工作
一:服务器:Linux系统—CentOS 7.4;
IP地址:192.168.80.10
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第1张图片
客户端:以WIN7为例,测试验证结果,与服务器在同一网段;
IP地址:192.168.80.2

二:下载压缩包
http://httpd.apache.org/download.cgi //http压缩包
http://apr.apache.org/download.cgi //http插件包
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第2张图片
//apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以后的版本所需要的插件,必须安装

三:将防火墙与selinux关闭
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第3张图片

第二部分 安装Apache服务
一:安装编译工具与插件
[root@localhost ~]# yum -y install \

gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

二:解压:
[root@localhost ~]# tar xf apr-1.6.2.tar.gz
[root@localhost ~]# tar xf apr-util-1.6.0.tar.gz
[root@localhost ~]# tar xf httpd-2.4.29.tar.bz2
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第4张图片
//将插件放入httpd目录下
[root@localhost ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

三:配置(自定义个性化配置)
[root@localhost ~]# cd httpd-2.4.29 //必须进入安装目录下
[root@localhost httpd-2.4.29]# ./configure \

--prefix=/usr/local/httpd \ //指定将httpd程序安装到/usr/local/httpd目录下
--enable-so \ //启用动态加载模块功能
--enable-rewrite \ //启用网页地址重写功能,用于网站优化及目录迁移
--enable-charset-lite \ //启用字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi //启用CGI脚本程序支持,便于扩展网站的应用访问能力

四:编译及安装
[root@localhost httpd-2.4.29]# make && make install

//将httpd服务添加到系统服务
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.29]# vi /etc/init.d/httpd
添加以下两行(注意,“#”不能省略):
CentOS 7.4——Apache应用之二,构建Web虚拟主机
保存退出
[root@localhost httpd-2.4.29]# chkconfig --add httpd //将httpd加入到SERVICE管理器
[root@localhost httpd-2.4.29]# systemctl daemon-reload //重载系统系统管理器

五:编辑httpd主配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf
修改以下内容:
ServerName www.aa.com
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第5张图片
保存退出

//优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

//检查语法错误
[root@localhost httpd-2.4.29]# httpd –t
或者:[root@localhost httpd-2.4.29]# apachectl –t
CentOS 7.4——Apache应用之二,构建Web虚拟主机
//查看程序版本
CentOS 7.4——Apache应用之二,构建Web虚拟主机

六:启动服务
[root@localhost httpd-2.4.29]# systemctl start httpd
[root@localhost httpd-2.4.29]# systemctl enable httpd //将httpd设为开机启动
[root@localhost httpd-2.4.29]# netstat -anpt | grep 80 //查看httpd服务运行状态
CentOS 7.4——Apache应用之二,构建Web虚拟主机

七:验证
用WIN7客户端访问服务器
浏览器访问:http://192.168.80.10
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第6张图片
验证成功
(注意,网页默认显示内容为:/usr/local/httpd/htdocs/index.html)
CentOS 7.4——Apache应用之二,构建Web虚拟主机

第三部分 搭建基于端口的虚拟主机
一:编辑http主配置文件
[root@localhost ~]# vi /etc/httpd.conf
Include conf/conf.d/*.conf //新增此行用来包含子配置文件
保存退出

二:创建虚拟目录配置文件
[root@localhost ~]# cd /usr/local/httpd /conf/ //进入httpd安装目录
[root@localhost conf]# mkdir conf.d
[root@localhost conf]# cd conf.d
[root@localhost conf]# touch vhost.conf

三:搭建基于端口的虚拟主机(一个地址,多个端口)
第一步:编辑配置文件
[root@localhost conf.d]# vi vhost.conf
添加以下内容:
Listen 192.168.80.10:8080 //开启监听8080端口(80端口默认开启,所以不用开启)
//虚拟主机80端口访问地址
ServerAdmin [email protected]
DocumentRoot /opt/aa/ //定义家目录
ServerName www.aa.com //服务器名称
ErrorLog logs/aa.com-error_log //定义错误日志文件
CustomLog logs/aa.com-access_log common //定制日志文件


Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted

//虚拟主机8080端口访问地址
ServerAdmin [email protected]
DocumentRoot /opt/bb/ //定义家目录
ServerName www.bb.com //服务器名称
ErrorLog logs/bb.com-error_log
CustomLog logs/bb.com-access_log common


Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted

保存退出

第二步:创建80端口与8080端口的家目录并创建默认html文件
[root@localhost ~]# mkdir /opt/aa/
[root@localhost ~]# cd /opt/aa/
[root@localhost aa]# echo "

www.aa.com

" > index.html
CentOS 7.4——Apache应用之二,构建Web虚拟主机

[root@localhost ~]# mkdir /opt/bb/
[root@localhost ~]# cd /opt/bb/
[root@localhost bb]# echo "

www.bb.com

" > index.html
CentOS 7.4——Apache应用之二,构建Web虚拟主机

第三步:重启httpd服务
[root@localhost bb]# systemctl restart httpd

第四步验证
Win7下访问http://192.168.80.10:80
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第7张图片
Win7下访问http://192.168.80.10:8080
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第8张图片
验证成功

四:搭建基于域名的虚拟主机(一个地址,多个域名)
第一步:搭建DNS服务器
[root@localhost ~]# yum install -y bind //安装DNS服务
//编辑主配置文件
[root@localhost ~]# vi /etc/named.conf
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第9张图片
保存退出
//编辑区域配置文件
[root@localhost ~]# vi /etc/named.rfc1912.zones
添加以下内容:
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第10张图片
保存退出
//编辑区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost aa.com.zone //创建aa.com的数据配置文件
[root@localhost named]# vi aa.com.zone
编辑以下内容:
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第11张图片
保存退出
[root@localhost named]# cp -p aa.com.zone bb.com.zone //创建bb.com的数据配置文件
(ip地址与aa.com一样,内容不用修改)
[root@localhost named]# named-checkconf //检查语法错误(无报错表示正确)
[root@localhost named]# systemctl start named //启动dns服务
[root@localhost named]# netstat -anpt | grep named //查看dns服务运行状态
CentOS 7.4——Apache应用之二,构建Web虚拟主机
[root@localhost named]# nslookup www.aa.com //解析www.aa.com
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第12张图片
[root@localhost named]# nslookup www.bb.com //解析www.bb.com
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第13张图片
解析成功
[root@localhost named]# vi /etc/resolv.conf 设置服务器DNS
添加以下内容
servername 192.168.80.10
保存退出
//win7下证
设置DNS:
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第14张图片
测试:
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第15张图片
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第16张图片
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第17张图片
验证成功,此处DNS服务器搭建完成

第二步:编辑配置文件
[root@localhost named]# cd /usr/local/httpd/conf/conf.d/
[root@localhost conf.d]# vi vhost.conf
编辑以下内容(将原来内容全部删除):

ServerAdmin [email protected]
DocumentRoot /opt/aa/
ServerName www.aa.com
ErrorLog logs/aa.com-error_log
CustomLog logs/aa.com-access_log common


Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted


ServerAdmin [email protected]
DocumentRoot /opt/bb/
ServerName www.bb.com
ErrorLog logs/bb.com-error_log
CustomLog logs/bb.com-access_log common


Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted

保存退出

第三步:创建aa.com和bb.com的默认html文件
[root@localhost conf.d]# cd /opt/aa/
[root@localhost aa]# echo "

www.aaaa.com

" > index.html
CentOS 7.4——Apache应用之二,构建Web虚拟主机
[root@localhost aa]# cd /opt/bb/
[root@localhost bb]# echo "

www.bbbb.com

" > index.html
CentOS 7.4——Apache应用之二,构建Web虚拟主机

第四步:重启服务
[root@localhost bb]# systemctl restart httpd

第五步:验证
win7下访问www.aa.com
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第18张图片
win7下访问www.bb.com
CentOS 7.4——Apache应用之二,构建Web虚拟主机_第19张图片
验证成功
(注意,如果网页显示不了,清理下浏览器的缓存,历史记录,若还是不行,则换一个浏览器)