Apache HTTP Server 2.0 安裝和配置
Posted on 2006-10-20 13:19 太清劍客 閱讀(1591) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): ServerInstall and Run Apache 2 as a Service
- 雙擊文件apache_2.0.48-win32-x86-no_ssl.msi將自動(dòng)安裝Apache HTTP Server 2.0.48,假設(shè)安裝目錄是%APACHE2_HOME%。安裝過(guò)程中有以下選項(xiàng):
- for All Users, on Port 80, as a Service
- only for the Current User, on Port 8080, when started Manually
- 如果已經(jīng)有一個(gè)老版本的Apache服務(wù)器(如Apache 1.3)被安裝成了啟動(dòng)服務(wù)并占用了端口80,可以進(jìn)入老版本Apache服務(wù)器的安裝目錄(Apache.exe文件所在的目錄),用以下命令將之關(guān)閉和移除:
apache -k shutdown apache -k uninstall
- 如果沒(méi)有把Apache 2安裝成啟動(dòng)服務(wù),可以使用以下命令增加Apache2啟動(dòng)服務(wù):
%APACHE2_HOME%\bin\apache -k install
- Apache 2安裝成功后會(huì)在Windows啟動(dòng)時(shí)自動(dòng)在端口80啟動(dòng)。同時(shí)啟動(dòng)的還有ApacheMonitor(該程序被加在開(kāi)始/程序/啟動(dòng)菜單中)。ApacheMonitor可以監(jiān)視Apache 2的運(yùn)行狀況,并提供方便的啟動(dòng),關(guān)閉和重啟操作,類(lèi)似于Apache 1.3中的apmgr.exe。對(duì)于熱中于手動(dòng)操作的用戶(hù)來(lái)說(shuō),也可以退出ApacheMonitor,并將之從開(kāi)始/程序/啟動(dòng)菜單中刪除,這并不影響Apache 2的運(yùn)行。
- 手動(dòng)啟動(dòng)、關(guān)閉和重啟Apache 2的方法如下:
%APACHE2_HOME%\bin\apache -k start %APACHE2_HOME%\bin\apache -k restart %APACHE2_HOME%\bin\apache -k shutdown
- 可能出現(xiàn)的問(wèn)題和解決方法:
- 當(dāng)啟動(dòng)、重啟或關(guān)閉Apache 2時(shí)出現(xiàn)提示:No installed service named apache2 - Apache 2沒(méi)有被安裝成啟動(dòng)服務(wù),需使用命令 %APACHE2_HOME%\bin\apache -k install 將之安裝成啟動(dòng)服務(wù)。
- 當(dāng)啟動(dòng)Apache 2時(shí)出現(xiàn)提示:Could not bind to address 0.0.0.0:80 - 有其它程序占用了80端口,它們可能是老版本的Apache,也可能是其它的HTTP服務(wù)器(如Windows的IIS),需要將它們先關(guān)閉才能在端口80啟動(dòng)Apache 2。
Apache 2 Configuration
通過(guò)修改Apache的配置文件%APACHE2_HOME%/conf/httpd.conf可以定置自己的Apache服務(wù)器。注意修改該配置文件前要先停止正在運(yùn)行的Apache服務(wù)器。
在相應(yīng)位置增加以下行可以定義自己的文件系統(tǒng)容器,設(shè)置自己的本地文件系統(tǒng)到網(wǎng)絡(luò)空間的映射:
Alias /homepage "D:/heavyz/homepage" <Directory "D:/heavyz/homepage"> Options Indexes FollowSymLinks -ExecCGI DirectoryIndex index.php index.html home/index.php home/index.html Order allow,deny Allow from all Deny from enpc.fr </Directory>
以上語(yǔ)句通過(guò)<Directory>標(biāo)簽定義了一個(gè)文件系統(tǒng)容器,并使用Alias指令把該容器映射到/homepage的URL上去。在該文件系統(tǒng)容器中還定義了一系列屬性。對(duì)上述配置的解釋如下:
- <Directory "D:/heavyz/homepage"> and </Directory> : 定義本地文件系統(tǒng)容器,該容器位于D:/heavyz/homepage中。
- Alias /homepage "D:/heavyz/homepage" : 當(dāng)URL中的路徑名為/homepage時(shí),將映射到該文件系統(tǒng)容器中。
- Options Indexes FollowSymLinks -ExecCGI : 當(dāng)搜索不到默認(rèn)首頁(yè)時(shí),允許列出目錄的內(nèi)容;允許目錄中的符號(hào)鏈;不允許執(zhí)行CGI腳本。
- DirectoryIndex index.php index.html home/index.php home/index.html : 按照列出的四個(gè)本地URL搜索默認(rèn)首頁(yè),最先找到的文件作為首頁(yè)返回。
- Order allow,deny : Order規(guī)定了HTTP客戶(hù)的訪(fǎng)問(wèn)權(quán)限。先允許再禁止(allow,deny)表明allow中允許的訪(fǎng)問(wèn)權(quán)限優(yōu)先級(jí)低于deny中禁止的訪(fǎng)問(wèn)權(quán)限。
- Allow from all : 先允許來(lái)自任何地方的HTTP客戶(hù)的訪(fǎng)問(wèn)請(qǐng)求。
- Deny from enpc.fr : 再禁止域名為enpc.fr的HTTP客戶(hù)的訪(fǎng)問(wèn)請(qǐng)求(國(guó)立路橋?qū)W校ENPC的主機(jī)不允許訪(fǎng)問(wèn)該頁(yè)面),對(duì)于這些客戶(hù),服務(wù)器返回403 Forbidden信息。注意Order中定義了deny的優(yōu)先級(jí)高于allow,故該指令將生效。
假設(shè)在本地文件系統(tǒng)上存在文件D:\heavyz\homepage\index.html,重新啟動(dòng)Apache服務(wù)器,并訪(fǎng)問(wèn)頁(yè)面:http://localhost/homepage將可以訪(fǎng)問(wèn)到上述文件(前提是你不在ENPC的網(wǎng)絡(luò)內(nèi))。
關(guān)于Apache配置的更詳細(xì)的說(shuō)明可以參考Apache HTTP Server Documentation Project。
Comments
Apache返回的頁(yè)面總是ISO-8859-1編碼,在顯示gb2312中文或者UTF-8 unicode時(shí)很不方便,如何修正?
修改配置文件%APACHE2_HOME%/conf/httpd.conf,將以下行注釋掉:
AddDefaultCharset ISO-8859-1
怎樣讓Apache在另一個(gè)端口上(比如81)偵聽(tīng)?
首先卸載Apache Service:
%APACHE2_HOME%\bin\apache -k uninstall然后修改配置文件%APACHE2_HOME%\conf\httpd.conf的以下行:
Listen 80 --> Listen 81重新安裝Apache Service:
%APACHE2_HOME%\bin\apache -k install
References
- Apache HTTP Server Project: http://httpd.apache.org
- Apache HTTP Server Documentation Project: http://httpd.apache.org/docs-project
- kajaa的Apache 2.0手冊(cè)中文版翻譯項(xiàng)目: http://www.douzhe.com/ApacheManual