Apache服務(wù)器高級(jí)設(shè)置向?qū)?一)
發(fā)表時(shí)間:2023-08-16 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]目前WWW Server軟件有許多,能運(yùn)行在linux下的也不少,有NCSA HTTPd Server、CERN HTTPd Server、pache、Netscape Fast Track Ser...
目前WWW Server軟件有許多,能運(yùn)行在linux下的也不少,有NCSA HTTPd Server、CERN HTTPd Server、pache、Netscape Fast Track Server、Zeus Server等。這些軟件各有特色:NCSA(美國(guó)伊利諾斯大學(xué)的國(guó)家超級(jí)計(jì)算應(yīng)用中心)是WWW Browser Mosaic發(fā)跡之地,也是Netscape公司的安德森成名的地方;CERN(歐洲原子核研究中心)是WWW的起源地,1989年蒂姆·貝納斯-李正是在這開發(fā)成功了世界上第一個(gè)Web服務(wù)器和客戶機(jī)。這兩家推出的WWW Server功能齊全,成為同類軟件的標(biāo)準(zhǔn),再加上它們都是Freeware,因此剛一推出就大受歡迎。前幾年,在linux下WWW Server軟件使用最多的是NCSA和CERN,但這一兩年來(lái),后起之秀Apache卻獨(dú)領(lǐng)風(fēng)騷,號(hào)稱"WWW Server之王"。在最新的Red Hat、Slackware和 OpenLinux各版本中都包含了Apache。
Apache是在NCSA的基礎(chǔ)上發(fā)展起來(lái)的,因此這二者的配置文件十分相似。
一、 安裝
Apache的安裝十分簡(jiǎn)單。最好在安裝RedHat時(shí),選擇安裝Web Server,這樣即使你對(duì)編譯操作不熟的話,也能輕輕松松把服務(wù)器架設(shè)起來(lái)。
如果你想親自編譯源文件,那么你已經(jīng)不是一個(gè)初學(xué)者,建議你直接去看How-To文檔或其他資料。打開機(jī)器,進(jìn)入X-Window系統(tǒng)后,啟動(dòng)Netscape Navigator,敲入本機(jī)的IP地址,如果出現(xiàn)"It worked"的歡迎頁(yè)面,那說(shuō)明服務(wù)器程序工作正常。你可以進(jìn)行下一步配置工作。在不同的版本下,服務(wù)器默認(rèn)的工作根目錄也不一樣。Red Hat默認(rèn)的是/etc/httpd,配置文件在/etc/httpd/conf目錄下,頁(yè)面文件在/home/httpd目錄下。
二、 設(shè)置httpd.conf、srm.conf、access.conf文件
Apache安裝成功后,在conf子目錄下有四個(gè)文件:httpd.conf、srm.conf、access.conf、magic(請(qǐng)注意:在www-howto文檔中,說(shuō)第四個(gè)文件是mime.types,但在實(shí)際安裝中,在conf子目錄下是magic文件)。httpd.conf是Apache設(shè)置文件中的主文件,httpd程序啟動(dòng)時(shí)會(huì)先讀取httpd.conf。srm.conf是數(shù)據(jù)配置文件,在這個(gè)文件中主要設(shè)置WWW Server讀取文件的目錄、目錄索引時(shí)的畫面、CGI執(zhí)行時(shí)的目錄等等。access.conf是負(fù)責(zé)基本的讀取文件控制,限制目錄所能執(zhí)行的功能及訪問(wèn)目錄的權(quán)限設(shè)置。
下面將簡(jiǎn)單對(duì)這三個(gè)數(shù)據(jù)設(shè)置文件進(jìn)行說(shuō)明。
httpd.conf文件
TransferLog:
如果你想知道你的網(wǎng)站上哪個(gè)頁(yè)面最受來(lái)訪者的歡迎,在一段時(shí)間內(nèi)有多少人訪問(wèn)你的站點(diǎn),你當(dāng)然可以設(shè)置一個(gè)計(jì)數(shù)器,但每頁(yè)都設(shè)計(jì)數(shù)器,太繁瑣而且得到的結(jié)果不太可靠。最好的辦法是查看相應(yīng)log文件,TransferLog命令就是指定當(dāng)瀏覽器要求服務(wù)器傳送文件時(shí)記錄到所設(shè)置的文件,可以根據(jù)此文件查看有哪些用戶看過(guò)哪些HTML文件?捎靡恍┏绦蚍治鲞@個(gè)文件的數(shù)據(jù),得出監(jiān)測(cè)各種有用的數(shù)據(jù)。默認(rèn)的訪問(wèn)log文件是logs/access_log。
ErrorLog:
這個(gè)命令是指定當(dāng)WWW Server運(yùn)轉(zhuǎn)過(guò)程中發(fā)生問(wèn)題時(shí)錯(cuò)誤信息存放到哪個(gè)文件。默認(rèn)是logs/error_log。
VirtualHost:
這個(gè)命令是用來(lái)設(shè)置虛擬主機(jī),即用一臺(tái)主機(jī)執(zhí)行多個(gè)域名的WWW Server。詳細(xì)命令使用將在第三部分詳細(xì)解釋。
srm.conf
DocumentRoot:
指定WWW Server存放html文件的根目錄。WWW Server從硬盤中讀取html文件傳送給瀏覽器,并不是可從任一個(gè)目錄中讀取文件,而是從一個(gè)特定目錄中開始讀取文件,這個(gè)特定的目錄就是由DocumentRoot命令來(lái)指定。red hat5.2中默認(rèn)的目錄是/home/httpd/html。
如果用戶訪問(wèn)http://www.swm.com.cn/netlife/index.html,此時(shí)WWW Server并不是從系統(tǒng)的根目錄下的netlife目錄中讀取index.html,而是從/home/httpd/html/netlife目錄中讀取index.html文件。
UserDir:
如果要在WWW Server上給一些用戶開設(shè)空間,擱放個(gè)人主頁(yè),最好不要把每個(gè)人的html文件都放到DocumentRoot目錄中,用UserDir命令可讓每個(gè)人的頁(yè)面放置在自己的home目錄中。默認(rèn)的目錄是public_html。
如果UserDir設(shè)置的目錄是public_html,而Username是yan,而該user的home目錄是/home/yan,那你訪問(wèn)http://www.swm.com.cn/~yan/intr.html時(shí)所看到的intr.html文件存放在/home/yan/public_html中,而不是/home/httpd/html。
access.conf
如果你有些目錄只想讓某些人訪問(wèn),或者只允許在特定的目錄下允許CGI程序,這時(shí)就要對(duì)access.conf進(jìn)行修改。
Apache的存取控制方式有兩種:一是"整體存取控制",只通過(guò)access.conf來(lái)控制文件的設(shè)置,來(lái)限定目錄所能執(zhí)行的功能及存取目錄的權(quán)限設(shè)置。二是"特定目錄存取控制",在特定目錄中建立存取設(shè)置文件,這個(gè)文件名在srm.conf中的AcessFileName來(lái)決定,默認(rèn)是.htaccess。例如某些目錄中的文件只允許某些人訪問(wèn),那可在該目錄下建立.htaccess文件,當(dāng)WWW Server讀取該目錄時(shí)便會(huì)自動(dòng)讀取.htaccess來(lái)決定是否讀取執(zhí)行或要求口令驗(yàn)證。這兩種方式所使用的命令幾乎相同,而且設(shè)置的格式也相同!
Directory:
說(shuō)明要設(shè)置的目錄,然后再用命令來(lái)設(shè)置目錄的功能和權(quán)限。
Options:
設(shè)置目錄可以執(zhí)行哪些功能。有None、All、ExecCGI、Includes、Indexs、IncludesNoExec、FollowSymlink、SymlinksOwnerMatch等選項(xiàng)。如果想讓某個(gè)目錄可以執(zhí)行CGI程序,那么應(yīng)在Options命令中加上ExecCGI選項(xiàng)。
Require:
設(shè)置可以對(duì)所指定目錄以指定方式來(lái)存取的Users和Group。該命令執(zhí)行后,當(dāng)讀取該目錄數(shù)據(jù)時(shí),系統(tǒng)會(huì)要求輸入U(xiǎn)sername和Password。
忠告:修改完設(shè)置文件后,不要像在Windows工作那樣,重啟機(jī)器使其生效。要記住,你現(xiàn)在linux下,使用linux的好處之一就是不用再見(jiàn)到Windows 98那死機(jī)時(shí)的藍(lán)屏以及不必對(duì)配置文件做了一點(diǎn)點(diǎn)修改就無(wú)聊而又頻繁地重啟機(jī)器。你的WWW服務(wù)器任何時(shí)候都有很多人在訪問(wèn),頻繁地重啟機(jī)器將把你的客人趕跑。要學(xué)會(huì)不重啟機(jī)器,而是重新啟動(dòng)一個(gè)正執(zhí)行的程序(Process,嚴(yán)格一點(diǎn)應(yīng)叫做進(jìn)程、作業(yè))?梢杂胟ill命令來(lái)使程序重新啟動(dòng)。具體kill的使用參見(jiàn)有關(guān)文檔。
先用ps命令查看httpd的pid號(hào),然后用kill命令殺死它,重新啟動(dòng)httpd。具體命令如下:
linux> ps -x
linux> kill -HUP 13668
。13668是假設(shè)httpd的pid號(hào),在實(shí)際使用中,不同的情況值也不同)
這樣就可將httpd重新啟動(dòng),使修改的配置文件生效?赐晟厦嬉淮蠖衙,是不是有些煩,其實(shí)你不了解這些命令也無(wú)所謂,用系統(tǒng)默認(rèn)設(shè)置也能正常工作。