Apache_User_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/ 網站上去下載最新的版本。如果是原文件,需要做一些相應的配置,然後編譯原文件。如果是下載的二進制文件,就可以?

苯優渲媚愕腤EB 服務器。至於編譯原文件後和配置工作,我們暫時不提,先講一講在安裝系統時就安裝了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進程啓動時沒有報措,一般是不會有問題的。

發佈了68 篇原創文章 · 獲贊 5 · 訪問量 4706
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章