




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十二章ApacheWeb服務(wù)器本章學(xué)習(xí)目標(biāo)⊙ Apache的安裝和簡(jiǎn)單配置⊙ 訪問控制、認(rèn)證、授權(quán)的配置⊙ Apache的日志管理⊙ 動(dòng)態(tài)站點(diǎn)及虛擬主機(jī)的配置12.1ApacheWeb服務(wù)器概述WWW是WorldWideWeb(環(huán)球信息網(wǎng))的縮寫,也可以簡(jiǎn)稱為Web,中文名字為“萬維網(wǎng)”。通過萬維網(wǎng),人們只要通過使用簡(jiǎn)單的方法,就可以很迅速方便地取得豐富的信息資料。12.1.1WWW服務(wù)簡(jiǎn)介WWW簡(jiǎn)介WWW的發(fā)展和特點(diǎn)于計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,信息的獲取變得非常及時(shí)、迅速和便捷。1993年,WWW的技術(shù)有了突破性的進(jìn)展,它解決了遠(yuǎn)程信息服務(wù)中的文字顯示、數(shù)據(jù)連接以及圖像傳遞的問題,使得WWW成為Internet上最為流行的信息傳播方式。Web服務(wù)器簡(jiǎn)介WWW服務(wù)器,又稱為Web服務(wù)器主要功能:利用應(yīng)用層提供的HTTP協(xié)議、HTML文檔格式、瀏覽器統(tǒng)一資源定位器(URL)等技術(shù)提供網(wǎng)上信息瀏覽服務(wù)。世界上常用的Web服務(wù)器:Apache,MicrosoftIISIBMWebSphereBEAWebLogicIPlanetApplicationServerOracleIAS12.1.2Apache發(fā)展史Apache音譯為阿帕奇,是北美印弟安人的一個(gè)部落,叫阿帕奇族,名字“Apache”出現(xiàn)在軟件的早期版本中,因?yàn)樗且粋€(gè)“補(bǔ)丁”服務(wù)器,來自于源代碼開放的NCSAHTTPdWeb服務(wù)器的補(bǔ)丁。在當(dāng)前的Internet上,Apache是應(yīng)用最廣泛的Web服務(wù)器。NCSAHTTPd項(xiàng)目終止一段時(shí)間以后,許多人為該代碼編寫了許多補(bǔ)丁,修補(bǔ)程序中的問題并添加想要的功能。該軟件的代碼隨處可見,人們可以自由使用,但是完全沒有人管理。一段時(shí)間后,BobBehlendorf建立集中存儲(chǔ)補(bǔ)丁的機(jī)構(gòu),從而誕生了Apache項(xiàng)目。早期的Apache服務(wù)器由ApacheGroup來維護(hù),直到1999年6月ApacheGroup在美國德拉瓦市成立了非盈利性組織的公司,即Apache軟件基金會(huì)(ApacheSoftwareFoundation,ASF)。12.2Apache的默認(rèn)配置安裝ApacheWeb服務(wù)器:可以采取RPM軟件包安裝和源碼編譯安裝兩種方式圖形界面下利用軟件包管理器來進(jìn)行自動(dòng)安裝,該安裝方式其實(shí)仍屬于RPM軟件包安裝。12.2.1安裝和啟動(dòng)Apache使用軟件包管理器進(jìn)行安裝若當(dāng)前的系統(tǒng)是XWindow圖形界面,則可以使用軟件包管理器來直接安裝Apache,同時(shí)還可以安裝與其相關(guān)的一些軟件包,該方式簡(jiǎn)單直觀。啟動(dòng)進(jìn)入Linux圖形界面,單擊“主菜單”—>“系統(tǒng)設(shè)置”—>“添加/刪除應(yīng)用程序”,選擇“萬維網(wǎng)服務(wù)器”,并在其欄目中可以選擇安裝Apache的一些附加軟件包,如PHP解釋器、Perl解釋器、MySQL和PostgreSQL基于Apache的基本驗(yàn)證模塊等等,如圖12-1所示。圖12-2
Apache服務(wù)器測(cè)試界面使用RPM軟件包進(jìn)行安裝Shell環(huán)境下,可用RPM軟件包來安裝ApacheWeb服務(wù)器。安裝之前,檢查當(dāng)前系統(tǒng)是否已經(jīng)安裝了Apache。
[root@localhost
root]#rpm-qhttpdchkconfig命令:自動(dòng)運(yùn)行Apache服務(wù)器,默認(rèn)情況不自動(dòng)啟動(dòng)沒有安裝:Apache服務(wù):先下載或復(fù)制RPM軟件包httpd-X.X.X…-i386.rpm到主目錄下,采用以下命令進(jìn)行安裝。[…root]#rpm-ivh
httpd-X.X.X…-i386.rpm系統(tǒng)內(nèi)已有Apache:升級(jí)
,下載最新的RPM軟件包升級(jí)[…root]#rpm-Uvh
httpd-X.X.X…-i386.rpm源代碼編譯安裝下載Apache的源代碼包或復(fù)制到/usr/local/src目錄中采用以下步驟進(jìn)行配置、編譯和安裝[…root]#cd/usr/local/src#將源碼包解壓縮[…src]#tar
zxvfhttpd-2.2.4.tar.gz#顯示軟件包中的文件信息[…src]#cdhttpd-2.2.4[…h(huán)ttpd-2.2.4]#./configure--prefix=/usr/local/apache2--enable-so--with-mpm=prefork--enable-modules=”setenvifrewritedeflatevhost_aliasalias”#檢查配置信息,成功后顯示config.status:executingdefaultcommands[…h(huán)ttpd-2.2.4]#make//然后就對(duì)源碼進(jìn)行編譯,會(huì)耗一段時(shí)間[…h(huán)ttpd-2.2.4]#makeinstall//安裝Apache采用源碼方式安裝Apache配置文件和相關(guān)文檔均安裝在指定的/usr/local/apache2目錄下面配置文件存放在/usr/local/apache2/conf目錄下網(wǎng)頁文件存放在/usr/local/apache2/htdocs目錄下,它是默認(rèn)Web站點(diǎn)的根目錄日志文件存放在/usr/local/apache2/logs目錄下Apache提供的應(yīng)用程序、啟動(dòng)腳本等均存放在/usr/local/apache2/bin目錄中12.2.2httpd.confhttpd.conf:Apache的配置文件在Apache啟動(dòng)時(shí),自動(dòng)讀取配置文件的內(nèi)容。配置文件內(nèi)容改變后,只有重啟httpd服務(wù)或者重新啟動(dòng)Linux才會(huì)生效。整個(gè)配置文件總體上劃分為三部分:第一部分是全局環(huán)境設(shè)置第二部分是服務(wù)器的Web站點(diǎn)基本配置第三部分是虛擬主機(jī)段。12.2.3.htaccess配置文件.htaccess文件:Apache服務(wù)器上的一個(gè)設(shè)置文件一個(gè)文本文件:可以使用任何文本編輯器進(jìn)行編寫。.htaccess文件提供了針對(duì)目錄改變配置的方法功能:設(shè)置網(wǎng)頁密碼、設(shè)置發(fā)生錯(cuò)誤時(shí)出現(xiàn)的文件、改變首頁的文件名(如index.html)、禁止讀取文件名、重新導(dǎo)向文件、加上MIME類別、禁止列目錄下的文件等。.htaccess文件簡(jiǎn)介在需要針對(duì)目錄改變服務(wù)器的配置,而對(duì)服務(wù)器系統(tǒng)沒有root權(quán)限時(shí),應(yīng)該使用.htaccess文件。如果服務(wù)器管理員不愿意頻繁修改配置,則可以允許用戶通過.htaccess文件自己修改配置.htaccess是一個(gè)完整的文件名上傳.htaccess文件:必須使用ASCII模式,并使用chmod命令改變權(quán)限為:644(rw-r--r--)。每一個(gè)放置.htaccess的目錄和其子目錄都會(huì)被.htaccess影響。啟用.htaccess文件(1) 設(shè)置文件名稱必須保證在主配置文件中包含如下的配置語句:AccessFileName.htaccess<Files~"^\.htaccess">Orderallow,denyDenyfromall</Files>(2)控制在.htaccess文件中可以使用的指令組要控制在.htaccess文件中可以使用的指令組,需要在主配置文件中使用AllowOverride指令。如書上表12-2所示,列出了可以在AllowOverride指令所使用的指令組。當(dāng)在主配置文件中配置了對(duì).htaccess文件的啟用和控制之后,接下來就可以在需要覆蓋主配置文件的目錄下生成.htaccess文件。.htaccess文件中可以使用的配置指令取決于主配置文件中AllowOverride指令的設(shè)置。圖12-3 未使用.htaccess文件圖12-4 使用.htaccess文件12.2.4配置Web站點(diǎn)為了讓本地計(jì)算機(jī)上擁有帳戶的每個(gè)用戶都能建立自己?jiǎn)为?dú)的Web站點(diǎn)可以修改主配置文件httpd.conf來為每個(gè)用戶配置相應(yīng)的站點(diǎn)。圖12-5 個(gè)人Web站點(diǎn)配置12.3Apache的高級(jí)配置Apache提供三個(gè)指令配置訪問控制:allow:定義允許訪問列表deny:定義拒絕訪問列表Order:指定允許訪問與拒絕訪問的順序訪問控制指令在主配置文件的容器中均生效,如Location容器,Directory容器,F(xiàn)iles容器等。12.3.1訪問控制圖12-6 未配置訪問控制圖12-7 已配置訪問控制12.3.2認(rèn)證和授權(quán)認(rèn)證配置指令如表12-3所示,可用于主配置文件中的Directory容器,或存在于.htaccess文件中。認(rèn)證配置指令語法說明AuthNameAuthName
區(qū)域名稱定義受保護(hù)區(qū)域名稱AuthTypeAuthTypeBasic或Digest使用的認(rèn)證方式AuthGroupFileAuthGroupFile
文件名認(rèn)證組文件的位置AuthUserFileAuthUserFile
文件名認(rèn)證口令文件的位置授權(quán)配置配置認(rèn)證后,還需要給授權(quán)給指定的認(rèn)證組或用戶。授權(quán)的指令為require,使用格式如表12-4所示。命令格式說明requireuser用戶名[用戶名]授權(quán)給一個(gè)或多個(gè)用戶requiregroup組名[組名]授權(quán)給一個(gè)或多個(gè)組requirevalid-user授權(quán)給認(rèn)證口令文件中的所有用戶管理認(rèn)證文件(1)創(chuàng)建新的認(rèn)證口令文件:htpasswd-c認(rèn)證口令文件名用戶名該命令在創(chuàng)建認(rèn)證口令文件的同時(shí),會(huì)向其中添加一條用戶記錄。(2)修改認(rèn)證口令文件:htpasswd
認(rèn)證口令文件名用戶名該命令可以添加或修改認(rèn)證口令文件中的記錄htpasswd命令并沒有提供刪除用戶記錄的參數(shù),可以手動(dòng)修改認(rèn)證口令文件,刪除相應(yīng)的用戶記錄。Apache沒有提供創(chuàng)建認(rèn)證組文件的命令,可以手動(dòng)創(chuàng)建該文本文件,格式如下:組名:用戶名用戶名…在認(rèn)證組文件中指定的用戶名必須先添加到認(rèn)證口令文件中。圖12-8認(rèn)證授權(quán)配置應(yīng)用12.3.3頁面重定向某站點(diǎn)進(jìn)行目錄結(jié)構(gòu)更新時(shí),未知這一變化的用戶再次使用原來的URL進(jìn)行訪問,會(huì)出現(xiàn)“頁面不存在”的錯(cuò)誤信息,這時(shí)就要配置頁面重定向,來讓用戶可以繼續(xù)使用原來的URL進(jìn)行訪問,并且可以告知用戶這一變化。頁面重定向在httpd.conf中配置命令為:redirect[錯(cuò)誤響應(yīng)代碼]用戶請(qǐng)求的URL[重定向的URL]12.4Apache日志管理Apache日志功能:內(nèi)建記錄服務(wù)器活動(dòng)的功能。如果Apache的安裝方式是默認(rèn)安裝,服務(wù)器一運(yùn)行就會(huì)有兩個(gè)日志文件生成。這兩個(gè)文件是access_log和error_log。訪問日志:access_log記錄了所有對(duì)Web服務(wù)器的訪問活動(dòng)12.4.1Apache日志訪問12.4.2日志配置訪問日志文件的位置實(shí)際上是一個(gè)配置選項(xiàng)。檢查httpd.conf配置文件,可以看到該文件中有如下這行內(nèi)容:
CustomLog/usr/local/apache/logs/access_logcommonCustomLog指令:指定了保存日志文件的具體位置以及日志的格式。指令中的路徑:是日志文件的路徑。配置訪問日志錯(cuò)誤日志Apache的標(biāo)準(zhǔn)日志。位置和內(nèi)容錯(cuò)誤日志:文件名字error_log,其位置可以通過ErrorLog指令設(shè)置:
ErrorLoglogs/error.logLogLevel指令設(shè)置:日志文件記錄信息級(jí)別的高低控制日志文件記錄信息的數(shù)量和類型定義日志格式使公共日志格式本身也重新用定制日志格式定義。定制日志文件的格式涉及到兩個(gè)指令,即LogFormat指令和CustomLog指令
12.5虛擬主機(jī)“虛擬主機(jī)”:在一個(gè)機(jī)器上運(yùn)行多個(gè)網(wǎng)站虛擬主機(jī)可以是“基于IP”的,也可以是“基于域名”基于IP的虛擬主機(jī)使用連接的IP地址來決定相應(yīng)的虛擬主機(jī)。基于域名的虛擬主機(jī)相對(duì)比較簡(jiǎn)單12.5.1虛擬主機(jī)概述12.5.2基于IP地址的虛擬主機(jī)每個(gè)基于IP的虛擬主機(jī)必須擁有不同的IP地址。通過配備多個(gè)真實(shí)的物理網(wǎng)絡(luò)接口來達(dá)到這一要求使用虛擬界面來達(dá)到這一要求,這種功能一般被稱作“IP別名”用ifconfig命令來進(jìn)行設(shè)置。圖12-9
IP相同、端口號(hào)不同(81)的虛擬主機(jī)圖12-10
IP相同、端口號(hào)不同(82)的虛擬主機(jī)圖12-11端口號(hào)相同、IP地址不同的虛擬主機(jī)圖12-12端口號(hào)相同、IP地址不同的虛擬主機(jī)12.5.3基于域名的虛擬主機(jī)基于域名的虛擬主機(jī),可以讓多個(gè)域名對(duì)應(yīng)一個(gè)Web服務(wù)器,其配置相對(duì)比較簡(jiǎn)單。圖12-13基于域名的虛擬主機(jī)12.6動(dòng)態(tài)站點(diǎn)簡(jiǎn)介CGI(公共網(wǎng)關(guān)接口,CommonGatewayInterface)定義了網(wǎng)站服務(wù)器與外部?jī)?nèi)容協(xié)商程序之間交互的方法通常是指CGI程序或者CGI腳本,是在網(wǎng)站上實(shí)現(xiàn)動(dòng)態(tài)頁面的最簡(jiǎn)單而常用的方法。12.6.1基于CGI的動(dòng)態(tài)站點(diǎn)讓CGI程序能正常運(yùn)作,配置Apache以允許CGI的執(zhí)行,方法:(1)ScriptAliasScriptAlias指令:使Apache允許執(zhí)行一個(gè)特定目錄中的CGI程序。當(dāng)客戶端請(qǐng)求此特定目錄中的資源時(shí),Apache假定其中文件都是CGI程序并試圖運(yùn)行。ScriptAlias指令形如:ScriptAlias/cgi-bin//usr/local/apache/cgi-bin/(2)用Options顯式地允許CGI的執(zhí)行Options指令:顯式地允許特定目錄中CGI的執(zhí)行:<Directory/usr/local/apache/htdocs/somedir>Options+ExecCGI</Directory>上述指令使Apache允許CGI文件的執(zhí)行。AddHandler指令:告訴服務(wù)器所有帶有cgi或pl后綴的文件是CGI程序:
AddHandler
cgi-scriptcgipl12.6.2基于PHP的動(dòng)態(tài)站點(diǎn)PHP:(HypertextPreprocessor)是一個(gè)基于服務(wù)端來創(chuàng)建動(dòng)態(tài)網(wǎng)站的腳本語言,可以用PHP和HTML生成網(wǎng)站主頁。PHP開放源碼和跨越平臺(tái),PHP可以運(yùn)行在WindowsNT系列和多種版本的UNIX上在Apache環(huán)境下安裝PHP的時(shí)候,三種安裝模式:靜態(tài)模塊、動(dòng)態(tài)模塊(DSO)和CGI。進(jìn)行安裝:在RedHatLinux9上安裝PHP,可以通過“添加/刪除程序”—>“服務(wù)器”—>“萬維網(wǎng)服務(wù)器”
。若系統(tǒng)中的ApacheWeb服務(wù)器是通過源碼編譯安裝的,則還可以通過源碼編譯的方式來把PHP安裝成DSO。圖12-14
PHP測(cè)試頁面12.6.3基于JSP的動(dòng)態(tài)站點(diǎn)JSP:JavaServerPages由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁,Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。JSP構(gòu)建的網(wǎng)站操作系統(tǒng)可以選用Unix、Linux或Windows平臺(tái)12.7課后習(xí)題與實(shí)驗(yàn)1.檢查是否安裝了Apache軟件包的指令是
。2.Apache的主要配置文件是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年的企業(yè)與個(gè)人之間的借款合同范本
- 2025實(shí)驗(yàn)室租賃合同示范文本
- 2025年事務(wù)所律師聘請(qǐng)合同
- 材料租賃簡(jiǎn)易合同范本
- 2025關(guān)于YY公司租賃合同的審計(jì)案例
- 酒店宴會(huì)怎做培訓(xùn)課件
- 毀傷評(píng)估報(bào)告合同范本
- 國醫(yī)堂裝修合同范本
- 簽署了購車合同范本
- 擔(dān)保授信追償合同二零二五年
- 班組的安全文化匯報(bào)
- 2023年長(zhǎng)江產(chǎn)業(yè)投資集團(tuán)有限公司招聘考試真題
- 古詩詞賞析教學(xué)課件
- 手術(shù)室的護(hù)理常規(guī)
- 機(jī)械CAD、CAM-形考任務(wù)二-國開-參考資料
- 《快樂生活快樂工作》課件
- 施工現(xiàn)場(chǎng)機(jī)械設(shè)備管理規(guī)定
- 重大火災(zāi)隱患判定方法知識(shí)培訓(xùn)
- 市政道路施工方案投標(biāo)文件(技術(shù)方案)
- 山東《電動(dòng)自行車集中充電設(shè)施建設(shè)規(guī)范》
- 高質(zhì)量數(shù)字化轉(zhuǎn)型技術(shù)解決方案集(2024上半年度)
評(píng)論
0/150
提交評(píng)論