搜尋此網誌
RHCE - HTTPD
HTTPD
本文所指的httpd就是Apache以HTTPd伺服器所發展出來的自由軟體。
RHCSA考試中會考httpd的安裝,RHCE考試中會考虛擬主機的設定。
本文內容以考試內容筆記為主,其他相關細部設定可參考鳥哥的文章。
>>簡易 WWW 伺服器設定<<
1.使用 #yum install httpd-* 下載並安裝httpd服務。
或者也可使用 #wget 下載httpd,在依照檔案利用 #rpm 或其他方法安裝。
2.安裝完成後輸入 #service httpd start 啟動服務。
3.#chkconfig httpd on 設定開機啟動服務。
可輸入 #chkconfig --list httpd 檢查服務是否有啟動在正確的runlevel。
4.#restorecon -R /var/www/html 開啟SELinux權限,/var/ftp/pub為預設目錄。
5.可關閉防火牆,輸入 #chkconfig iptables off 以及 #service iptables stop。
或者開啟iptables中http port,考試時建議直接關閉防火牆即可。
6.使用瀏覽器測試httpd是否正常。
httpd的設定檔在/etc/httpd/conf/httpd.conf中。
VIRTUAL HOST
Virtual Host可以使一個伺服器主機,存在多個網站。
使用者輸入不同的網址,伺服器會導向到不同的網站,但實際上都是在同一台主機上。
Virtual Host的好處是可以讓你在同一台主機上擁有多個網站,並且方便管理。
例如你可以將主網站,討論區,相簿分別用不同的網址定義,方便使用者記憶。
或者也可以利用Virtual Host完成伺服器備援的動作。
Virtual Host的設定在/etc/httpd/conf/httpd.conf檔案的最後,預設是關閉的。
開啟Virtual Host的功能只需將NameVirtualHost的注解拿掉即可。
NameVirtualHost後方是要填入要使用Virtual Host的IP或者埠號。
接著<VirtualHost>....</VirtualHost>中是對欲建立的Virtual Host進行設定。
同樣的VirtualHost後方必須加上要使用的IP或者埠號。
Virtual Host最主要的設定為ServerName以及DocumentRoot。
ServerName為定義主機名稱,DocumentRoot為定義該Virtual Host的主目錄。
其他項目可以註解掉不加以設定,如ServerAdmin為管理者信箱。
ErrorLog為錯誤紀錄檔存放位置,CustomLog為登錄紀錄檔存放位置。
要特別注意的是,當啟用Virtual Host之後,原本的主機名稱也必須加入設定。
也就是/var/www/html這個目錄的主機,否則原本的主機名稱就會失效。
設定完成之後重啟服務就可以套用新的設定了。
DIRECTORY
Directory可以針對被瀏覽的目錄進行權限設定。
<Directory>後需接上雙引號填入欲設定的目錄。
<Directory>...</Directory>中則是編寫相關的權限設定,主要分為四個部分。
Options為目錄參數,針對Apache的程序的權限進行設定。
AllowOverride為允許覆寫參數功能,目的在於可以讓使用者自訂網頁的權限。
Order為判斷瀏覽權限的順序,例如Order allow,deny就表示先處理allow名單,再處理deny名單。
Allow/Deny from為可以設定允許或拒絕瀏覽的IP或網域
其中相關參數請參考>>目錄權限 (DocumentRoot, Directory)<<
設定完成之後重啟服務就可以套用新的設定了。
AUTHENTICATION
httpd中可以讓使用者必須輸入帳號密碼才可以瀏覽某些特定的網站。
使用的方式為先在httpd.conf中將該網站目錄的權限中的AllowOverride加上AuthConfig參數。
接著到該網站主目錄下建立檔名為.htaccess的檔案,並且在檔案中編輯以下內容。
AuthName為帳密輸入視窗中的提示詞。
AuthType為認證的類型,一般使用Basic這個Apache的預設類型即可
AuthUserFile為認證用帳密檔存放位置,這個檔案基於安全的因素建議不要放在網頁目錄下。
require為允許瀏覽的帳號,此帳號必須存在於帳密檔中。
當.htaccess建立好之後,接著要來建立可瀏覽的使用者帳號。
輸入 #htpasswd -cm [帳密檔存放位置] [使用者名稱] 可以建立使用者。
以及 #htpasswd -m [帳密檔存放位置] [使用者名稱] 可修改使用者的密碼。
帳密檔存放位置必須與.htaccess中AuthUserFile填入的位置相同。
之後該網站當使用者要瀏覽時,就會要求使用者輸入帳號密碼了。