我們把httpd.conf檔案進行了簡單的注釋,這裡只是把其中注釋了的提出來,便於瀏覽
開始之前:
1、配置和寫檔案名稱時注意:如果您給出檔案名稱以"/"開頭,則伺服器會用絕對目錄。
2、如果給出的檔案名稱不以"/"開頭,如:"logs/foo.log",
而當前伺服器跟目錄是"/usr/local/apache/",
那麼伺服器就會認為這個log檔案在這裡:"/usr/local/apache/logs/foo.log"
3、注意:在整個配置過程中所有的檔案名稱中都要用斜線"/",而不用反斜線"\"。
如:用 "c:/apache" 而不用 "c:\apache" , 這裡跟DOS不一樣.
Apache伺服器的配置指令別分成三個相對集中的部分
1. 配置Apache伺服器在整個運行過程中的環境變數.
2. 配置主伺服器或預設伺服器運行時的詳細介面參數.
3. 設定虛擬伺服器,使得在同一個Apache伺服器上可完成不同IP地址或不同主機名稱的web請求
(即:一台物理上的伺服器可被設定為有很多個IP地址或很多個主機名稱的虛擬伺服器)
第一部分: 環境設定
# 設定伺服器的的啟動方式:獨立啟動(standalone),還是藉由互連網絡伺服程式inetd來啟動。
# 預設值是使用獨立啟動(standalone)。
ServerType standalone
# 設定伺服器目錄,用來存放伺服器的設定檔、錯誤檔案、記錄檔案的目錄。
# 注意:在目錄的最後不能再加斜線"/" 。
ServerRoot "C:/Apache"
# 服務程式啟動時,它把父程式 httpd 的程式碼(process id)存往這個
# log/httpd.pid 檔案。這個檔案名稱可以配合 PidFile 指令加以改變.
PidFile logs/httpd.pid
# 設定Apache伺服器執行程式的記錄檔案。
ScoreBoardFile logs/apache_status
# 下面這兩項看個人的喜好,如果您覺得httpd.conf檔案太長,不好找到需要的東西。
# 那麼您可以將所需的設定放在srm.conf中(它只有幾行),然後在下面開啟它:
# 下面的兩個設定,在標準配置中是開啟的,我們可以不開啟它.
# 去除下一行前面的"#" , 啟用srm.conf
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
# 伺服器與用戶端的最大等待時間
# 如果用戶端在300秒還沒有連上,或者伺服器300秒還沒有傳送資料到用戶端,就會自動斷線。Timeout 300
# 設定是否支援續傳功能.預設是支援
KeepAlive On
# 設定支援續傳功能的數目。數目越多則浪費的硬碟空間越多, 效能也越好。
# 設定為0則沒有限制。
MaxKeepAliveRequests 100
# 設定保持續傳的最大等待時間
# 如果串連上的某位使用者在15秒後還沒有向伺服器發出要求,則他不能使用續傳功能。
KeepAliveTimeout 15
# 設定同時間內子進程數目,為了安全,設定為零.
MaxRequestsPerChild 0
# 設定伺服器使用進程的數目。
# 這是以伺服器的響應速度為準的, 數目太大則會變慢.
ThreadsPerChild 50
# 允許使用另外的Port或IP地址訪問伺服器. 您可以開啟它。
#Listen 3000
#Listen 12.34.56.78:80
# 設定Apache監聽的IP地址,這也是您在本機上的虛擬伺服器的IP地址.
BindAddress 127.0.0.1
# 開啟當前未啟用預定義的模組,這裡除非您真的需要,否則不要更改它
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll
.
# 設定伺服器產生的狀態資訊。如果設定為"On",則產生詳細的資訊.
#ExtendedStatus On
第二部分 詳細介面參數設定
# 設定伺服器獨立使用時監聽的連接埠。
Port 80
# 設定伺服器管理者的E-Mail地址.
ServerAdmin siron@phpstar.com
# 伺服器的主機名稱。如果你有固定的IP地址,則不需要設定
ServerName localhost
# 設定存放網站html檔案的目錄
DocumentRoot "C:/Apache/htdocs"
# 設定/目錄的指令。具體說明如下:
# Option:定義在目錄內所能執行的操作。
# None表示只能瀏覽.
# FollowSymLinks允許頁面串連到別處,
# ExecCGI允許執行CGI,
# MultiViews允許看動畫或是聽音樂之類的操作,
# Indexes允許伺服器返回目錄的格式化列表,
# Includes允許使用SSI。
# 這些設定可以複選。All則可以做任何事,但不包括MultiViews。
# AllowOverride:
# 加None參數表示任何人都可以瀏覽該目錄下的檔案,但不會讀取該檔案。
# FileInfo 允許控制檔案型態之指令的使用,
# AuthConfig 允許驗認指令的使用,
# Indexes 允許控制目錄索引之指令的使用,
# Limit 允許控制存取主機之指令的使用,
# Options 允許控制特定目錄特色之指令的使用.
# 設為 All 的話伺服器將會允許所有的指令.
<Directory />
ptions FollowSymLinks
AllowOverride None
</directory>
# 定義首先顯示的檔案。
# 您可以這樣更改 DirectoryIndex index.html index.htm
DirectoryIndex index.html
# 定義每個目錄存取控制檔案的名稱
AccessFileName .htaccess
# 定義Proxy 伺服器不要緩衝你的頁面. 預設不使用.
#CacheNegotiatedDocs
# 這個指令設定 mime 型態配置檔所在的位置,
# 檔案名稱是相對於 ServerRoot 的, 不建議變更這個檔案.
TypesConfig conf/mime.types
# 伺服器會將錯誤訊息記錄到一個記錄檔去,
# 檔案名稱可以藉由 ErrorLog 指令設定.
# 可以為不同的虛擬機器主機設定不同的錯誤記錄
ErrorLog logs/error.log
# 設定記錄檔的格式
LogFormat "%h %l %u %t \"%r\" %>s %b" common
.
.
.
# Alias 指令使檔案可以存放在 DocumentRoot 之外的本地檔案系統裡
# ScriptAlias 指令與 Alias 指令相同, 只不過它還標記改目錄包含CGI或PHP指令檔案
# AddType 指令以指定的內容型態作為該檔案名稱結尾的檔案的副檔案名稱
Alias /icons/ "C:/Apache/icons/"
Alias /test/ "c:/php/test/"
Alias /admin/ "c:/admin/phpMyAdmin/"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php3 .php3
Action application/x-httpd-php "/php/php.exe"
# AddIcon, AddIconByEncoding and AddIconByType 都
# 是用來設定顯示不同檔案型態所使用的圖示列表;對於每種列
# 出的檔案型態,顯示列出的第一個符合的圖示。
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
# 預設的檔案圖示
DefaultIcon /icons/unknown.gif
# 有問題或錯誤發生的狀況下,可以配置Apache做四種反應
# 1. 輸出自定的(customized)訊息(文本)
#ErrorDocument 500 "The server made a boo boo.
# 2. 重導到某個本地的 URL 以處理該問題/錯誤
#ErrorDocument 404 /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# 3. 重導到某個外部的 URL 以處理該問題/錯誤
#ErrorDocument 402 http://some.other_server.com/subscription_info.html