http 實戰練習

http 實戰練習

創建httpd服務器,要求提供兩個基於名稱的虛擬主機:

(1)www.X.com,頁面文件目錄爲/web/vhosts/x;錯誤日誌爲/var/log/httpd/x.err,訪問日誌爲/var/log/httpd/x.access
(2)www.Y.com,頁面文件目錄爲/web/vhosts/y;錯誤日誌爲/var/log/httpd/www2.err,訪問日誌爲/var/log/httpd/y.access
(3)爲兩個虛擬主機創建各自的主頁文件index.html,內容分別爲其對應的主機名
(4)經過www.X.com/server-status輸出httpd工做狀態相關信息html

#增長兩條HOST 解析
vim /etc/hosts
192.168.120.130 www.x.com www.y.com


vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
    #虛擬主機的別名;可屢次使用,目前是不起做用的
    ServerName www.x.com
    #指定根目錄
    DocumentRoot "/web/vhosts/x"
    #錯誤日誌
    ErrorLog "logs/x.err"
    #訪問日誌
    TransferLog "logs/x.access"
        <Location /server-status>
                SetHandler server-status
                Order deny,allow
                Deny from all
                Allow from 192.168
        </Location>
</VirtualHost>


<VirtualHost *:80>
    #虛擬主機的別名;可屢次使用,目前是不起做用的
    ServerName www.y.com
    #指定根目錄
    DocumentRoot "/web/vhosts/y"
    #錯誤日誌
    ErrorLog "logs/www2.err"
    #訪問日誌
    TransferLog "logs/y.access"
</VirtualHost>

<Directory "/web/vhosts">
        Order allow,deny
        Allow from all
</Directory>

若是是Centos6 必定要把主配置文件中的NameVirtualHost 打開,或者在這個配置文件中加上如下配置
NameVirtualHost *:80 
不然沒法啓動虛擬主機!!!!

二、爲上面的第2個虛擬主機提供https服務,使得用戶能夠經過https安全的訪問此web站點web

(1)要求使用證書認證,證書中要求使用的國家(CN)、州(Beijing)、城市(Beijing)和組織(MageEdu)
(2)設置部門爲Ops,主機名爲www.Y.com,郵件爲admin@Y.comapache

省略步驟 參考 http 高級配置 筆記中的步驟
注意:ssl會話只能基於IP建立,這意味着若是服務器僅有一個IP,那麼僅爲一個虛擬主機提供https服務

編譯安裝httpd-2.4 使用httpd-2.4實現

一、創建httpd服務,要求:vim

(1) 提供兩個基於名稱的虛擬主機:
www.a.com
頁面文件目錄爲/web/vhosts/www1
錯誤日誌爲/var/log/httpd/www1/error_log
訪問日誌爲/var/log/httpd/www1/access_log安全

www.b.com
頁面文件目錄爲/web/vhosts/www2
錯誤日誌爲/var/log/httpd/www2/error_log
訪問日誌爲/var/log/httpd/www2/access_log

(2) 經過www.a.com/server-status輸出其狀態信息,且要求只容許提供帳號的用戶訪問服務器

(3) www.a.com不容許192.168.1.0/24網絡中的主機訪問網絡

編譯安裝httpd-2.4

#一次性編譯安裝 apr  + apr-util + http 不須要分三次來
#把三個壓縮包都解壓了

yum groupinstall Development Tools,Server

yum install openssl-devel expat-devel pcre-devel

useradd -r -g 80 apache
useradd -r -s /sbin/nologin -u 80 -g 80 apache

tar xvg apr apr-util httpd

mv apr-1.6.3 http/srclib/apr
mv apr-util-1.6.1 http/srclib/apr-util

cd httpd-2.4.27/
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make && make install

#添加變量
echo PATH=/app/httpd24/bin:$PATH > /etc/profile.d/httpd.sh

#啓動服務
apachectl

設置虛擬主機

#建立驗證文件
htpasswd -s -c .httpuser ddz
htpasswd -s .httpuser wang

#虛擬主機設置
vim /app1/httpd24/conf/http.conf
 Include conf/conf.d/*.conf

vim /app1/httpd24/conf/conf.d/vhost.conf
<VirtualHost *:80>
         ServerName www.a.com
         DocumentRoot "/web/vhosts/www1"
         ErrorLog "/var/log/httpd/www1/error_log"
         TransferLog "/var/log/httpd/www1/access_log"
         <Location /server-status>
                 SetHandler server-status
                 AuthType Basic
                 AuthName "Please Input Accout!!!"
                 AuthUserFile "/appl/httpd24/conf/conf.d/.httpuser"
                 Require user ddz,wang
         </Location>
         <Directory "/web/vhosts/www1">
                 <RequireAll>
                         Require all granted
                         Require not ip 192.168.1.
                 </RequireAll>
         </Directory>
 </VirtualHost>


 <VirtualHost *:80>
         ServerName www.b.com
         DocumentRoot "/web/vhosts/www2"
         ErrorLog "/var/log/httpd/www2/error_log"
         TransferLog "/var/log/httpd/www2/access_log"
 </VirtualHost>

二、爲上面的第2個虛擬主機提供https服務,使得用戶能夠經過https安全的訪問此web站點app

(1) 要求使用證書認證,證書中要求使用國家(CN),州(Beijing),城市(Beijing),組織爲(MageEdu)ui

(2) 設置部門爲Ops, 主機名爲www.b.com日誌

04971f768a7867742014f54146a84b57.jpeg

若是是編譯安裝,安裝完模塊,須要移動配置文件 
 yum install mod_ssl
 
cp /etc/httpd/conf.d/ssl.conf  /appl/httpd24/conf/conf.d/ssl.conf

開啓模塊
vim httpd.conf
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

配置SSL文件

<VirtualHost 192.168.120.131:443>
 DocumentRoot "/web/vhosts/www1"
 ServerName www.a.com

SSLCertificateFile /appl/httpd24/certs/httpd.crt
SSLCertificateKeyFile /appl/httpd24/certs/httpd.key
SSLCertificateChainFile /etc/pki/CA/cacert.pem

使用了https的話,記得把剛纔vhost裏面的虛擬主機配置移動到ssl中,不然沒法識別。
ssl 是能夠配置多個的

相關文章
相關標籤/搜索