Apache HTTP Server是Apache軟件基金會的一個開放源碼的網頁服務器,可以在大多數計算機操作系統中運行,由於其多平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。
一、下載
下載地址:http://www.apachehaus.com/cgi-bin/download.plx
二、配置
2.1 下載下來的zip後綴的程序包,解壓出來,然後自定義名稱放在相應的位置上,我是在服務器的D盤根目錄下,命名爲:Apache,即D:\Apache\ ,該目錄下包含bin、conf、htdocs、lib等目錄及文件;
2.2 配置環境變量,在系統變量path的末尾加入:;D:\Apache22\bin (注意是追加,不是覆蓋)
2.3 配置httpd.conf
編輯根程序目錄下conf/httpd.conf的文件裏面的內容:
Define SRVROOT "d:\Apache24"
修改爲
Define ServerRoot "d:\Apache"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
注:我只簡單的更改其中的兩處,生產環境下,需要根據實際情況,進行相應的調整配置文件;
三、安裝
以管理員身份運行開始-運行-輸入cmd,進入DOS窗口後,首先切換到Apache的程序目錄:
C:\Users\Administrator>d:
D:\>cd Apache\bin
D:\Apache\bin>httpd -k install
D:\Apache22\bin>httpd -k start
Other Command line options:
Stop Apache httpd -k stop
Restart Apache httpd -k restart
Uninstall Apache Service httpd -k uninstall
Test Config Syntax httpd -t
Version Details httpd -V
Command Line Options List httpd -h
四、驗證
打開瀏覽器,在地址欄輸入:http://localhost/ ,如果能正常打開網站信息,即說明已成功部署了。
主要想告訴大家配置站點在www目錄和非www目錄的區別。
第一步:打開配置文件httpd-vhosts.conf【我的路徑是D:\apache\conf\extra\httpd-vhosts.conf】,複製文件中最後一個代碼段:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "c:/Apache23/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
粘貼到文件末尾,修改跟目錄和虛擬主機域名:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "E:\workspace\flyox_xt"
ServerName charming.f-ox.com.cn
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
PS : 把這一段直接粘貼在httpd.conf文件末尾也是可以的,但是建議大家不要這麼做,顯的很凌亂。
第二步:打開配置文件httpd.conf,這個相信大家都很熟悉,在文件末尾添加如下代碼,引入第一步的文件:
Include "D:\program\wamp\bin\apache\Apache2.3.14\conf\extra\httpd-vhosts.conf"
第三步:在httpd.conf文件中Ctrl+F,輸入搜索內容DocumentRoot找到下面的代碼:
<Directory "D:/program/wamp/www/">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
複製粘貼在這段代碼下面【其實放在這個文件的那個位置都行,有人說放在末尾,我建議大家就放到這個下面】,把路徑改爲自己的路徑。
<Directory "E:/workspace/flyox_xt/">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
注:這一步主要是針對沒有配置站點在www目錄下的,如果源碼放在www目錄下就不需要這步。
PS:這段代碼的作用就是把源碼文件在httpd文件中寫明權限。
第四步:重啓apache。
NameVirtualHost *:80
#<VirtualHost *:80>
# ServerName *
# DocumentRoot d:/www/1/
#<\VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/www/2/
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot D:/www/4/
ServerName www.west4.com
<Directory "D:/www/4/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
參數選項:
-d serverroot
將ServerRoot指令設置初始值爲serverroot。它可以被配置文件中的ServerRoot指令所覆蓋。其默認值是/usr/local/apache2 。
-f config
在啓動中使用config作爲配置文件。如果config不以"/"開頭,則它是相對於ServerRoot的路徑。其默認值是conf/httpd.conf 。
-k start|restart|graceful|stop|graceful-stop
發送信號使httpd啓動、重新啓動或停止 。
-C directive
在讀取配置文件之前,先處理directive的配置指令。
-c directive
在讀取配置文件之後,再處理directive的配置指令。
-D parameter
設置參數parameter ,它配合配置文件中的<IfDefine>段,用於在服務器啓動和重新啓動時,有條件地跳過或處理某些命令。
-e level
在服務器啓動時,設置LogLevel爲level 。它用於在啓動時,臨時增加出錯信息的詳細程度,以幫助排錯。
-E file
將服務器啓動過程中的出錯信息發送到文件file 。
-R directory
當在服務器編譯中使用了SHARED_CORE規則時,它指定共享目標文件的目錄爲directory 。
-h
輸出一個可用的命令行選項的簡要說明。
-l
輸出一個靜態編譯在服務器中的模塊的列表。它不會列出使用LoadModule指令動態加載的模塊。
-L
輸出一個指令的列表,幷包含了各指令的有效參數和使用區域。
-M
輸出一個已經啓用的模塊列表,包括靜態編譯在服務器中的模塊和作爲DSO動態加載的模塊。
-S
顯示從配置文件中讀取並解析的設置結果(目前僅顯示虛擬主機的設置)
-T
在啓動/重啓的時候跳過根文件檢查 (該參數在Apache 2.2.17及其以後版本有效)
-t
僅對配置文件執行語法檢查。程序在語法解析檢查結束後立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果還指定了"-D DUMP_VHOSTS",則會顯示虛擬主機配置的詳細信息。
-v
顯示httpd的版本,然後退出。
-V
顯示httpd和APR/APR-Util的版本和編譯參數,然後退出。
-X
以調試模式運行httpd 。僅啓動一個工作進程,並且服務器不與控制檯脫離。
下列參數僅用於Windows平臺:
-k install|config|uninstall
安裝Apache爲一個Windows NT的服務;改變Apache服務的啓動方式;刪除Apache服務。
-n name
指定Apache服務的名稱爲name
-w
保持打開控制檯窗口,使得可以閱讀出錯信息。