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