AllowOverride的屬性功能:
-- Limit 允許蓋掉原聯結屬性得範圍
-- Authconfig 可做密碼設定:如:藏密
-- Options 可將該目錄之Options 功能覆蓋
-- FileInfo 可將該目錄之任何文件型態覆蓋,如defaultType,ErrorType
-- Indexs 可將該目錄之顯式列印功能覆蓋,如:AddIcon,HeaderName.ReadName
Options的屬性功能:
-- Indexs 當無index.html可用列印目錄方式顯式,如:center3 homepage 若用 -Indexs 則看不見 listing
-- FollowSymLinks 加一屬性如+FollowSymLinks可允許使用symbol link 時,依舊可瀏覽
-- ExecCGI 當為 +ExecCGI可執行 CGI SCRIPT
-- Includes 可執行Server site include,若為 +Includes
-- IncludesNOEXEC 可執行Server site include,若為 +Includes,但不可執行CGI
-- None 沒有任何功能可用
-- All 均可
以 +, - 符號可加或刪減其功能,若未給符號,則只有初步功能
Limit的屬性功能:
-- GET 限定取得文件法,如:<Limit GET>
-- POST 限定cgi post方法,如:<Limit POST>
-- order 限定拒絕或允許的次序
-- deny 限定拒絕範圍,如deny from all 或 deny from .mycompany.com
-- allow 限定允許範圍,如:allow from all 或 allow from 192.153.22
AuthConfig 之方法 & .htaccess 範例:
<Files index.html>
#與Directory同,但在 .htaccess 只能用他 AuthName Members-only 設定僅 Member 才可入,
#僅為名稱 AuthType Basic 解碼方法 AuthUserFile /home1/users/center/center21/public_html/wwwclass/bau
#密碼表位置(絕對位置) AuthGroupFile /home1/users/center/center21/public_html/wwwclass/group
#同群表位置
<Limit GET>
#限制取件
require user center21
#bau的密碼表有很多user,但....
order allow,deny
#先允許在拒絕
allow from all
#允許全部
</Limit>
<Files>
密碼表之產生方法:
找到及取得htpasswd程式
執行htpasswd -c filename username (第一次,以後僅htpasswd filename username)
修改需要的 user (在 require 後)
require用法:
require user center21 center3
require group cc cv ee
‧參數語法一覽表
語法:ServerType [standalone/inted]
-- 說明:定義 httpd 的啟動方式
-- standalone:開機後立即執行,效率較高,http獨立執行,即使沒有瀏覽者連入本網站,
-- 都會啟動httpd以隨畤提供服務。
-- inted:需要時才臨時啟動,監聽所有進入本機請求的port,然後核對port所對應的服務,
-- 以決定要用哪一個服務,再執行httpd,當請求完結就將httpd結束。
語法:Port [編號]
-- 說明:指定 httpd 服務的閘道,一般是 80,2000 以後的 URL 就必須寫成 http://xx.xx.xx.xx:2000/
語法:HostNameLookups [on/off]
-- 說明:設定要不要把自動搜尋 HostName 的功能打開
-- 設定為on時,則會記錄進入此網站使用者的主機名稱(例如fo23.flag.com.tw)
-- 設為off,則僅記錄使用者主機的IP(例如203.74.205.23)
語法:User [username/#uid]
-- 說明:設定 httpd 這程式的執行者是誰
-- 一般是 nobody,也可以是已註冊的 user,若用 user id 要加上 # 號
語法:Group [groupname/#gid]
-- 說明:設定 httpd 這程式的執行者所屬的群組
-- 一般是 nogroup,此 group 必須要存在於 /etc/group 中
語法:Server Admin [E-mail 位址]
-- 說明:設定此 web 站管理者的 E-mail位址,在系統發生錯誤時,方便與管理者聯絡
語法:ServerRoot [目錄的絕對路徑]
-- 說明:設定 apache 所安裝的絕對路徑,所有網站相關的襠案都存放在此目錄中
-- 舉例:ServerRoot /usr/local/apache
語法:BindAddress [*/IP/FQDN]
-- 說明:強迫 apache 只對某個特定位址反應, * 則是對所有位址都反應
-- 如果要採用 Virtual Host 虛擬主機功能,務必要設為 BindAddress *
-- 說明:設定要以哪一個 address 來服務,可使用 IP 或完整的主機名稱(FQDN),* 是全部接受
-- 當使用虛擬主機功能畤,一台電腦上可能有幾張網路卡分別設定不同的IP。
-- BindAddress設為*,表示系統會監聽每一個IP的連線;設為IP值,則僅監聽該IP的連線;
-- 亦可設定為 domain name,僅監聽來自該處的連線
語法:ErrorLog [檔案名稱]
-- 說明:記錄執行 apache 時所產生的錯誤訊息,如果檔名不是以 / 開頭,那就不會連接到 ServerRoot 的路徑下
-- 舉例:ErrorLog logs/error_log
-- 將錯誤訊息放在 /usr/local/apache/logs/error_log 中
-- apache 的 root directory 在 /usr/local/apache
語法:LogLevel [debug/info/notice/warm/error/crit/alert/emerg]
-- 說明:設定 error_log 中記錄的錯誤訊息種類,建議值是 warm,越右邊越簡略
語法:CustomLog [檔案名稱][combined/common/referer/agent]
-- 說明:同 ErrorLog 部份 ,是屬於傳輸記錄,並起設定該記錄所記錄的資訊
-- 舉例:CustomLog logs/access_log common (common 是建議值)
-- 越右邊的參數越簡略
-- 若 user 多時,此檔會變很大,要小心管理
-- 設定每筆記錄的楁式,有 combined、common、referer與 agent四種
-- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
-- LogFormat "%h %l %u %t \"%r\" %>s %b" common
-- LogFormat"%{Referer}@->%U"referel
-- LogFormat”%{User-agent}i"agent
-- The location of the access logfile (Common Logfile Format)
-- If this does not start with /, ServerRoot is prepended to it.
-- CustomLog/usr/local/apacHe/Var/log/access_log common
-- 存取記錄的位置,使用Comon格式
-- If you would like to have an agent and referer logfile uncomment the
-- following directives.
-- CustomLog/usr/local/apache/var/log/referer_logreferel
-- 記錄瀏覽者經由本網站所連結出丟的網址,使用refere「自訂格式
-- CustomLog/usr/local/apache/var/log/agent_logagent
-- 記錄瀏覽者連到本網站所使用的瀏覽器版本與種類,使用agent自訂格式
-- If you prefer a single logfile with access, agent and referer information
-- (Combined Logfile Format) you can use the following directive.
-- CustomLog /usr/local/apache/var/log/access_log combined
語法:PidFile [pid-filename]
-- 說明:記錄 httpd 啟動時的 PID,以方便管理員的管理;方便重新啟動時做參考,
-- 這樣就不必用 ps 來尋找
-- 舉例:PidFile logs/httpd.pid
-- PidFile /usr/local/apache/var/run/httpd.pid ←紀錄httpd的 PID
語法:ScoreBoardFile [檔案名稱]
-- 說明:紀錄被使用過的檔案
-- 舉例:ScoreBoardFile logs/apache_runtime_status
語法:ServerName [主機名稱]
-- 說明:設定該伺服器的 Domain Name ,此名稱必須是已經向貴網域的 DNS 註冊。
-- 舉例:ServerName http://www.hmes.kh.edu.tw ← 若沒有一個登記的DNS name,則請改為IP
語法:CacheNegotiatedDocs
-- 說明:當使用者藉 Proxy 來讀取 Web Server 時,Apache Httpd 會送出 Pragma:
-- no-cache 的檔頭使得 Proxy Server 不會把他留在 cache 中。
語法:Timeout [秒數]
-- 說明:設定 httpd 等待使用者下一個指令的時間,如果在此時間內使用者沒有回應,
-- 則終止服務,如果網路速度慢,時間設長一些。
-- 舉例:Timeout 300
語法:KeepAlive [on/off]
-- 說明:設定是否接受使用者之連續請求。
語法:MaxKeepAliveRequests [數目]
-- 說明:設定能接受之最大連續請求量,如果連續請求超過此數量, server 會自動踢掉。
-- 舉例:MaxKeepAliveRequests 100 ←每次連線可提出要求數量,設為0表示不限次數,頇設為100
語法:KeepAliveTimeout [秒數]
-- 說明:設定使用者連續請求等待的時間上限,如果 user 連續請求的時間超過此數,則不再執行此請求
-- 舉例:KeepAliveTimeou 15 ←下個要求如果超過多少秒還未到達,則視為連線結束
語法:MaxSpareServers [數量] MinSpareServers [數量]
-- 說明:設定閒置來等待服務的伺服器數量,當系統的閒置個數小於此設定時,系統會開啟更多的 server 來服務;
-- 當系統的閒置個數大於此設定時,多餘的個數會被刪掉;如果 web 使用率高,應加大 MinSpareServers
-- 舉例:MaxSpareServers 10 MinSpareServers 5
語法:StartServers [數量]
-- 說明:一開始驅動 apache httpd 時,閒置等待服務的伺服器數量
-- 舉例:StartServers 5 ←(執行ps-aux指令就可以看到這5個serverprocesses)
語法:MaxClients [數量]
-- 說明:設定最多能提供給幾個 user 同時連線
-- 舉例:MaxClients 150 ←因為同時連進來的數目大多時,會降低系統存取的效能,
-- 可設定此數值限制同時連線進來的數目,若您的系統CPU很快、記憶體很多且效能很好時,
-- 可以考慮將此值調高.否則就降低一點
語法:MaxRequestsPerChild [數量]
-- 說明:設定每個子程序所能接受的最大服務次數,當達到此數目時,子程序會自動關閉
-- 舉例:MaxRequestsPerChild 30
語法:ProxyRequests [On/Off]
-- 說明:開啟或關閉 Proxy 的功能,內定值是關閉,大部份情況也是關閉。用標準安裝時,
-- Apache並沒有將 proxy 模組加入,若需要此功能,請參考INSTALLS檔的誽明。
語法:<VirtualHost [hostname]>..</VirtualHost>
-- 說明:虛擬主機的設定;在做此設定之前,必須有支援 multipule address 或有一片以上的網路卡
-- 舉例:
-- NameVirtualHost 203.72.230.212
#一定要設,apache 1.3以上才有的改變
-- <VirtualHost wwwa.hmes.kh.edu.tw>
#第一部份
-- ServerAdmin webadmin@hmes.kh.edu.tw
#設定虛擬主機的管理者信箱,不一定要和本機的網站管理者相同
-- DocumentRoot /www/docs/
#指定虛擬主機的網站主目錄
-- ServerName wwwa.hmes.kh.edu.tw
#設為 VirtualHost 的名稱,指定虛擬主機的URL
-- ErrorLog logs/?? ??
#虛擬主機發生錯誤時要記錄在哪個目錄
-- TransferLog logs/??
#虛擬主機存取記錢要存放的目錄
-- </VirtualHost>
#第二個 DNS ## 第二部份
-- <VirtualHost wwwb.hmes.kh.edu.tw>
-- ServerAdmin webadmin2@hmes.kh.edu.tw
-- DocumentRoot /www/docs2/
-- ServerName wwwb.hmes.kh.edu.tw
-- ErrorLog logs/??
-- TransferLog logs/??
-- </VirtualHost>
語法:DocumentRoot [目錄名稱]
-- 說明:設定在沒有特定指定文件安裝目錄的情況下,伺服器的文件安裝的目錄;
-- 也就是 httpd.conf 尚未設定 VirtualHost 時,他人直接用 http 與 server
-- 連線時,伺服器要輸出的資料所放的位置
-- 舉例:DocumentRoot /usr/local/apache/share/htdocs
語法:UseDir [目錄名稱]
-- 說明:若有提供給 user 放置個人首頁時,必須將自己的首頁放置在自己的目錄中,
-- 當其他人瀏覽時,只要以 http://xxx.xxx.xxx.xxx/~username 就可以瀏覽個人網頁
-- 舉例:UserDir Public_html
語法:DirectoryIndex [檔名1][檔名2]
-- 說明:設定使用者連入網站時,在不指定瀏覽檔案的情況下,第一個瀏覽的檔案名稱。
-- 通常是使用者所看到的第一頁資料
-- 舉例:DirectoryIndex index.htm index.html
語法:FancyIndexing [on/off]
-- 說明:如果找不到 DirectoryIbdex 所指定的檔案時,要不要把該目錄資料轉換成html 格式呈現出來。
-- 呈現方式要參考 access.conf 中 <Directory ..>..</Directory>,可以用 IndexOptions 來設定。
-- 舉例:Fancyindexing on ←從瀏覽器中顯示網站目錄的檔案列表時(例如找不到index.htm檔時
-- 就會出現檔案列表),此值設為on,則會包括檔案類型的小圖示,看起來比較漂亮;若設為off,
-- 則僅單純地列出檔名,小圖示都放在 /usr/local/apache/icons目錄中
語法:AddIconByEncoding [圖形檔位置][MIME-encoding 方式]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,會根據所列出檔案的
-- MIME-encoding 格式在檔名前面加上特定的圖形檔作為標籤以供辨識。
-- 舉例:AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
語法:AddIconByType [圖形檔位置] [MIME-Type 種類]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,會根據所列出檔案的
-- MIME-Type 在檔名前面加上特定的圖形檔作為標籤以供辨識。
-- 舉例:AddIconByType (TXT,/icons/text.gif) text/
語法:AddIcon [圖形檔位置] [MIME-Type 種類]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,會根據所列出檔案的
-- 副檔名,在檔名前面加上特定的圖形檔作為標籤以供辨識。
-- 舉例:AddIcon /icons/binary.gif .bin .exe
語法:DefaultIcon [圖形檔位置]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,如果檔案無法分辨其
-- 格式或是類型,在檔名前面所要加上的圖形。
-- 舉例:DefaultIcon /icons/unknown.gif
語法:AddDescription "說明" [檔名]
-- 說明:可為檔案加上註解:
-- 舉例:AddDescription "Apache original page" apache.htm1
-- AddDescription "Hello my friend" web01.tif
語法:ReadmeName [檔案名稱]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,所一起列出的說明內容
-- ,一般附在目錄清單的下方。
-- 舉例:ReadmeName README ←此檔會秀在檔案列表的結尾.需有README.html
語法:HeaderName [檔案名稱]
-- 說明:當 FancyIndexing 為 on ,且必須列出目錄資訊時,所一起列出的說明內容
-- ,一般附在目錄清單的上方。
-- 舉例:HeaderName HEADER ←此檔會秀在檔案列表的開頭.需有HEADER.html
語法:IndexIgnore [檔案名稱]
-- 說明:當 FancyIndexing 為 on,且必須列出目錄資訊時,目錄中哪些檔案不要列出。
-- 舉例:IndexIgnore.??*~*#HEADER*README*RCS ← 遇到這些檔名時不要列出
-- 例如前面的README.html與HEADER.html
語法:AccessFileName [檔案名稱]
-- 說明:設定當使用者以 http 讀取該目錄及以下目錄時,必須要經過使用者帳號與密
-- 碼的認證過程,而這些密碼所存放的檔案名稱
-- 舉例:AccessFileName .htaccess !!! .htaccess 已放有帳號和密碼,所以當
-- FancyIndexing 設為on 時要小心,務必將 .htaccess 設入 IndexIgnore 中
語法:TypesConfig [/path/mime.types]
-- 說明:設定各種檔案類型關聯的位置,可將網頁中所包含的各種檔案類型通知瀏覽器,
-- 讓瀏覽器知道使用何種軟體來處理檔案
語法:DefaultType [MIME 種類]
-- 說明:當伺服器無法辨別的 MIME 檔案類型時,一般宣告為何種 MIME 格式
-- 舉例:DefaultType text/plain ←當不認得文件的類型時,則當成一般文字
語法:AddEncoding [MIME-encoding 形式] [壓縮的種類]
-- 說明:設定檔案壓縮格式,讓瀏覽器抓下來之後,可以自動解壓縮並直接提供給使用者瀏覽
-- 舉例:AddEncoding x-gzip gz ←當瀏覽器遇到.gzip、.gz副檔名的檔案時,會自動予以解壓縮
語法:Redirect [檔案名稱]
-- 說明:可重新導向連結的位址...edu.tw/myfile/ ,但現在已無該目錄存在了,
-- 則可加入下面這一行,將該連結自動導向到另一個連結:
-- Redirect /myfi1el http://www.xxx.com/yyy
語法:Alias [虛擬目錄][實際目錄]
-- 說明:設定實際目錄至虛擬目錄,可將原本很長的路徑簡化
-- 舉例:Alias /luck ”/usr/local/apache/htdocs/manual/luck/”
-- 原本需要用http://www.xxx.com/manual/1uck 才能連到的網頁,現在僅需使用
-- http://www.xxx.com/luck 即可。但有一點要特別注意,在前面的那一項 /luck/,
-- 如果有加上後面的那一個斜線畤,則URL的最後一定也要加上斜線,否則會找不到
語法:ScriptAlias [虛擬目錄][實際目錄]
-- 說明:設定哪一個目錄包括server端的script檔案,通常為CGI script。Apache的/cgi-bin/目錄裡面
-- 預設是空的,您若有需要可自行放入CGI script
語法:AddType [MIME-type 種類]
-- 說明:增加一個沒有設定於 mime.types 中的其他 MIME-type
-- 舉例:AddType application/x-httpd-php3 .phtml
-- 可在不修改 mime.types 情況下,在此增加 mime types
語法:AddHandler [MIME-type 種類]
-- 說明:類似AddType的語法,不過這裡設定的是可執行檔,一般是 CGI
-- 舉例:AddHandler cgi-script .cgi ←使用副檔名為.cgi的檔案為CGI script
-- AddType text/html .shtml
-- AddHandler server-parsed .shtml ←允許使用副檔名為.shtml 的檔名(應用於SSI),
-- server將一些特殊標籤轉換為真正的內容
-- AddHandler imap-file map ←允許網頁中使用需要利用CGI處理的影像地圖
語法:ErrorDocument [錯誤編號][檔案/文字說明]
-- 說明:自訂系統傳給使用者的錯誤訊息
-- 舉例:ErrorDocument 404 /missing.html
-- 或 ErrorDocument 404 "找不到您要的檔案..."
-- 當以文字說明時,務必加上 " 號
留言列表