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

第一部分 准备工作 一:服务器:Linux系统—CentOS 7.4; IP地址:192.168.80.10 客户端:以WIN7为例,测试验证结果,与服务器在同一网段; IP地址:192.168.80.2

二:下载压缩包 http://httpd.apache.org/download.cgi //http压缩包 http://apr.apache.org/download.cgi //http插件包 //apr-1.6.2.tar.gz和apr-util-1.6.0.tar.gz是httpd2.4以后的版本所需要的插件,必须安装

三:将防火墙与selinux关闭

第二部分 安装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 //将插件放入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 添加以下两行(注意,“#”不能省略): 保存退出 [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 保存退出

//优化执行路径(执行程序文件的原路径不在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 //查看程序版本

六:启动服务 [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服务运行状态

七:验证 用WIN7客户端访问服务器 浏览器访问:http://192.168.80.10 验证成功 (注意,网页默认显示内容为:/usr/local/httpd/htdocs/index.html)

第三部分 搭建基于端口的虚拟主机 一:编辑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端口默认开启,所以不用开启) <VirtualHost 192.168.80.10:80> //虚拟主机80端口访问地址 ServerAdmin admin@aa.com DocumentRoot /opt/aa/ //定义家目录 ServerName www.aa.com //服务器名称 ErrorLog logs/aa.com-error_log //定义错误日志文件 CustomLog logs/aa.com-access_log common //定制日志文件 </VirtualHost> <Directory "/opt/aa"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory> <VirtualHost 192.168.80.10:8080> //虚拟主机8080端口访问地址 ServerAdmin admin@bb.com DocumentRoot /opt/bb/ //定义家目录 ServerName www.bb.com //服务器名称 ErrorLog logs/bb.com-error_log CustomLog logs/bb.com-access_log common </VirtualHost> <Directory "/opt/bb"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory> 保存退出

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

[root@localhost ~]# mkdir /opt/bb/ [root@localhost ~]# cd /opt/bb/ [root@localhost bb]# echo "www.bb.com" > index.html

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

第四步验证 Win7下访问http://192.168.80.10:80 Win7下访问http://192.168.80.10:8080 验证成功

四:搭建基于域名的虚拟主机(一个地址,多个域名) 第一步:搭建DNS服务器 [root@localhost ~]# yum install -y bind //安装DNS服务 //编辑主配置文件 [root@localhost ~]# vi /etc/named.conf 保存退出 //编辑区域配置文件 [root@localhost ~]# vi /etc/named.rfc1912.zones 添加以下内容: 保存退出 //编辑区域数据配置文件 [root@localhost ~]# cd /var/named/ [root@localhost named]# cp -p named.localhost aa.com.zone //创建aa.com的数据配置文件 [root@localhost named]# vi aa.com.zone 编辑以下内容: 保存退出 [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服务运行状态 [root@localhost named]# nslookup www.aa.com //解析www.aa.com [root@localhost named]# nslookup www.bb.com //解析www.bb.com 解析成功 [root@localhost named]# vi /etc/resolv.conf 设置服务器DNS 添加以下内容 servername 192.168.80.10 保存退出 //win7下证 设置DNS: 测试: 验证成功,此处DNS服务器搭建完成

第二步:编辑配置文件 [root@localhost named]# cd /usr/local/httpd/conf/conf.d/ [root@localhost conf.d]# vi vhost.conf 编辑以下内容(将原来内容全部删除): <VirtualHost 192.168.80.10:80> ServerAdmin admin@aa.com DocumentRoot /opt/aa/ ServerName www.aa.com ErrorLog logs/aa.com-error_log CustomLog logs/aa.com-access_log common </VirtualHost> <Directory "/opt/aa"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory>

<VirtualHost 192.168.80.10:80> ServerAdmin admin@bb.com DocumentRoot /opt/bb/ ServerName www.bb.com ErrorLog logs/bb.com-error_log CustomLog logs/bb.com-access_log common </VirtualHost> <Directory "/opt/bb"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory> 保存退出

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

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

第五步:验证 win7下访问www.aa.com win7下访问www.bb.com 验证成功 (注意,如果网页显示不了,清理下浏览器的缓存,历史记录,若还是不行,则换一个浏览器)