今天我們來看看如何將Web服務器架在Linux系統下。
LINUX系統中常見的有:CERN、NCSA、Apache三種方式,一般最常用的方法就是用Apache。此種方式特點明顯,配置簡明,具有最大的對系統兼容性,以下是用此方式配置基於Linux的WEB服務器的全過程。
一. Apache服務器慨述。
其特征是顯著的:可以運行於所有計算機平台,自然包括UNIX/LINUX系統;集成代理服務器和Perl編程腳本;對用戶的訪問會話過程跟蹤;可對服務器日志定制;還支持虛擬主機及HTTP認證等等。再配合LINUX系統本身的強大,我們沒理由不選擇Apache。
二. 安裝Apache。
一般說來,所有Linux版本應該包含有此軟件包的安裝,如果你在安裝Linux系統沒有安裝此軟件包,可以從安裝光盤或是http://www.apache.org/網站上找到其安裝文件(注意網上有兩種版本:一種是下載後需重新編譯的源代碼,一種是只需解壓就可使用的可執行文件),然後執行安裝即可。
1. 如果你下載的是可執行文件包如:apache_1.2.4.e.tar.gz(當中的數字視你下載的版本而定,此為舉例),那這就相對簡單,比較適合對Linux編譯不熟悉的初級用戶,只需執行:tar xvzf apache_1.2.3.4.tar.gz即可完成安裝。
2. 如果下載的是源代碼如:apache_1.2.4.rpm,則先用rpm –ivh apache_1.2.4.rpm安裝,然後在src目錄下執行“./configure”;接著執行“make”命令編譯Apache;接著將編譯好的可執行文件復制到/etc/httpd/bin目錄下;再將Apache的配置文件:httpd.conf、access.conf 、srm.conf和mime.types復制到/etc/httpd/conf目錄下,才算完成安裝。
三. 配置Apache,實現WEB服務。
其實,到現在你的Linux已經開始WEB服務了,你要做的只需將Linux系統連入互聯網,然後將主頁存放於“/home/httpd”目錄下即可。但為了讓此WEB服務器更有效率的工作,我們還需對其作些設置,具體需要配置的其實就是剛才復制的那4個文件。以下對其主要的兩個配置文件httpd.conf和access.conf作些說明:
1. httpd.conf.
此文件是主配置文件,主要用來設置服務器啟動的基本環境,也就是說它負責安排WEB服務器怎樣運行。其相關設置參數為:
ServerType standalone/inetd:此選項作用就是指定以何種方式運行WEB服務器。其中standalone參數表示WEB服務進程以一個單獨的守候進程的方式在後台偵聽是否有客戶端的請求,如果有就生成一個子進程來為其服務;其效率更高。主要是設置主服務器進程偵聽的特定端口地址,方法為:Port [number] (缺省為80)。
而inetd模式相對standalone來說它更安全,此模式也是RedHat Linux運行Apache的默認方式。如果你的版本不是RedHat,則需在/etc/inetd.conf文件裡加入以下一新行:httpd stream tcp nowait httpd /etc/httpd/bin/httpd –f /etc/httpd/conf/httpd.conf;然後在/etc/services文件裡同樣添加一新行:httpd 80/tcp httpd即可。
ErrorLog:用來指定錯誤記錄的文件名稱和路徑。格式如:ErrorLog /var/httpd/error.log。
ServerRoot:用來指定將服務器的配置及日志文件存於何處。格式如:ServerRoot /etc/httpd。
Server Admin: 設置WEB管理員的E-Mail地址.格式如:Server Admin
[email protected]。
2. srm.conf
這是Apache的資源配置文件,作用為告訴服務器你想在WWW站點上提供的資源及如何提供,其主要參數為:
DocumentRoot: 用來指定主文檔的地址。格式如:DocumentRoot /home/httpd/html。
DirectoryIndex:跟windows平台的IIS設置一樣,用來指定首頁文件的名稱。大家都知道,首頁一般都以“index.html”或“index.htm”作為文件名。當設置為這兩種文件名之後,只要用戶發出WEB請求,即將調入以“index.html”或“index.htm”命名的主頁。格式如:DirecotryIndex index.html index.htm。
經過以上簡單的配置後,你的WEB服務器已經具備基本的功能了。接下來要做的就是重啟WEB服務,使剛才的配置生效,我們可以用以下命令來完成:
/etc/rc.d/init.d/httpd restart
最後,我們來看看基於Apache服務的安全方面。Apache服務器通過認證系統能控制哪些主機可以訪問某些特定的站點。具體來說,它通過兩種方式來實現:
一種是基於主機地址的認證,但由於目前大部分上網用戶使用的都是動態地址,因此此種方式並沒多少實際意義;
另一種方式是基於用戶名/口令的認證方式,不言而喻,此種方式更適合如今的網絡狀況,而對於具體的用戶名/口令認證實現,不在本文討論范圍,大家可以參閱相關資料作進一步學習。