X

apache 部份參數說明

本文最新 url Apache 1.x版 部份參數說明(I) 38, 39 就是其它兩部份.
非常棒的一份文件. Part I ~ III
一定要轉載過來好好學習.


以下轉載自: apache 部份參數說明
AllowOverride 的屬性功能
AllowOverride Limit 允許蓋掉原聯結屬性得範圍
AllowOverride Authconfig 可做密碼設定:如:藏密
AllowOverride Options 可將該目錄之Options 功能覆蓋
AllowOverride FileInfo 可將該目錄之任何文件型態覆蓋,如:DefaultType,ErrorType
AllowOverride 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


part II
# 語法: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 多時,此檔會變很大,要小心管理
# 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
# 設定每筆記錄的楁式,有 combined、common、referer與 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>
# <VirtualHost wwwb.hmes.kh.edu.tw> ##第二個 DNS ## 第二部份
# ServerAdmin webadmin2@hmes.kh.edu.tw
# DocumentRoot /www/docs2/
# ServerName wwwb.hmes.kh.edu.tw
# ErrorLog logs/??
# TransferLog logs/??
# </VirtualHost>


Part III
# 語法: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/myfi1e
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 "找不到您要的檔案...
# 當以文字說明時,務必加上 " 號

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.