當前位置:開發者網絡 >> 技術教程 >> CGI教程 >> CGI文檔 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
Apache用戶指導手冊<轉>
作者:未知
日期:2003-09-13
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
Apache User's Guide
隨著 LINUX的不斷普及,很多的朋友把REDHAT安裝到了自己的計算機上,從此也就開始了對REDHAT的摸索。我在這裡也把我的一點心得體會告訴大家,希望對大家有所幫助。
Apache 的安裝
通常來說,大家在安裝時可以選擇安裝WEB SERVER ,並在INTERNET SERVICES中開啟httpd這一相服務,這樣系統就會自動的安裝好apache,並且在系統第一次啟動時啟動httpd進程。在作好一些相應的配置後,在你的Xwindows環境下打開NETSCAPE,並在URL中填入localhost 或本機的IP地址,就會訪問到apache的默認的頁面。

如果說你沒有安裝WEB SERVER ,你可以重新安裝並選擇UPDATE,挑選apache的軟件包安裝到本機。當然,如果你想要安裝最新的版本,可以到http://www.apache.org/ 網站上去下載最新的版本。如果是原文件,需要做一些相應的配置,然後編譯原文件。如果是下載的二進制文件,就可以直接配置你的WEB 服務器。至於編譯原文件後和配置工作,我們暫時不提,先講一講在安裝系統時就安裝了apache 的情況下的配置過程。
系統啟動時會去啟動httpd的服務,通常沒有改過配置,httpd是起不來的。報的錯誤是ServerName not idnetify. 這是由於默認的配置沒有指定服務的名稱,這時你可以手動修改配置文件就可以了。具體的方法是:
1.    編輯 /etc/httpd/conf/ 目錄下的httpd.conf文件,找到ServerName 這一項參數,這一行是被註釋掉的(前面有#的符號)。去掉前面的在"#"符號,並在後面填入你的hostname或IP地址。
2.    從新啟動httpd進程。
# /etc/rc.d/init.d/httpd stop
# /etc/rc.d/init.d/httpd start
然後在Xwindows的界面下啟動netscape,在URL中輸入localhost或本機的IP地址,就可以看到apache 的一個頁面了,從這個頁面上你可以看一看關於apache的文檔,學習一下他的有關內容。

這樣一個主頁的進程就配置好了,你將自己的主頁拷貝到/home/httpd 目錄中,再用netsacpe訪問自己的機子,就會發現現在顯示的是你自己的主頁。你的主頁就這樣配置好了,別的機子只要在瀏覽器中填入你的IP地址就可以訪問到你的主頁了。如果你想要有域名的話,就得另外申請了。
注意有時會有下面的情況:當你用NETSACPE訪問了你的頁面,這時,你重新更換默認目錄中的內容,可是不管你如何在NETSCAPE中RELOAD都無法調入你新的內容。
產生這種情況的原因是NETSCAPE直接調用CACHE中的內容,沒有真正的讀取你文檔的內容。解決的方法是在NETSCAPE中清空CACHE。具體的步驟如下:
1.    選擇菜單中的Edit
2.    在最下面選擇 Preference
3.    在左邊的菜單中選擇Advanced
4.    在他的下拉菜單中選擇Cache
5.    點擊 Clear Disk Cache  和 Clear Memory Cache 按鈕。
這樣清空了NETSCAPE 的CACHE後,就可以看到你更新後的頁面了。

http 的命令行參數
httpd 是一個可執行的文件,他的位置是在/usr/bin目錄裡。用這個命令我們可以手動的啟動一個WWW的服務,這樣使得別人可以訪問你的主頁。他的具體參數是:
  -d  serverroot  
這個參數告訴httpd在何處去取啟動時所需的配置參數,serverroot是存放配置文件的命令名。
   -f  config
配置文件的名稱,默認的值是httpd.conf。如果沒有給定目錄,就會到serverroot的目錄中取找這個文件。
   -X
啟動單進程模式。意思是不會產生任何子進程,也就是你只能看到index.html這一頁,點擊上面的鏈接都不會有反應。
   -v
顯示httpd的版本號。
   -l
    顯示編譯進httpd的模塊名稱。
   -?
    顯示httpd 的參數
瞭解了上面的參數後,我們就可以手動的啟動一個服務:
#httpd 杁  /etc/httpd/mywebconf
在 /etc/httpd.mywebconf目錄中存放了你的WEB SERVER 的配置文件,下面就具體的介紹一下該目錄中的配置文件的名稱和內容。
配置文件的內容和參數意思
在配置目錄中有三個文件,分別是:
1.    conf/httpd.conf :
ServerType        :有兩個值可供選擇standalone 和inetd
     Standalone  :
     表示你的httpd進程,是以一個單獨的守護進程(daemon)的方式  
     在後台偵聽是否有客戶端的請求。
Inetd     :
表示你的httpd進程不是以守護進程(daemon)的方式運行,而是由
Inetd 這個 internet services的進程偵聽,一旦有客戶的請求,他會自動的啟動httpd
這個進程來提供相應的服務。
     默認的是Standalone方式,如果你不是對 ARPA Berkeley Services 不是很瞭解的
     話,不要更改。
Port         : 你分配給你的WEB SERVER 的端口號。
Httpd 的默認端口是80,也可以分配給自己的WEB SERVER 一個大於1024 的
端口號。如果你這樣作,你必須在你的URL後面跟上你的端口號才能訪問到你
的頁面。比如你分配給你的服務的端口號是8888,那麼你訪問時需要輸入
http://domainname:8888
ServerAdmin  :服務管理員的email 地址,默認的是本機的root用戶,所以是
root@localhost
ServerRoot   :用來存放服務的配置、出錯和記錄文件的目錄。
BindAddress   :虛擬主機的IP地址。用一台機子虛擬多台機子。
ErrorLog      :用來存放你WEB SERVER的出錯信息的文件。
TransferLog    :用來存放記傳輸過的文件名的記錄文件。
PidFile        :該指定的文件存放了httpd進程的進程號,用來停止WEB SERVER。
ScoreBoardFile  :用來存放進程的信息。
ServerName     :你機子的名稱,如果你有域名,填入你本機的域名。如果沒有,就
填入你的主機名或IP地址。
Timeout        :傳輸或接收的延時。大於這個時間SERVER 會斷開這個鏈接。
KeepAlive      :(on or off)是否允許一個鏈接同時發出多的請求。
KeepAliveTimeout :(default is 15)等待下一個請求的時間。
MaxClients      :(default is 150)允許的最大客戶個數。
通常上面的參數的默認值是不用改的,但是如果你同時在一台機子上開幾個WEB SERVER 時要注意。第一,你要給每一個WEB SERVER 分配不同的port 號。第二,要分別指定他們的errorlog文件和pidfile文件。第三,不懂的參數不要隨意改動,即使改動也要一次改一個,並留有記錄以便恢復。
2.    /conf/access.conf :
主要是對目錄的功能和訪問的控制的設定。下面我針對默認的頁面的配置文件進行說明。該文件的位置是:/etc/httpd/conf/access.conf.
該文件的第一段非註釋部分如下:
<Directory /home>
Options Indexes IncludesNOEXEC
AllowOverride None
</Directory>
大家注意到這一部分是以<Directory /home>開頭,以</Directory>結束的。其中開頭的部分<Directory /home>表示下面的設定是針對 /home 目錄的。Options 這一命令有很多的參數,各參數的功能如下:
All                      所有的選項除了MultiViews功能。
ExecCGI                 開啟執行CGI程序的功能。
FollowSymLinks           開啟一個動態的鏈接,當有客戶訪問到該目錄時會自動
                         的鏈接到另一個相關的目錄中去。
Includes                  開啟服務端的引用功能。
IncludesNOEXEC          開啟服務端的引用功能,但是#exec和CGI程序的引用將
                         被禁止。
Indexes                   如果沒有index.html文件在目錄中,就會顯示文件列表。
SymLinksIfOwnerMatch     只有在鏈接的目標文件或目錄與當前的目錄屬於同一用
                         戶時,才開啟鏈接。
接著是AllowOverride參數,該參數是設定訪問控制的。這裡把他設置成None,表示沒有開啟該功能。
第二部分是:
<Directory /home/httpd/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
第三部分是:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
表示對/home/httpd/cgi-bin 不進行訪問控制,允許執行CGI程序。這就表明這是一個用來存放CGI程序的目錄

3.    /conf/srm.conf
主要是用來指定你的文檔的位置。
第一個參數是:DocumentRoot 。用來指定主文檔的地址。
第二個參數是:UserDir  。用來指定個人主頁的位置。如果你有一個用戶的home目錄為 /home/jon 當在URL中輸入  http://yourdomain/~jon 系統就會到 /home/jon/X/中去取這個用戶的個人主頁。其中X為UserDir 所指定的目錄。
第三個參數是:DirectoryIndex。用來聲明查找的索引文件的名稱。
其他的不改也無防。通常用到的就是上面的幾個選項。

具體示例
需要建立一個開機啟動的web server。假定你的文檔目錄為/home/jon/html。
首先,更改/etc/httpd/conf/access.conf文件的內容。將原文檔的目錄更改為新的文檔目錄。
例如如下的更改:

<Directory /home/httpd/html>          ? <Directory /home/jon/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
<Directory /home/httpd/cgi-bin>         ? <Directory /home/jon/cgi-bin>
AllowOverride None                       
Options ExecCGI
</Directory>
如上做相應的更改,注意 /home/jon/cgi-bin為你的cgi程序的目錄。
接著,修改 /etc/httpd/conf/srm.conf文件。
將DocumentRoot /home/httpd/html 改為DocumentRoot /home/jon/html
最後,修改 /etc/httpd/conf/httpd.conf文件。
將ServerName 這一個參數後面的原來的內容替換為你的本機ip地址或主機名,同時去掉前面的註釋符 「#」。這裡的配置為:
ServerName  jon   (jon 為我的主機名)
從新啟動httpd進程:
#/etc/rc.d/init.d/httpd restart
這樣就做好了所有的配置,用你的Xwindows下的netscape瀏覽器在URL中輸入你的主機名、本機的IP地址或localhost,就可以看到自己的主頁了。要注意的是你的文檔目錄中必須有index.html文件,而且你的超文本文件的後綴名必須是.html。只要沒有改錯 httpd.conf 、srm.conf、 access.conf這三個文件,且httpd進程啟動時沒有報措,一般是不會有問題的。
相關文章: