CentOS 7.4——Apache應用之二,構建Web虛擬主機
第一部分 準備工作
第二部分 安裝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 ~]# 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 [email protected]
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 [email protected]
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 "<h1>www.aa.com</h1>" > index.html
[root@localhost ~]# mkdir /opt/bb/
[root@localhost ~]# cd /opt/bb/
[root@localhost bb]# echo "<h1>www.bb.com</h1>" > 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 [email protected]
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 [email protected]
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 "<h1>www.aaaa.com</h1>" > index.html
[root@localhost aa]# cd /opt/bb/
[root@localhost bb]# echo "<h1>www.bbbb.com</h1>" > index.html
第四步:重啟服務
[root@localhost bb]# systemctl restart httpd
第五步:驗證
win7下訪問www.aa.com
win7下訪問www.bb.com
驗證成功
(註意,如果網頁顯示不了,清理下瀏覽器的緩存,歷史記錄,若還是不行,則換一個瀏覽器)
CentOS 7.4——Apache應用之二,構建Web虛擬主機