本篇將在 SELinux 安全機制及 IPTables 防火牆開啟的環境下實作,分別實作簡單網頁服務及虛擬主機 Virtual Host
設定,最後則是實作網頁中需要保護網頁時可以透過 .htaccess 機制進行保護,關於 Apache
網頁伺服器內容及更詳細設定參數可以參考官方文件 RedHat
- Deployment Guide Chapter 14. Web Servers。以下為 Apache 網頁伺服器實作環境:(若執行
semanage 指令發現系統中沒有此一指令請安裝 policycoreutils-python 套件即可(yum -y install
policycoreutils-python)。
* OS: CentOS 6.0 (32
bit)
* Apache 套件資訊:
httpd-2.2.15-5.el6.centos.i686
* Apache 設定檔:
/etc/httpd/conf/httpd.conf
* IPTables 防火牆: TCP 協定 Port
80
* SELinux 權限: httpd_sys_content_t
* Apache
根目錄預設路徑: /var/www/html
* Apache 根目錄變更後路徑:
/home/web
----- 安裝 Apache 網頁伺服器套件 -----
請使用 yum 指令搭配
Apache 套件名稱 httpd 即可進行套件安裝。
----- 設定 IPTables 防火牆規則 -----
Apache
網頁服務屆時啟動會 Listen TCP 協定 Port
80(HTTP)、443(HTTPs),因此必須修改 IPTables 防火牆規則以便網頁服務啟動後可進行測試,請修改
IPTables 防火牆規則設定檔「/etc/sysconfig/iptables」加上允許 TCP
Port 80、443 規則,修改防火牆規則後請使用指令「service iptables
restart」重新啟動防火牆服務,以便防火牆規則套用生效,並且使用「service
iptables status」指令確定目前防火牆規則是否允許 TCP Port 80。
----- 修改 Apache 設定檔 -----
修改 Apache
設定檔「/etc/httpd/conf/httpd.conf」,主要為修改網頁根目錄「DocumentRoot」設定,將根目錄路徑由預設「/var/www/html」修改至「/home/web」 掛載點,下列僅列出
Apache 設定檔中需要修改的地方其預設值及修改後內容。
接著建立屆時 Apache
網頁伺服器測試首頁「/home/web/index.html」,利用「echo」指令將字串「Apache Work!!」送入測試首頁檔案內
----- 修改 SELinux 設定值 -----
修改 SELinux
安全機制設定值,因為將 Apahe
網頁伺服器網頁根目錄由 「/var/www/html」 修改至 「/home/web」,因此資料夾其
SELinux 安全機制的權限勢必與原來不同,若不修改屆時啟動 Apache 服務時便可能會因為 SELinux 權限問題造成無法啟動 Apache
服務的狀況。
接著透過「semanage fcontext -a -t」指令配合 SELinux
權限「httpd_sys_content_t」,指定「/home/web」資料夾及所有子資料夾及檔案都設定此權限為「SELinux預設權限」,之後使用「restorecon
-Rv」指令把 /home/web 資料夾還原至剛才設定的 SELinux 預設權限,完成套用權限動作後再次查看二個資料夾 SELinux
權限便一模一樣。
----- 啟動 Apache 服務 -----
修改 SELinux
安全機制權限設定後,可以放心啟動 Apache 網頁服務,請使用指令「service httpd start」啟動 Apache
服務,並且於服務啟動後使用「netstat」指令查看系統是否開啟了 TCP Port 80,以及「ps」指令查看 Apache
執行序(httpd)是否運作。
啟動 Apache 網頁服務成功後,開啟瀏覽器測試 Apache
網頁服務是否真的運作以及看到剛才建立的測試首頁。
-----
虛擬主機 Virtual Host 設定 -----
簡單說虛擬主機 Virtual Host 為讓 Apache
網頁伺服器可以同時運作多個網站的機制,若伺服器只有一個 IP 位址即可依靠 DNS 名稱解析機制來達成,請注意!! 當設定 Virtual Host
之後原本的設定將被覆蓋。
重新載入 Apache 網頁服務成功後,測試是否可以看到測試首頁。
-----
設定 Apache 支援 .htaccess 保護功能 -----
當您網站上有某些網頁不想讓人可以隨便瀏覽
(例如:管理介面、程式後台.....),此時可利用 Apache 內的 .htaccess 功能來替網頁進行管制保護,以下為利用 .htaccess
來保護指定網頁其設定注意事項:
* AllowOverride AuthConfig:
使用 帳號/密碼 進行管制保護
*
AllowOverride Limit: 使用 管制來源
IP 進行管制保護
* AllowOverride
None: .htaccess 功能失效
設定完成後若成功運作則要瀏覽 admin
資料夾時便會彈跳出使用者帳號密碼驗證視窗,通過驗證即可看到網頁內容。
http://ithelp.ithome.com.tw/question/10080681
邁向 RHCE 之路 (Day26) - Apache 網頁伺服器,布布扣,bubuko.com
邁向 RHCE 之路 (Day26) - Apache 網頁伺服器
原文:http://www.cnblogs.com/chen110xi/p/3719239.html