# 在Microsoft Windows中使用Apache
此文檔闡述了如何在Microsoft Windows平臺上安裝、配置和運行Apache 2.0 。 如果你發現了bug,或者希望以其他方式作出貢獻,請使用我們的[bug報告頁面](http://httpd.apache.org/bug_report.html)。
本文檔的大多數內容假定你是從一個二進制發布版安裝Apache到Windows上。 如果你想自己編譯Apache(可能有助于開發和跟蹤bugs),參看[編譯Windows下的Apache](#calibre_link-273)。
**基于當前的Windows版本狀況,本文檔使用到的縮寫及其意義解釋包括:**
* **Windows NT:** 指所有基于NT核心的Microsoft Windows操作系統的版本,包括Windows NT, Windows 2000, Windows XP, Windows.NET Server 2003及后續版本。
* **Windows 9x:** 指所有定位于家庭使用的Microsoft Windows操作系統的版本,包括 Windows 95 , Windows 98, Windows ME 。
## 對操作系統的要求
Apache 2.0被設計為在Windows NT上運行。它的二進制安裝程序只能在x86處理器上運行,比如Intel和AMD的芯片。Apache可能也能夠運行在Windows 9x上,但是并沒有經過測試, 也不建議在實際工作的系統上這樣使用。
任何情況下都必須確保TCP/IP網絡協議已經安裝。如果在Windows 95上運行,必須安裝"Winsock2"升級補丁。 "Winsock2" for Windows 95可以在[這里](http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp)下載。
如果在NT 4.0上運行,建議安裝Service Pack 6 ,因為Service Pack 4有眾所周知的TCP/IP和Winsock完整性的問題,在以后的Service Pack中解決了這些問題。
## 下載 Apache for Windows
關于Apache最新版本的有關信息可以在[http://httpd.apache.org/download.cgi](http://httpd.apache.org/download.cgi)上找到。那里會列出當前發行版本、 所有最近的alpha和beta測試版本以及鏡像web站點和匿名ftp服務器的信息。
你應該下載帶有`.msi`擴展名的Apache for Windows版本。 這是一個單一的Microsoft Installer文件,包含了Apache ,可以立即安裝并運行。 還有一個單獨的`.zip`文件只打包了源碼, 可以用Microsoft Visual C++ (Visual Studio)工具來編譯。
## 安裝 Apache for Windows
Apache的安裝需要有Microsoft Installer 1.2或更高版本。 在Windows 9x中,你可以從[這里](http://www.microsoft.com/downloads/release.asp?ReleaseID=32831)升級Microsoft Installer到2.0 ,在Windows NT 4.0和2000中,2.0的升級版在[這里](http://www.microsoft.com/downloads/release.asp?ReleaseID=32832)。Windows XP/2003不需要這個升級。
注意,使用這個安裝包不能在同一個機器上安裝兩套Apache 2.0。 但是,在同一個機器上,安裝一個1.3系列**和**一個2.0系列的Apache則沒有問題。 如果你需要在同一個機器上安裝兩套不同的2.0版本, 則必須[用代碼編譯和安裝Apache](#calibre_link-273)
運行已下載的上述Apache `.msi`文件。安裝程序會要求提供下列信息:
1. **Network Domain** 你的服務器已經或者將要注冊的DNS域名。比如你的服務器的全稱DNS域名是`server.mydomain.net` ,你應當在這里輸入:`mydomain.net`
2. **Server Name** 你的服務器的全稱DNS域名,如上情況你應當在這里輸入:`server.mydomain.net`
3. **Administrator's Email Address** 服務器管理員的email地址。這個地址將會在默認的出錯頁面上顯示給客戶端。
4. **For whom to install Apache** 如果你希望Apache在80端口監聽,并被安裝為服務(即使無人登陸,Apache仍將運行),就選擇"`for All Users, on Port 80, as a Service - Recommended`";如果你希望將Apache安裝為個人試驗使用,或者已經有一個運行于80端口的WWW服務器,就選擇"`only for the Current User, on Port 8080, when started Manually`"。
5. **The installation type** 選擇`Typical`會安裝除開發模塊需要使用的源碼和庫以外的所有內容。選擇`Custom`可以自定義安裝哪些項目。完整安裝大約需要13MB磁盤空間,這其中并_不包含_你的網站文件所用空間。
6. **Where to install** 安裝Apache的文件夾,默認為`C:\Program Files\Apache Group`文件夾下的`Apache2`子文件夾。
安裝期間,Apache將會配置你所選擇的安裝目錄下的`conf`文件夾中的文件。 但是如果那個目錄下已有同名文件存在,原有文件將不會被覆蓋, 而相應的新文件將會被加上`.default`擴展名。 所以,舉例來說,如果`conf\httpd.conf`已經存在,那么不會對它做任何改變, 而新版本`conf\httpd.conf`的內容將會被寫入文件`conf\httpd.conf.default` 。 安裝完成以后你應該檢查`.default`文件中的內容看看有沒有不同, 如果必要,更新你原有的配置文件。
而且,如果你已經有一個名為`htdocs\index.html`的文件,它不會被覆蓋掉 (也不會安裝`index.html.default`文件)。 這意味著你在一個舊版本Apache上安裝新版本是安全的 (但是你必須在安裝之前首先停掉原有服務器然后在安裝完成后重新啟動它)。
安裝Apache以后,你應該編輯`conf`目錄下的配置文件。這些文件已在安裝期間被配置好以便Apache能夠從安裝目錄運行,文檔目錄被配置為安裝目錄下的子目錄`htdocs` 。在你開始真正使用之前還有很多選項需要設置。但是為了盡快開始,可以使用安裝時自動配置的配置文件。
## 配置 Apache for Windows
與Unix系統下的版本一樣,Apache使用`conf`目錄下的文件進行配置,但是Windows版本有幾個不同的指令,參見[指令索引](#calibre_link-2)察看全部可用指令。
Apache for Windows主要的不同點是:
* 因為Apache for Windows是多線程的,它并不像Unix版本那樣為每個請求使用一個單獨的進程。 而是通常運行兩個Apache進程:一個父進程,和一個處理請求的子進程。在子進程內部由多個單獨的線程來處理每個請求。
因此與進程管理相關的指令是不同的:
`MaxRequestsPerChild`就像Unix版本中的指令一樣,這條指令控制一個進程退出前將為多少個請求提供服務。 然而,與Unix不同的是,一個進程將為所有請求而不是只為一個請求服務,因此如果設置這條指令,建議將它設為一個很大的值。默認設置 `MaxRequestsPerChild 0` 使得進程從不退出。
**警告: 啟動新的子進程時將會重新讀入服務器配置文件。如果你修改了`httpd.conf` ,新的子進程將有可能不能啟動或者可能得到預期之外的結果。**
`ThreadsPerChild`是一條新的指令,用來告訴服務器應該使用多少個線程,指明了服務器可以立刻處理的最大連接數;如果你的站點有大量的點擊,請確認你設置了足夠大的值。推薦的默認設置是 `ThreadsPerChild 50` 。
* 接收文件名作為參數的指令必須使用Windows文件名而不是Unix文件名。 但是,因為Apache內部使用Unix風格的名字,你必須使用正斜杠而不是反斜杠。可以使用盤符;如果省略盤符,將假定使用Apache可執行文件所在盤符。
* Apache for Windows具有運行時裝入模塊的能力,不需要重新編譯。如果Apach在正常情況下編譯,它會在`\Apache2\modules`目錄下安裝許多可選模塊。 要激活它們或其他模塊,必須使用新的`LoadModule`指令。 舉例來說,要激活狀態模塊,使用下列指令(除了`access.conf`中的狀態激活指令以外):
```
LoadModule status_module modules/mod_status.so
```
也可使用[創建可加載模塊](#calibre_link-370)中的信息。
* Apache也可以加載ISAPI(Internet Server Applications Programming Interface)擴展,例如被Microsoft IIS服務器和其他一些Windows服務器所使用的。[這里有更多相關信息](#calibre_link-151)。注意Apache**不能**加載ISAPI 過濾器。
* 當運行CGI腳本時,Apache查找腳本解釋器是由`ScriptInterpreterSource`指令配置的。
* 由于在Windows下管理具有像`.htaccess`這樣名字的文件是很困難的,你會發現在配置文件中使用`AccessFilename`指令改變它的文件名是很有用的。
* 在Windows NT上,Apache啟動時發生的錯誤將會記入Windows事件日志(event log)。這個機制將在Apache尚不能使用`error.log`文件的時候運作。你可以通過"事件查看器"的MMC接口查看Windows事件日志。
**注意,在Windows 9x上不存在事件日志機制,因此無法記錄啟動錯誤。**
## 以服務方式運行Apache for Windows
Apache僅能夠在Windows NT上作為服務運行。
你可以選擇在安裝Apache時自動將其安裝為一個服務。如果你選擇"for all users",那么Apache將會被安裝為服務。如果你選擇了"only for the Current User",你可以在安裝后手動將Apache注冊為服務。注意,你必須是Administrators組的成員才能成功注冊服務。
使用Apache Service Monitor工具,可以查看和管理你所在網絡上的所有機器上安裝的Apache服務的狀態。為了能夠使用這個工具管理Apache服務,你必須首先自動或手動安裝Apache服務。
你可以在Apache安裝目錄的`bin`子目錄下,使用如下命令將Apache安裝為Windows NT服務:
```
apache -k install
```
如果你想指定服務的名稱,可以使用下面的命令。當你在同一機器上安裝多個Apache服務時,你必須為它們指定不同的名字。
```
apache -k install -n "服務名"
```
如果你想為不同名稱的服務使用不同的配置文件,則安裝時需要指定配置文件:
```
apache -k install -n "服務名" -f "c:\files\my.conf"
```
如果你使用的是第一個命令,也就是除 `-k install` 外沒有其它命令行參數,那么被安裝的服務名稱將是:`Apache2` ,配置文件將使用`conf\httpd.conf` 。
要移除一個Apache服務很簡單:
```
apache -k uninstall
```
或者使用下述命令移除特定名稱的Apache服務:
```
apache -k uninstall -n "服務名"
```
通常,啟動、重啟、關閉Apache服務的方法是使用Apache Service Monitor工具,另外也可以使用控制臺命令:`NET START Apache2` 和 `NET STOP Apache2` 或者通過Windows服務控制面板。在啟動Apache服務之前,你應當使用下面的命令檢查一下配置文件的正確性:
```
apache -n "服務名" -t
```
你可以通過命令行開關來控制Apache服務。要啟動一個已經安裝的Apache服務,可以使用:
```
apache -k start
```
要停止一個已經安裝的Apache服務,可以使用:
```
apache -k stop
```
或
```
apache -k shutdown
```
要重啟一個運行中的Apache服務,強制它重新讀取配置文件,可以使用:
```
apache -k restart
```
默認情況下,Apache服務將被注冊為以本地系統用戶(`LocalSystem`帳號)身份運行。`LocalSystem`帳號沒有網絡權限,不能通過任何Windows安全機制訪問網絡,包括文件系統、命名管道、DCOM或secure RPC ,但是它對于本地資源卻擁有廣泛的特權。
**永遠不要把網絡權限授予`LocalSystem`帳號!如果你需要Apache能夠訪問網絡資源,最好按照下述方法為Apache另外建立一個單獨的帳號。**
你應該建立一個單獨的帳號來運行Apache服務。特別是在必須通過Apache訪問網絡資源的時候,我們更加強烈建議你這樣做。
1. 創建一個普通域用戶帳號,并牢記對應的密碼。
2. 授予這個新建的帳號`作為服務登陸`和`作為操作系統一部分運行`權限。在Windows 2000/XP/2003上你可以使用"組策略"或通過"本地安全策略"的MMC接口來完成這個操作。
3. 確認新建的帳號是Users組的一個成員。
4. 確認新建的帳號具有讀取和執行(RX)所有文檔和腳本目錄(例如:`htdocs`和`cgi-bin`)的權限。
5. 確認新建的帳號對Apache的`logs`目錄具有讀/寫/刪除(RWD)的權限。
6. 確認新建的帳號對`Apache.exe`二進制文件具有讀取和執行(RX)的權限。
一個很好的實踐經驗是賦予運行Apache服務的用戶讀取和執行(RX)整個Apache2目錄的權限,并且對`logs`子目錄具有讀/寫/刪除(RWD)的權限。
如果你允許使用這個帳號作為一個用戶和服務登錄,你就可以用這個帳號登錄上去測試執行腳本、讀取web頁的權限,還可以通過控制臺窗口啟動Apache 。如果這樣工作正常,你又執行了上述的操作,那么Apache就能夠正常地作為服務運行了。
**錯誤代碼2186**是一個很好的提示,說明你需要檢查"登陸為"選項,因為服務器不能訪問必要的網絡資源。
當啟動Apache服務時你可能會遇到一個來自Windows服務管理器的錯誤信息。 例如,如果你想使用控制面板中的服務小程序啟動Apache,可能會得到下面這條信息:
```
Could not start the Apache2 service on \\COMPUTER
Error 1067; The process terminated unexpectedly.
```
只要啟動Apache出錯你就會得到這個錯誤信息。為了弄清是什么引起了錯誤, 你應該遵循[作為控制臺程序運行Apache](#calibre_link-372)中的建議。
對于讓Apache在Windows 9x下以類似Windows NT服務的方式運行有一些支持。都是_高度試驗性_的,即使能夠工作,Apache軟件基金會將不會證實其可靠性和未來的支持。繼續進行你自己的冒險吧!
這兩種"服務"有相當大的區別:
如果你輸入下列命令,Apache會嘗試啟動,如果成功他將在后臺運行:
```
Apache -n "服務名" -k start
```
例如,通過桌面的快捷方式運行,如果服務啟動成功一個控制臺窗口會快速閃過并立刻消失。如果啟動時Apache檢測到比如`httpd.conf`文件中有不正確的設置這樣的問題,則控制臺窗口會保持可見。這樣將顯示一個有助于追蹤錯誤原因的錯誤信息。
Windows 9x不支持`NET START`或者`NET STOP`命令,因此你在命令中必須使用Apache的服務控制選項。你可能希望為每個命令設置一個快捷方式以便你能夠只需要從開始菜單或者桌面一點就能執行所需的操作。
Apache和Windows 9x沒有提供讓Apache服務以特定的具有網絡權限的用戶身份運行的支持。實際上,Windows 9x在本地機器上根本沒有提供安全性。這就是Apache軟件基金會從不支持使用Windows 9x作為公用httpd服務器的原因。這個便利存在的唯一目的是協助用戶開發web內容和學習Apache服務器,或者也許在一個安全的、私有的網絡上充當intranet服務器。
## 作為控制臺程序運行Apache
雖然通常推薦將Apache作為服務來運行,但是在某些情況下從命令行運行反而更加容易。在Windows 9x上,從命令行運行Apache是推薦的方法,因為這些系統中缺乏可靠的服務支持。
可以使用下列命令將Apache作為控制臺程序從命令行運行:
```
apache
```
Apache將會一直保持運行,直到被Ctl+C組合鍵中斷。
你還可以在安裝后通過 `開始按鈕 --> 程序 --> Apache HTTP Server 2.2.xx --> Control Apache Server` 在控制臺中運行Apache 。這將會打開一個控制臺窗口并在其中啟動Apache 。如果你沒有將Apache安裝為服務,該窗口將一直保持打開,直到被Ctl+C組合鍵中斷,并在幾秒鐘后退出。如果你已經將Apache安裝為服務,那么那個快捷方式將會啟動服務,如果Apache服務已經啟動了,則什么也不做。
你可以在另外一個控制臺窗口中輸入以下命令停止正在運行的Apache服務:
```
apache -k shutdown
```
這種方法比使用Ctl+C組合鍵更好,因為它可以讓Apache完成所有當前的操作并且優雅的清理所占用的資源。
Apache可以被從新啟動,這將導致它重新讀取配置文件,重啟前所有正在進行的操作都將不被打斷的完成。可以使用下面的命令重啟Apache :
```
apache -k restart
```
請熟悉Unix版本Apache的用戶注意,這些命令對應于Unix命令 `kill -TERM _pid_` 和 `kill -USR1 _pid_` 。命令中之所以使用 `-k` 選項,就是為了提醒用戶這是源自Unix下的`kill`命令。
如果Apache控制臺窗口在啟動后出乎意料的立即關閉,請打開一個新的控制臺窗口,切換到Apache的安裝目錄下bin子目錄中,運行`apache`命令并讀取錯誤信息。然后再到日志目錄中查看`error.log`文件以尋找可能的配置錯誤。如果你的Apache采用的是默認安裝,這些命令應當是:
```
c:
cd "\Program Files\Apache Group\Apache2\bin"
apache
```
等候Apache停止,或者使用Ctl+C組合鍵,然后輸入下列內容:
```
cd ..\logs
more < error.log
```
可以在命令行中為Apache指定一個配置文件,有兩種方法可以在命令行中指定配置文件:
* `-f` 可以指定一個絕對路徑或相對路徑的配置文件:
```
apache -f "c:\my server files\anotherconfig.conf"
```
或
```
apache -f files\anotherconfig.conf
```
* `-n` 可以指定已安裝的Apache服務所使用的配置文件:
```
apache -n "服務名"
```
在這兩種情況下,必須在配置文件中設置正確的`ServerRoot`值。
如果你沒有使用 `-f` 或 `-n` 指定配置文件的路徑,Apache將會使用硬編碼在服務器內的路徑,比如:`conf\httpd.conf` 。這個內置的路徑是相對于安裝目錄的,要想檢查這個內置的路徑,你可以通過 `-V` 開關調用Apache ,查看名為`SERVER_CONFIG_FILE`的變量值:
```
apache -V
```
Apache將會按照下列順序檢查`ServerRoot`值:
1. 通過 `-C` 命令行開關指定的`ServerRoot`值。
2. 通過 `-d` 命令行開關指定的值。
3. 當前工作目錄。
4. 安裝二進制文件時在注冊表中登記的項目。
5. 編譯進二進制文件的值,該值默認為:`/apache` ,你可以使用 `apache -V` 命令查看顯示出來的`HTTPD_ROOT`變量的值。
在安裝過程中,將會在注冊表中新建一個版本特定的注冊表鍵。這個鍵的位置取決于安裝類型。如果你選擇的是"for all users",那么將位于`HKEY_LOCAL_MACHINE`分支下,如下所示:
```
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Group\Apache\2.0.43
```
如果你選擇的是"for the current user only",那么將位于`HKEY_CURRENT_USER`分支下,其中的內容取決于當前登陸的用戶,如下所示:
```
HKEY_CURRENT_USER\SOFTWARE\Apache Group\Apache\2.0.43
```
這個鍵已經被編譯進了服務器,使得你可以測試新版本而又不影響老版本。當然,你必須注意不要在同一個目錄中安裝兩個不同的版本。
如果你沒有使用二進制安裝,在某些情況下Apache將會抱怨注冊表鍵丟失。如果在這種情況下服務器仍然可以找到正確的配置文件,那么就可以安全的忽略它。
這個注冊表鍵其實就是包含`conf`子目錄的`ServerRoot`目錄。Apache將要從中讀取`httpd.conf`文件。如果該配置文件中又包含了一個`ServerRoot`指令,并且指向的目錄與注冊表中登記的不同,Apache將以配置文件中的指令為準。如果你復制了配置文件或者整個Apache目錄到一個新的位置,你要千萬記得修改`httpd.conf`中的`ServerRoot`指令,使其指向正確的位置。
## 安裝的測試
啟動Apache運行以后(不管是控制臺窗口還是作為服務), 它會在80端口上進行監聽(除非你改變了配置文件中的`Listen`指令。 要連接到服務器訪問默認頁面,啟動一個瀏覽器并輸入下列URL :
```
http://localhost/
```
應該出現一個歡迎頁面,并且頁面上有到Apache用戶手冊的鏈接。 如果什么都沒有發生或是得到了一個錯誤,檢查`logs`子文件夾中的 `error.log`文件。如果你的主機沒有聯網或者DNS配置有嚴重問題,你也許需要輸入這樣的URL :
```
http://127.0.0.1/
```
如果你將Apache配置為在非80端口監聽(比如:8080),你應當使用下面的URL明確指定端口:
```
http://127.0.0.1:8080/
```
一旦你的基本配置可以工作了,你應該編輯`conf`目錄下的文件來恰當地配置Apache 。 此外,如果你改變了作為NT服務運行的Apache的配置,你應該首先嘗試從命令行啟動來保證能夠正確地啟動Apache服務。
因為Apache**不能**與其他TCP/IP應用程序共享同一端口,你可能需要先停止或者卸載或者重新配置某些特定的服務。這包括(但不限于)別的web服務器和BlackIce那樣的防火墻。如果你只能在禁止其他服務的情況下啟動Apache ,那么需要重新配置Apache或者其他程序使它們不監聽同一個TCP/IP端口。
- Apache HTTP Server Version 2.2 文檔 [最后更新:2006年3月21日]
- 版本說明
- 從1.3升級到2.0
- 從2.0升級到2.2
- Apache 2.2 新特性概述
- Apache 2.0 新特性概述
- The Apache License, Version 2.0
- 參考手冊
- 編譯與安裝
- 啟動Apache
- 停止和重啟
- 配置文件
- 配置段(容器)
- 緩沖指南
- 服務器全局配置
- 日志文件
- 從URL到文件系統的映射
- 安全方面的提示
- 動態共享對象(DSO)支持
- 內容協商
- 自定義錯誤響應
- 地址和端口的綁定(Binding)
- 多路處理模塊
- Apache的環境變量
- Apache處理器的使用
- 過濾器(Filter)
- suEXEC支持
- 性能方面的提示
- URL重寫指南
- Apache虛擬主機文檔
- 基于主機名的虛擬主機
- 基于IP地址的虛擬主機
- 大批量虛擬主機的動態配置
- 虛擬主機示例
- 深入研究虛擬主機的匹配
- 文件描述符限制
- 關于DNS和Apache
- 常見問題
- 經常問到的問題
- Apache的SSL/TLS加密
- SSL/TLS高強度加密:緒論
- SSL/TLS高強度加密:兼容性
- SSL/TLS高強度加密:如何...?
- SSL/TLS Strong Encryption: FAQ
- 如何.../指南
- 認證、授權、訪問控制
- CGI動態頁面
- 服務器端包含入門
- .htaccess文件
- 用戶網站目錄
- 針對特定平臺的說明
- 在Microsoft Windows中使用Apache
- 在Microsoft Windows上編譯Apache
- Using Apache With Novell NetWare
- Running a High-Performance Web Server on HPUX
- The Apache EBCDIC Port
- 服務器和支持程序
- httpd - Apache超文本傳輸協議服務器
- ab - Apache HTTP服務器性能測試工具
- apachectl - Apache HTTP服務器控制接口
- apxs - Apache 擴展工具
- configure - 配置源代碼樹
- dbmmanage - 管理DBM格式的用戶認證文件
- htcacheclean - 清理磁盤緩沖區
- htdbm - 操作DBM密碼數據庫
- htdigest - 管理用于摘要認證的用戶文件
- httxt2dbm - 生成RewriteMap指令使用的dbm文件
- htpasswd - 管理用于基本認證的用戶文件
- logresolve - 解析Apache日志中的IP地址為主機名
- rotatelogs - 滾動Apache日志的管道日志程序
- suexec - 在執行外部程序之前切換用戶
- 其他程序
- 雜項文檔
- 與Apache相關的標準
- Apache模塊
- 描述模塊的術語
- 描述指令的術語
- Apache核心(Core)特性
- Apache MPM 公共指令
- Apache MPM beos
- Apache MPM event
- Apache MPM netware
- Apache MPM os2
- Apache MPM prefork
- Apache MPM winnt
- Apache MPM worker
- Apache模塊 mod_actions
- Apache模塊 mod_alias
- Apache模塊 mod_asis
- Apache模塊 mod_auth_basic
- Apache模塊 mod_auth_digest
- Apache模塊 mod_authn_alias
- Apache模塊 mod_authn_anon
- Apache模塊 mod_authn_dbd
- Apache模塊 mod_authn_dbm
- Apache模塊 mod_authn_default
- Apache模塊 mod_authn_file
- Apache模塊 mod_authnz_ldap
- Apache模塊 mod_authz_dbm
- Apache模塊 mod_authz_default
- Apache模塊 mod_authz_groupfile
- Apache模塊 mod_authz_host
- Apache模塊 mod_authz_owner
- Apache模塊 mod_authz_user
- Apache模塊 mod_autoindex
- Apache模塊 mod_cache
- Apache模塊 mod_cern_meta
- Apache模塊 mod_cgi
- Apache模塊 mod_cgid
- Apache模塊 mod_charset_lite
- Apache模塊 mod_dav
- Apache模塊 mod_dav_fs
- Apache模塊 mod_dav_lock
- Apache模塊 mod_dbd
- Apache模塊 mod_deflate
- Apache模塊 mod_dir
- Apache模塊 mod_disk_cache
- Apache模塊 mod_dumpio
- Apache模塊 mod_echo
- Apache模塊 mod_env
- Apache模塊 mod_example
- Apache模塊 mod_expires
- Apache模塊 mod_ext_filter
- Apache模塊 mod_file_cache
- Apache模塊 mod_filter
- Apache模塊 mod_headers
- Apache模塊 mod_ident
- Apache模塊 mod_imagemap
- Apache模塊 mod_include
- Apache模塊 mod_info
- Apache模塊 mod_isapi
- Apache模塊 mod_ldap
- Apache模塊 mod_log_config
- Apache模塊 mod_log_forensic
- Apache模塊 mod_logio
- Apache模塊 mod_mem_cache
- Apache模塊 mod_mime
- Apache模塊 mod_mime_magic
- Apache模塊 mod_negotiation
- Apache模塊 mod_nw_ssl
- Apache模塊 mod_proxy
- Apache模塊 mod_proxy_ajp
- Apache模塊 mod_proxy_balancer
- Apache模塊 mod_proxy_connect
- Apache模塊 mod_proxy_ftp
- Apache模塊 mod_proxy_http
- Apache模塊 mod_rewrite
- Apache模塊 mod_setenvif
- Apache模塊 mod_so
- Apache模塊 mod_speling
- Apache模塊 mod_ssl
- Apache模塊 mod_status
- Apache模塊 mod_suexec
- Apache模塊 mod_unique_id
- Apache模塊 mod_userdir
- Apache模塊 mod_usertrack
- Apache模塊 mod_version
- Apache模塊 mod_vhost_alias
- Developer Documentation for Apache 2.0
- Apache 1.3 API notes
- Debugging Memory Allocation in APR
- Documenting Apache 2.0
- Apache 2.0 Hook Functions
- Converting Modules from Apache 1.3 to Apache 2.0
- Request Processing in Apache 2.0
- How filters work in Apache 2.0
- Apache 2.0 Thread Safety Issues
- 詞匯和索引
- 詞匯表
- 指令索引
- 指令速查
- 模塊索引
- 站點導航