[RHCE] HTTPd Service

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檔案的最後,預設是關閉的。
1327031173-3872385381.jpg-RHCE HTTPd服務

開啟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可以針對被瀏覽的目錄進行權限設定。
1327035668-938379843.jpg-RHCE HTTPd服務

<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的檔案,並且在檔案中編輯以下內容。
1327037511-1451110803.jpg-RHCE HTTPd服務

AuthName為帳密輸入視窗中的提示詞。AuthType為認證的類型,一般使用Basic這個Apache的預設類型即可。AuthUserFile為認證用帳密檔存放位置,這個檔案基於安全的因素建議不要放在網頁目錄下。require為允許瀏覽的帳號,此帳號必須存在於帳密檔中。

當.htaccess建立好之後,接著要來建立可瀏覽的使用者帳號。輸入 #htpasswd -cm [帳密檔存放位置] [使用者名稱] 可以建立使用者。以及 #htpasswd -m [帳密檔存放位置] [使用者名稱] 可修改使用者的密碼。帳密檔存放位置必須與.htaccess中AuthUserFile填入的位置相同。之後該網站當使用者要瀏覽時,就會要求使用者輸入帳號密碼了。

留言