Web服務(wù)器配置與應(yīng)用課件_第1頁(yè)
Web服務(wù)器配置與應(yīng)用課件_第2頁(yè)
Web服務(wù)器配置與應(yīng)用課件_第3頁(yè)
Web服務(wù)器配置與應(yīng)用課件_第4頁(yè)
Web服務(wù)器配置與應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩263頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Web服務(wù)器配置與應(yīng)用Web服務(wù)器配置與應(yīng)用1內(nèi)容1Web服務(wù)基本概念2Apache服務(wù)器3Apache圖形配置工具4Apache的配置文件內(nèi)容1Web服務(wù)基本概念2Web服務(wù)基本概念萬(wàn)維網(wǎng)

WWW(WorldWideWeb)并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò)。萬(wàn)維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所。萬(wàn)維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個(gè)站點(diǎn)訪問(wèn)另一個(gè)站點(diǎn),從而主動(dòng)地按需獲取豐富的信息。這種訪問(wèn)方式稱為“鏈接”。Web服務(wù)基本概念萬(wàn)維網(wǎng)WWW(WorldWideW3萬(wàn)維網(wǎng)提供分布式服務(wù)萬(wàn)維網(wǎng)站點(diǎn)A萬(wàn)維網(wǎng)站點(diǎn)C萬(wàn)維網(wǎng)站點(diǎn)E萬(wàn)維網(wǎng)站點(diǎn)D萬(wàn)維網(wǎng)站點(diǎn)B鏈接到鏈接到鏈接到鏈接到鏈接到鏈接到萬(wàn)維網(wǎng)提供分布式服務(wù)萬(wàn)維網(wǎng)萬(wàn)維網(wǎng)萬(wàn)維網(wǎng)站點(diǎn)E萬(wàn)4超媒體與超文本萬(wàn)維網(wǎng)是分布式超媒體(hypermedia)系統(tǒng),它是超文本(hypertext)系統(tǒng)的擴(kuò)充。一個(gè)超文本由多個(gè)信息源鏈接成。利用一個(gè)鏈接可使用戶找到另一個(gè)文檔。這些文檔可以位于世界上任何一個(gè)接在因特網(wǎng)上的超文本系統(tǒng)中。超文本是萬(wàn)維網(wǎng)的基礎(chǔ)。超媒體與超文本的區(qū)別是文檔內(nèi)容不同。超文本文檔僅包含文本信息,而超媒體文檔還包含其他表示方式的信息,如圖形、圖像、聲音、動(dòng)畫(huà),甚至活動(dòng)視頻圖像。超媒體與超文本萬(wàn)維網(wǎng)是分布式超媒體(hypermedia)系5

萬(wàn)維網(wǎng)的工作方式萬(wàn)維網(wǎng)以客戶服務(wù)器方式工作。瀏覽器就是在用戶計(jì)算機(jī)上的萬(wàn)維網(wǎng)客戶程序。萬(wàn)維網(wǎng)文檔所駐留的計(jì)算機(jī)則運(yùn)行服務(wù)器程序,因此這個(gè)計(jì)算機(jī)也稱為萬(wàn)維網(wǎng)服務(wù)器??蛻舫绦蛳蚍?wù)器程序發(fā)出請(qǐng)求,服務(wù)器程序向客戶程序送回客戶所要的萬(wàn)維網(wǎng)文檔。在一個(gè)客戶程序主窗口上顯示出的萬(wàn)維網(wǎng)文檔稱為頁(yè)面(page)。

萬(wàn)維網(wǎng)的工作方式萬(wàn)維網(wǎng)以客戶服務(wù)器方式工作。6萬(wàn)維網(wǎng)必須解決的問(wèn)題(1)怎樣標(biāo)志分布在整個(gè)因特網(wǎng)上的萬(wàn)維網(wǎng)文檔?

使用統(tǒng)一資源定位符

URL(UniformResourceLocator)來(lái)標(biāo)志萬(wàn)維網(wǎng)上的各種文檔。使每一個(gè)文檔在整個(gè)因特網(wǎng)的范圍內(nèi)具有唯一的標(biāo)識(shí)符URL。

萬(wàn)維網(wǎng)必須解決的問(wèn)題(1)怎樣標(biāo)志分布在整個(gè)因特網(wǎng)上的萬(wàn)7萬(wàn)維網(wǎng)必須解決的問(wèn)題(2)用何協(xié)議實(shí)現(xiàn)萬(wàn)維網(wǎng)上各種超鏈的鏈接?

在萬(wàn)維網(wǎng)客戶程序與萬(wàn)維網(wǎng)服務(wù)器程序之間進(jìn)行交互所使用的協(xié)議,是超文本傳送協(xié)議

HTTP(HyperTextTransferProtocol)。HTTP是一個(gè)應(yīng)用層協(xié)議,它使用TCP連接進(jìn)行可靠的傳送。

萬(wàn)維網(wǎng)必須解決的問(wèn)題(2)用何協(xié)議實(shí)現(xiàn)萬(wàn)維網(wǎng)上各種超鏈的8萬(wàn)維網(wǎng)必須解決的問(wèn)題(3)怎樣使各種萬(wàn)維網(wǎng)文檔都能在因特網(wǎng)上的各種計(jì)算機(jī)上顯示出來(lái),同時(shí)使用戶清楚地知道在什么地方存在著超鏈?

超文本標(biāo)記語(yǔ)言

HTML(HyperTextMarkupLanguage)使得萬(wàn)維網(wǎng)頁(yè)面的設(shè)計(jì)者可以很方便地用一個(gè)超鏈從本頁(yè)面的某處鏈接到因特網(wǎng)上的任何一個(gè)萬(wàn)維網(wǎng)頁(yè)面,并且能夠在自己的計(jì)算機(jī)屏幕上將這些頁(yè)面顯示出來(lái)。萬(wàn)維網(wǎng)必須解決的問(wèn)題(3)怎樣使各種萬(wàn)維網(wǎng)文檔都能在因特9萬(wàn)維網(wǎng)必須解決的問(wèn)題(4)怎樣使用戶能夠很方便地找到所需的信息?為了在萬(wàn)維網(wǎng)上方便地查找信息,用戶可使用各種的搜索工具(即搜索引擎)。

萬(wàn)維網(wǎng)必須解決的問(wèn)題(4)怎樣使用戶能夠很方便地找到所需10URL的一般形式由以冒號(hào)隔開(kāi)的兩大部分組成,并且在URL中的字符對(duì)大寫(xiě)或小寫(xiě)沒(méi)有要求。URL的一般形式是:<協(xié)議>://<主機(jī)>:<端口>/<路徑>ftp——文件傳送協(xié)議FTPhttp——超文本傳送協(xié)議HTTPNews——USENET新聞URL的一般形式由以冒號(hào)隔開(kāi)的兩大部分組成,并且在UR11URL的一般形式(續(xù))由以冒號(hào)隔開(kāi)的兩大部分組成,并且在URL中的字符對(duì)大寫(xiě)或小寫(xiě)沒(méi)有要求。URL的一般形式是:<協(xié)議>://<主機(jī)>:<端口>/<路徑><主機(jī)>是存放資源的主機(jī)在因特網(wǎng)中的域名URL的一般形式(續(xù))由以冒號(hào)隔開(kāi)的兩大部分組成,并且在12URL的一般形式(續(xù))由以冒號(hào)隔開(kāi)的兩大部分組成,并且在URL中的字符對(duì)大寫(xiě)或小寫(xiě)沒(méi)有要求。URL的一般形式是:<協(xié)議>://<主機(jī)>:<端口>/<路徑>有時(shí)可省略URL的一般形式(續(xù))由以冒號(hào)隔開(kāi)的兩大部分組成,并且在13使用HTTP的URL使用HTTP的URL的一般形式

http://<主機(jī)>:<端口>/<路徑>

這表示使用HTTP協(xié)議使用HTTP的URL使用HTTP的URL的一般14使用HTTP的URL使用HTTP的URL的一般形式

http://<主機(jī)>:<端口>/<路徑>

冒號(hào)和兩個(gè)斜線是規(guī)定的格式使用HTTP的URL使用HTTP的URL的一般15使用HTTP的URL使用HTTP的URL的一般形式

http://<主機(jī)>:<端口>/<路徑>

這里寫(xiě)主機(jī)的域名使用HTTP的URL使用HTTP的URL的一般16使用HTTP的URL使用HTTP的URL的一般形式

http://<主機(jī)>:<端口>/<路徑>

HTTP的默認(rèn)端口號(hào)是80,通??墒÷允褂肏TTP的URL使用HTTP的URL的一般17使用HTTP的URL使用HTTP的URL的一般形式

http://<主機(jī)>:<端口>/<路徑>

若再省略文件的<路徑>項(xiàng),則URL就指到因特網(wǎng)上的某個(gè)主頁(yè)(homepage)。使用HTTP的URL使用HTTP的URL的一般18萬(wàn)維網(wǎng)的工作過(guò)程因特網(wǎng)服務(wù)器鏈接到URL的超鏈HTTP使用此TCP連接瀏覽器程序服務(wù)器程序HTTP客戶清華大學(xué)院系設(shè)置建立TCP連接釋放TCP連接HTTP響應(yīng)報(bào)文

響應(yīng)文檔HTTP請(qǐng)求報(bào)文

請(qǐng)求文檔萬(wàn)維網(wǎng)的工作過(guò)程因特網(wǎng)服務(wù)器鏈接到URL的超鏈HTTP使19用戶點(diǎn)擊鼠標(biāo)后所發(fā)生的事件(1)瀏覽器分析超鏈指向頁(yè)面的URL。(2)瀏覽器向DNS請(qǐng)求解析

的IP地址。(3)域名系統(tǒng)DNS解析出清華大學(xué)服務(wù)器的IP地址。(4)瀏覽器與服務(wù)器建立TCP連接(5)瀏覽器發(fā)出取文件命令:

GET/chn/yxsz/index.htm。(6)服務(wù)器給出響應(yīng),把文件index.htm發(fā)給瀏覽器。(7)TCP連接釋放。(8)瀏覽器顯示“清華大學(xué)院系設(shè)置”文件index.htm中的所有文本。用戶點(diǎn)擊鼠標(biāo)后所發(fā)生的事件(1)瀏覽器分析超鏈指向頁(yè)面的20代理服務(wù)器

(proxyserver)

代理服務(wù)器(proxyserver)又稱為萬(wàn)維網(wǎng)高速緩存(Webcache),它代表瀏覽器發(fā)出HTTP請(qǐng)求。萬(wàn)維網(wǎng)高速緩存把最近的一些請(qǐng)求和響應(yīng)暫存在本地磁盤(pán)中。當(dāng)與暫時(shí)存放的請(qǐng)求相同的新請(qǐng)求到達(dá)時(shí),萬(wàn)維網(wǎng)高速緩存就把暫存的響應(yīng)發(fā)送出去,而不需要按URL的地址再去因特網(wǎng)訪問(wèn)該資源。

代理服務(wù)器

(proxyserver)代理服務(wù)器(pro21使用高速緩存可減少

訪問(wèn)因特網(wǎng)服務(wù)器的時(shí)延校園網(wǎng)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2這條鏈路上的時(shí)延很大沒(méi)有使用高速緩存的情況所有萬(wàn)維網(wǎng)通信量都經(jīng)過(guò)這條鏈路使用高速緩存可減少

訪問(wèn)因特網(wǎng)服務(wù)器的時(shí)延校園網(wǎng)源點(diǎn)服務(wù)器22使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2(1)瀏覽器訪問(wèn)因特網(wǎng)的服務(wù)器時(shí),要先與校園網(wǎng)的高速緩存建立TCP連接,并向高速緩存發(fā)出HTTP請(qǐng)求報(bào)文使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存源點(diǎn)服務(wù)器2Mb/23使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2(2)若高速緩存已經(jīng)存放了所請(qǐng)求的對(duì)象,則將此對(duì)象放入HTTP響應(yīng)報(bào)文中返回給瀏覽器。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存源點(diǎn)服務(wù)器2Mb/24使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2(3)否則,高速緩存就代表發(fā)出請(qǐng)求的用戶瀏覽器,與因特網(wǎng)上的源點(diǎn)服務(wù)器建立TCP連接,并發(fā)送HTTP請(qǐng)求報(bào)文。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存源點(diǎn)服務(wù)器2Mb/25使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2(4)源點(diǎn)服務(wù)器將所請(qǐng)求的對(duì)象放在HTTP響應(yīng)報(bào)文中返回給校園網(wǎng)的高速緩存。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存源點(diǎn)服務(wù)器2Mb/26使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存(代理服務(wù)器)源點(diǎn)服務(wù)器2Mb/s因特網(wǎng)瀏覽器R1R2(5)高速緩存收到此對(duì)象后,先復(fù)制在其本地存儲(chǔ)器中(為今后使用),然后再將該對(duì)象放在HTTP響應(yīng)報(bào)文中,通過(guò)已建立的TCP連接,返回給請(qǐng)求該對(duì)象的瀏覽器。使用高速緩存的情況校園網(wǎng)校園網(wǎng)的高速緩存源點(diǎn)服務(wù)器2Mb/27狀態(tài)碼都是三位數(shù)字1xx表示通知信息的,如請(qǐng)求收到了或正在進(jìn)行處理。2xx表示成功,如接受或知道了。3xx表示重定向,表示要完成請(qǐng)求還必須采取進(jìn)一步的行動(dòng)。4xx表示客戶的差錯(cuò),如請(qǐng)求中有錯(cuò)誤的語(yǔ)法或不能完成。5xx表示服務(wù)器的差錯(cuò),如服務(wù)器失效無(wú)法完成請(qǐng)求。狀態(tài)碼都是三位數(shù)字1xx表示通知信息的,如請(qǐng)求收到了或正28第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念2Apache服務(wù)器3Apache圖形配置工具4Apache的配置文件第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念292Apache服務(wù)器Apache是一款提供Web服務(wù)的軟件1995年NCSA,1999年ApacheGroup紀(jì)念美洲印第安人的apache族apatchywebserver(讀音雙關(guān)語(yǔ))HTTPd精靈程序提供Web服務(wù)ApacheProject包含更多內(nèi)容采用靈活的模塊結(jié)構(gòu)2Apache服務(wù)器Apache是一款提供Web服務(wù)的軟件30Apache項(xiàng)目與HTTPdApache項(xiàng)目包含許多軟件開(kāi)發(fā)子項(xiàng)目HTTPServer是其中之一Apache項(xiàng)目與HTTPdApache項(xiàng)目包含許多軟件開(kāi)發(fā)31Apache服務(wù)器的安全性(1)采用選擇性訪問(wèn)控制和強(qiáng)制性訪問(wèn)控制的安全策略DAC—選擇性訪問(wèn)控制,基于用戶名/口令,屬于傳統(tǒng)常規(guī)訪問(wèn)控制方式,發(fā)出連接請(qǐng)求的客戶需要提交用戶名和口令,Apache驗(yàn)證后決定是否授予訪問(wèn)許可。MAC—強(qiáng)制性訪問(wèn)控制,客戶IP/域名。是依據(jù)發(fā)出連接請(qǐng)求的客戶的IP地址或所在的域名進(jìn)行界定訪問(wèn)許可。若客戶不再訪問(wèn)許可范圍內(nèi),則拒絕客戶的任何請(qǐng)求。Apache服務(wù)器的安全性(1)采用選擇性訪問(wèn)控制和強(qiáng)制性訪32Apache服務(wù)器的安全性(2)Apache的安全模塊mod_access模塊:根據(jù)訪問(wèn)者的IP地址、域名或主機(jī)名等控制對(duì)Apache服務(wù)器的訪問(wèn)。是基于主機(jī)的訪問(wèn)控制。mod_auth模塊:用于用戶和組的認(rèn)證授權(quán)。用戶的用戶名和口令存于純文本文件中,因此其安全性還要依賴操作系統(tǒng)的安全性訪問(wèn)控制。Apache服務(wù)器的安全性(2)Apache的安全模塊33Apache服務(wù)器的安全性(2)Apache的安全模塊mod_auth_digest模塊:采用MD5數(shù)字簽名的方式來(lái)進(jìn)行用戶的認(rèn)證,不過(guò)需要客戶端的相應(yīng)的支持,即瀏覽器等客戶端軟件需要具有相應(yīng)的支持MD5數(shù)字簽名的功能。mod_auth_anon模塊:與mod_auth模塊功能類(lèi)似,當(dāng)允許匿名(anonymous)用戶登錄,以用戶輸入的E-mail地址作為用戶口令。SSL(SecureSocketLayer)支持模塊:安全套接層協(xié)議,提供網(wǎng)絡(luò)上的安全交易等涉及秘密數(shù)據(jù)的保護(hù)服務(wù)。它相當(dāng)于一個(gè)外部模塊,通過(guò)第三方程序的結(jié)合提供安全的網(wǎng)上交易支持。Apache服務(wù)器的安全性(2)Apache的安全模塊34檢查Apache服務(wù)器(1)檢查系統(tǒng)中是否安裝了Apache服務(wù)器rpm-qa|grephttpd檢查Apache服務(wù)器(1)檢查系統(tǒng)中是否安裝了Apache35檢查Apache服務(wù)器(2)檢查是否啟動(dòng)了Apache服務(wù)器psaux|grephttpd檢查Apache服務(wù)器(2)檢查是否啟動(dòng)了Apache服務(wù)器36檢查Apache服務(wù)器(3)訪問(wèn)測(cè)試頁(yè)面http://localhost

檢查Apache服務(wù)器(3)訪問(wèn)測(cè)試頁(yè)面http://lo37安裝Apache服務(wù)器預(yù)備工作下載源碼包httpd-2.2.6.tar.gz解開(kāi)軟件源碼包配置源樹(shù)./configure命令

生成make安裝makeinstall

修改配置文件httpd.conf運(yùn)行測(cè)試apachectl-kstart

安裝Apache服務(wù)器預(yù)備工作38Apache的版本與升級(jí)新版本程序的發(fā)布聲明主版本升級(jí)2.02.2小版本升級(jí)2.2.552.2.57Apache的版本與升級(jí)新版本程序的發(fā)布聲明39第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念2Apache服務(wù)器3Apache圖形配置工具4Apache的配置文件第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念403Apache圖形配置工具完成Apache簡(jiǎn)單的配置“系統(tǒng)”|“管理”|“服務(wù)器設(shè)置”|“HTTP”啟動(dòng)圖形配置管理工具HTTP服務(wù)器圖形配置工具包括:主(Main)虛擬主機(jī)(VirtualHosts)服務(wù)器(Server)調(diào)整性能(PerformanceTuning)3Apache圖形配置工具完成Apache簡(jiǎn)單的配置41服務(wù)器基本配置服務(wù)器名(ServerName)網(wǎng)主電子郵件地址(Webmasteremailaddress)訪問(wèn)端口(port)服務(wù)器基本配置服務(wù)器名(ServerName)42服務(wù)器基本配置服務(wù)器名(ServerName)網(wǎng)主電子郵件地址(Webmasteremailaddress)訪問(wèn)端口(port)服務(wù)器名是一個(gè)完全符合域名命名規(guī)則的名字,應(yīng)與主配置文件/etc/httpd.conf中的ServerName指令對(duì)應(yīng)。是Web服務(wù)器的主機(jī)名,用戶創(chuàng)建重定向url地址,若不指定服務(wù)器名,則Web服務(wù)器使用從系統(tǒng)獲得的IP地址表示W(wǎng)eb服務(wù)器。該名字不一定必須是服務(wù)器計(jì)算機(jī)的IP地址所對(duì)應(yīng)的域名。服務(wù)器基本配置服務(wù)器名(ServerName)服務(wù)器名是43服務(wù)器基本配置服務(wù)器名(ServerName)管理員電子郵件地址(Webmasteremailaddress)訪問(wèn)端口(port)管理員電子郵件地址選項(xiàng)對(duì)應(yīng)于httpd.conf配置文件中的ServerAdmin指令。如果在服務(wù)器的出錯(cuò)頁(yè)面上包含了改Email地址作為聯(lián)系用電子郵件,則發(fā)現(xiàn)錯(cuò)誤的用戶可以向Web服務(wù)器的管理員發(fā)送電子郵件報(bào)告問(wèn)題。默認(rèn)地址為:root@localhost。服務(wù)器基本配置服務(wù)器名(ServerName)管理員電子44服務(wù)器基本配置服務(wù)器名(ServerName)管理員電子郵件地址(Webmasteremailaddress)訪問(wèn)端口(port)訪問(wèn)端口定義服務(wù)器接受訪問(wèn)請(qǐng)求的端口。該選項(xiàng)對(duì)應(yīng)配置文件httpd.conf中的Listen指令。默認(rèn)端口是80端口。服務(wù)器基本配置服務(wù)器名(ServerName)訪問(wèn)端口定45默認(rèn)設(shè)置與虛擬主機(jī)當(dāng)用戶訪問(wèn)Web服務(wù)器而沒(méi)有指定網(wǎng)頁(yè)文件名稱時(shí),服務(wù)器會(huì)按照目錄頁(yè)搜索列表中的項(xiàng)目一次搜索對(duì)應(yīng)的文件,若找到則返回給用戶。該列表與httpd.conf中的DirectoryIndex對(duì)應(yīng)。否則服務(wù)器會(huì)自動(dòng)產(chǎn)生目錄下文件列表返回響應(yīng)用戶的請(qǐng)求。默認(rèn)設(shè)置與虛擬主機(jī)當(dāng)用戶訪問(wèn)Web服務(wù)器而沒(méi)有指定網(wǎng)頁(yè)文件名46默認(rèn)設(shè)置與虛擬主機(jī)設(shè)置Apache服務(wù)器發(fā)生錯(cuò)誤時(shí)將用戶重定向到其他地址。如果用戶訪問(wèn)的時(shí)候發(fā)生了某種錯(cuò)誤,則服務(wù)器默認(rèn)會(huì)顯示一個(gè)簡(jiǎn)短的錯(cuò)誤代碼和信息。單擊“編輯”,管理員可以再?gòu)棾龅牡膶?duì)話框中修改這個(gè)默認(rèn)設(shè)置。默認(rèn)設(shè)置與虛擬主機(jī)設(shè)置Apache服務(wù)器發(fā)生錯(cuò)誤時(shí)將用戶重定47創(chuàng)建虛擬主機(jī)(1)Apache服務(wù)器可以創(chuàng)建多臺(tái)虛擬主機(jī)用戶不同的請(qǐng)求由不同的虛擬機(jī)響應(yīng)用戶感覺(jué)是訪問(wèn)不同的Web服務(wù)器虛擬主機(jī)使得Web請(qǐng)求可以發(fā)送到不同的IP地址或者主機(jī)名,但是由相同的Apache進(jìn)程處理創(chuàng)建虛擬主機(jī)(1)Apache服務(wù)器可以創(chuàng)建多臺(tái)虛擬主機(jī)48創(chuàng)建虛擬主機(jī)(2)虛擬主機(jī)名文檔根目錄網(wǎng)主電子郵件地址主機(jī)信息默認(rèn)虛擬主機(jī)基于IP的虛擬主機(jī)基于名稱的虛擬主機(jī)創(chuàng)建虛擬主機(jī)(2)虛擬主機(jī)名49創(chuàng)建虛擬主機(jī)(3)創(chuàng)建虛擬主機(jī)(3)50輸入虛擬主機(jī)名,配置工具用此名字來(lái)區(qū)分不同的虛擬主機(jī)。輸入虛擬主機(jī)名,配置工具用此名字來(lái)區(qū)分不同的虛擬主機(jī)。51設(shè)置虛擬主機(jī)的根文檔的位置,它對(duì)應(yīng)httpd.conf配置文件中的虛擬主機(jī)指令DocumentRoot指令。設(shè)置虛擬主機(jī)的根文檔的位置,它對(duì)應(yīng)httpd.conf配置文52網(wǎng)站管理員的電子郵件地址,可以顯示在錯(cuò)誤網(wǎng)頁(yè)上,方便用戶報(bào)告。網(wǎng)站管理員的電子郵件地址,可以顯示在錯(cuò)誤網(wǎng)頁(yè)上,方便用戶報(bào)告53默認(rèn)虛擬主機(jī):當(dāng)需要某個(gè)IP地址響應(yīng)用戶的訪問(wèn)而其他虛擬主機(jī)沒(méi)有設(shè)定該IP地址的時(shí)候。默認(rèn)虛擬主機(jī)就響應(yīng)該IP地址的訪問(wèn)請(qǐng)求,若沒(méi)有默認(rèn)虛擬主機(jī),則使用主服務(wù)器設(shè)置。注意:只能設(shè)置一個(gè)默認(rèn)虛擬主機(jī)。默認(rèn)虛擬主機(jī):當(dāng)需要某個(gè)IP地址響應(yīng)用戶的訪問(wèn)而其他虛擬主機(jī)542、基于IP的虛擬主機(jī):需要指定虛擬主機(jī)響應(yīng)請(qǐng)求的IP地址和服務(wù)器主機(jī)名??梢灾付ǘ鄠€(gè)IP地址,以空格隔開(kāi)。若需要指定端口,則使用“IP地址:端口”的格式。2、基于IP的虛擬主機(jī):需要指定虛擬主機(jī)響應(yīng)請(qǐng)求的IP地址和553、基于名稱的虛擬主機(jī):需要設(shè)置IP地址、主機(jī)名和別名。IP地址的設(shè)定與“基于IP的虛擬主機(jī)”相同。添加別名會(huì)在httpd.conf配置文件中的虛擬主機(jī)VirtualHost指令中增加ServerAlias指令。3、基于名稱的虛擬主機(jī):需要設(shè)置IP地址、主機(jī)名和別名。IP56第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念2Apache服務(wù)器3Apache圖形配置工具4Apache的配置文件第5章Web服務(wù)器的配置與應(yīng)用1Web服務(wù)基本概念574Apache的配置文件Apache服務(wù)器安裝完畢后,幾乎不需什么配置就已經(jīng)可以正常運(yùn)行了為了滿足不同的需要,包括安裝問(wèn)題的考慮,還需要細(xì)致地調(diào)整Apache服務(wù)器的配置4Apache的配置文件Apache服務(wù)器安裝完畢后,幾乎58Apache的目錄和文件目錄配置文件啟動(dòng)腳本Apache的目錄和文件目錄59httpd.conf的文件格式(1)是Apache最重要的配置文件一般位于/etc/httpd/conf目錄下修改配置后,需重啟httpd服務(wù)才生效文件中每行一條指令(directive)

大小寫(xiě)不敏感以#開(kāi)頭的行是注釋httpd.conf的文件格式(1)是Apache最重要的配60兩種方式進(jìn)行參數(shù)的配置:屬性與取值域塊方式httpd.conf的文件格式(2)<VirtualHost:80>ServerAdminroot@localhostDocumentRoot/var/www/html/ServerName</VirtualHost>Listen80兩種方式進(jìn)行參數(shù)的配置:httpd.conf的文件格式(2)61httpd.conf的文件格式(3)條件塊<IfModuletest>…

…</IfModule>表示指令的處理需要根據(jù)指定模塊是否存在為條件來(lái)進(jìn)行,test為真時(shí)處理塊test為module——表示當(dāng)Apache中包含了名為module的模塊的時(shí)候處理塊內(nèi)指令test為!module——表示名為module的模塊不在Apache中的時(shí)候,塊內(nèi)指令被處理httpd.conf的文件格式(3)條件塊62httpd.conf的文件格式(3)測(cè)試配置文件apachectl–t返回SyntaxOK時(shí)表示配置文件語(yǔ)法正確httpd.conf的文件格式(3)測(cè)試配置文件63httpd服務(wù)的啟動(dòng)(1)使用圖形化管理服務(wù)的工具h(yuǎn)ttpd服務(wù)的啟動(dòng)(1)使用圖形化管理服務(wù)的工具64httpd服務(wù)的啟動(dòng)(2)命令方式啟動(dòng)服務(wù)servicehttpdstart/stop/restart

$servicehttpdstart #啟動(dòng)httpd服務(wù)啟動(dòng)httpd: [確定]$servicehttpdstop #停止httpd服務(wù)停止httpd: [確定]$servicehttpdrestart #重啟動(dòng)httpd服務(wù)停止httpd: [確定]啟動(dòng)httpd: [確定]httpd服務(wù)的啟動(dòng)(2)命令方式啟動(dòng)服務(wù)$servi65httpd.conf文件解析httpd.conf文件包括三個(gè)部分Web服務(wù)的全局環(huán)境(globalenvironment),控制Apache進(jìn)程整體操作的指令。定義“主”服務(wù)器或者“默認(rèn)”服務(wù)器的參數(shù)的指令。主服務(wù)器處理虛擬主機(jī)不響應(yīng)的請(qǐng)求,也為所有的虛擬主機(jī)提供默認(rèn)設(shè)置。配置虛擬主機(jī)的指令。httpd.conf文件解析httpd.conf文件包括三個(gè)66Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

提供服務(wù)器的版本和操作系統(tǒng)信息,不想提供可以改為minor.Web服務(wù)的全局環(huán)境ServerTokens提供服務(wù)器的版67Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

指出服務(wù)器保存其配置、出錯(cuò)和日志文件等的根目錄。路徑的結(jié)尾不要添加斜線。

Web服務(wù)的全局環(huán)境ServerTokens指出服務(wù)器保存68Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

記錄服務(wù)器啟動(dòng)進(jìn)程號(hào)的文件。

Web服務(wù)的全局環(huán)境ServerTokens記錄服務(wù)器啟動(dòng)69Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

Web站點(diǎn)的響應(yīng)時(shí)間,默認(rèn)是120秒。若超時(shí)時(shí)間仍然沒(méi)有傳輸任何數(shù)據(jù),則Apache服務(wù)器將斷開(kāi)與客戶端的連接。Web服務(wù)的全局環(huán)境ServerTokensWeb站點(diǎn)的響70Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

一次tcp連接是否持續(xù)有效,推薦打開(kāi).Web服務(wù)的全局環(huán)境ServerTokens一次tcp連接71Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

如果KeepAlive是on的話,此配置才生效,最大連接請(qǐng)求數(shù),可調(diào)大些.設(shè)為0表示無(wú)限制接入。默認(rèn)值為100。Web服務(wù)的全局環(huán)境ServerTokens如果KeepA72Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

連續(xù)兩次連接的間隔時(shí)間,若超出設(shè)置值則被認(rèn)為連接中斷。默認(rèn)值為15秒。Web服務(wù)的全局環(huán)境ServerTokens連續(xù)兩次連接的73Web服務(wù)的全局環(huán)境ServerTokensServerRootPidFileTimeoutKeepAliveMaxKeepAliveRequestsKeepAliveTimeoutpreforkMPM

Apache的多路處理模塊(MPM)就是用于選擇處理網(wǎng)絡(luò)端口綁定、接受請(qǐng)求并指派子進(jìn)程處理來(lái)自客戶端的請(qǐng)求。它不是指令,是一個(gè)IFMODULE塊。當(dāng)Apache包含prefork.c模塊時(shí),處理如下指令:Web服務(wù)的全局環(huán)境ServerTokensApache的74StartServers:啟動(dòng)時(shí)服務(wù)器啟動(dòng)的進(jìn)程數(shù)MinSpareServers:保有的空閑進(jìn)程的最小數(shù)目ServerLimit:服務(wù)器生命周期內(nèi)MaxClients取值的最大值。MaxSpareServers:保有的備用進(jìn)程的最大數(shù)目MaxClients:服務(wù)器允許啟動(dòng)的最大進(jìn)程數(shù)MaxRequestsPerChild:一個(gè)服務(wù)進(jìn)程允許的最大請(qǐng)求數(shù)StartServers:啟動(dòng)時(shí)服務(wù)器啟動(dòng)的進(jìn)程數(shù)75workerMPMListenLoadModuleIncludeExtendedStatusUser/GroupWorkerMPM是一個(gè)IFMODULE塊。當(dāng)Apache包含prefork.c模塊時(shí),處理如下指令:workerMPMWorkerMPM是一個(gè)IFMODU76StartServers:啟動(dòng)服務(wù)器進(jìn)程的初始數(shù)量MaxClients:同時(shí)刻客戶連接的最大數(shù)量MinSpareThreads:空閑工作線程的最小值MaxSpareThreads:空閑工作線程的最大值ThreadsPerChild:每個(gè)服務(wù)器進(jìn)程的固定工作線程數(shù)。MaxRequestsPerChild:一個(gè)服務(wù)器進(jìn)程可以服務(wù)的最大請(qǐng)求數(shù)StartServers:啟動(dòng)服務(wù)器進(jìn)程的初始數(shù)量77workerMPMListenLoadModuleIncludeExtendedStatusUser/Group允許綁定Apache服務(wù)到指定的IP地址和端口上,以取代默認(rèn)值。若沒(méi)有Listen指令,則Apache不能啟動(dòng)。如果僅指定端口,則Apache在服務(wù)器的所有IP地址上監(jiān)聽(tīng)該端口;若同時(shí)指定了IP地址,則服務(wù)器在指定的IP地址上的指定端口監(jiān)聽(tīng)??梢允褂枚鄺lListen指令,以指定一系列監(jiān)聽(tīng)地址和端口。設(shè)定Apache綁定到指定的IP地址可以避免Apache監(jiān)聽(tīng)

。對(duì)于IPV6,必須將地址放在方括號(hào)內(nèi)。workerMPM允許綁定Apache服務(wù)到指定的IP地址78workerMPMListenLoadModuleIncludeExtendedStatusUser/Group該指令鏈接目標(biāo)文件或庫(kù),并將模塊加入到活動(dòng)模塊的列表中。為了使用生成為DSO(動(dòng)態(tài)共享對(duì)象)的模塊,必須使用LoadModule指令加載該模塊,使模塊內(nèi)的指令在使用之前就已被加載進(jìn)來(lái)。語(yǔ)法:LoadModule模塊名字模塊文件的位置。例如:LoadModulestatus_modulemodules/mod_status.soworkerMPM該指令鏈接目標(biāo)文件或庫(kù),并將模塊加入到活79workerMPMListenLoadModuleIncludeExtendedStatusUser/Group該指令將其他配置文件加載進(jìn)來(lái)。如果Include后的參數(shù)不是指定一個(gè)文件或利用通配符指代的若干文件,而是指定一個(gè)目錄,Apache會(huì)讀取該目錄及其子目錄下的所有文件。建議不要在Include指令中包含目錄,因?yàn)槟夸浿腥粲信R時(shí)文件將導(dǎo)致httpd進(jìn)程錯(cuò)誤。workerMPM該指令將其他配置文件加載進(jìn)來(lái)。如果Inc80workerMPMListenLoadModuleIncludeExtendedStatusUser/Group當(dāng)調(diào)用“server-status”時(shí),控制Apache是產(chǎn)生“完全”狀態(tài)信息(ExtendedStatusOn),還是產(chǎn)生基本信息(ExtendedStatusOff)。默認(rèn)為offworkerMPM當(dāng)調(diào)用“server-status”時(shí),81workerMPMListenLoadModuleIncludeExtendedStatusUser/Group運(yùn)行httpd的用戶和組;在系統(tǒng)初始化時(shí)必須以root身份運(yùn)行httpd,然后再切換過(guò)去。其參數(shù)可以是用戶名/組名,也可以是用戶ID/組ID。建議創(chuàng)建一個(gè)專門(mén)的用戶和組運(yùn)行Apache。workerMPM運(yùn)行httpd的用戶和組;在系統(tǒng)初始化時(shí)82主服務(wù)器配置ServerAdminServerNameUseCanonicalNameDocumentRoot該區(qū)建立被“主”服務(wù)器使用的各項(xiàng)參數(shù)。主服務(wù)器處理虛擬主機(jī)不處理的請(qǐng)求。也為虛擬主機(jī)提供默認(rèn)設(shè)置。在該部分出現(xiàn)的指令在虛擬機(jī)設(shè)置中也可能出現(xiàn),如果在虛擬主機(jī)設(shè)置中有相同的指令設(shè)置,則會(huì)覆蓋此處的設(shè)置。主服務(wù)器配置ServerAdmin該區(qū)建立被“主”服務(wù)83主服務(wù)器配置ServerAdminServerNameUseCanonicalNameDocumentRoot設(shè)置服務(wù)器管理員的郵件地址,當(dāng)發(fā)生問(wèn)題時(shí)Apache將向管理員發(fā)出郵件。作為一個(gè)出錯(cuò)文檔,這個(gè)地址顯示在server-generated頁(yè)上。例如:ServerAdminadmin@主服務(wù)器配置ServerAdmin設(shè)置服務(wù)器管理員的郵件地84主服務(wù)器配置ServerAdminServerNameUseCanonicalNameDocumentRootServerName指定Apache用于識(shí)別自身的名字和端口號(hào)。通常這個(gè)值是自動(dòng)指定的,推薦顯式的指定它以防止啟動(dòng)時(shí)出錯(cuò)。如果服務(wù)器沒(méi)有注冊(cè)DNS名,在這里鍵入它的IP地址。ServerName:80主服務(wù)器配置ServerAdminServerName指定85主服務(wù)器配置ServerAdminServerNameUseCanonicalNameDocumentRoot

UseCanonicalName:決定Apache如何構(gòu)造自引用的URL地址(URLS)和CGI程序使用的兩個(gè)變量SERVER_NAME和SERVER_PORT的指令。三種取值:On、Off或DNS域名,默認(rèn)為Off。當(dāng)設(shè)置為“Off”

時(shí),Apache會(huì)使用用戶端提供的主機(jī)名和端口號(hào)。當(dāng)設(shè)置為“On”,Apache會(huì)使用ServerName指令的值。DNS域名是為了兼容。

主服務(wù)器配置ServerAdminUseCanonica86主服務(wù)器配置ServerAdminServerNameUseCanonicalNameDocumentRootWeb服務(wù)器文檔的根目錄。默認(rèn)情況下,所有的請(qǐng)求從這個(gè)目錄進(jìn)行應(yīng)答。但是可以使用符號(hào)鏈接和別名來(lái)指向到其他的位置。例如:DocumentRoot"/home/redhat/public_html"

假設(shè)訪問(wèn)請(qǐng)求為:/test.htm,此時(shí)服務(wù)器將要訪問(wèn)的文檔test.htm附加上DocumentRoot的值,替換URL地址部分。因此完整路徑為:“/home/redhat/public_html/test.htm”。注意:路徑不可用斜線“/”結(jié)尾。主服務(wù)器配置ServerAdminWeb服務(wù)器文檔的根目錄87虛擬目錄(1)Web服務(wù)器程序要將URL中的路徑映射為本地文件系統(tǒng)的路徑,指向文檔的本地位置,虛擬目錄完成這個(gè)映射功能。虛擬目錄又稱為目錄別名。利用別名指令A(yù)lias,可以把文檔保存在文件系統(tǒng)的其他目錄中,而不必放置在DocumentRoot所設(shè)定的位置。虛擬目錄(1)Web服務(wù)器程序要將URL中的路徑映射為本地88虛擬目錄(2)Alias指令A(yù)lias/image/ftp/pub/image注意:只有當(dāng)路徑完全匹配的時(shí)候才會(huì)正確映射,否則就會(huì)發(fā)生錯(cuò)誤而無(wú)法找到請(qǐng)求的文檔。虛擬目錄(2)Alias指令89虛擬目錄(2)Alias指令A(yù)lias/image/ftp/pub/imageAlias/icons//usr/local/apache/icons/若別名指令設(shè)定的目錄在DocumentRoot以外的其他目錄,需要顯式地允許對(duì)目標(biāo)目錄的訪問(wèn)操作。

Alias/image/ftp/pub/image<Directory/ftp/pub/image>

Orderallow,deny

Allowfromall</Directory>如果在別名中使用了結(jié)尾“/”,則服務(wù)器要求在請(qǐng)求的url地址中也必須以斜線“/”結(jié)尾。虛擬目錄(2)Alias指令A(yù)lias/image/f90目錄訪問(wèn)控制(1)格式<Directorydirectory-path> directives……</Directory>directory-path是要配置的目錄,可以使用通配符“*”和“?”和正則表達(dá)式指定目錄。目錄訪問(wèn)控制(1)格式91目錄訪問(wèn)控制(2)<Directory/home/*/html>OptionsIndexesFollowSymLinks</Directory><Directory~abc$>OptionsIndexesFollowSymLinks</Directory>/home/users/html、/home/pub/html、/home/var/html等都是受影響的目錄/var/abc、/var/www/abc、/var/testabc、/www/ttabc/var/abc等都是符合該正則表達(dá)式模式的目錄

目錄訪問(wèn)控制(2)<Directory/home/*/h92目錄訪問(wèn)控制(3)最短匹配優(yōu)先的次序多個(gè)Directory塊與目錄或者其父目錄匹配按照最短匹配優(yōu)先的次序應(yīng)用指令目錄下的.htaccess文件中的配置指令隨其目錄執(zhí)行。目錄訪問(wèn)控制(3)最短匹配優(yōu)先的次序93目錄訪問(wèn)控制(4)<Directory/>AllowOverrideNone</Directory><Directory/home/>AllowOverrideFileInfo</Directory>訪問(wèn)/home/web/dir/doc.html文檔的步驟為:

a)執(zhí)行AllowOverrideNone,禁用了.htaccess文件;

b)執(zhí)行AllowOverrideFileInfo,針對(duì)/home/目錄作用;

c)順次應(yīng)用/home/.htaccess、/home/web/.htaccess和/home/web/dir/.htaccess等文件中的FileInfo指令。目錄訪問(wèn)控制(4)<Directory/>訪問(wèn)/home/94目錄訪問(wèn)控制(5)目錄指令塊中使用的五個(gè)指令OptionsAllowOverrideDenyAllowOrder目錄訪問(wèn)控制(5)目錄指令塊中使用的五個(gè)指令95目錄訪問(wèn)控制(6)Options:設(shè)定目錄中可以執(zhí)行的功能。None——不允許做任何操作,即不允許訪問(wèn)此目錄。是互斥性設(shè)置。All——默認(rèn)設(shè)置。除了MultiViews的功能外,用戶可做所有的操作。是互斥性設(shè)置。其他取值參見(jiàn)表5-2。目錄訪問(wèn)控制(6)Options:設(shè)定目錄中可以執(zhí)行的功能96目錄訪問(wèn)控制(7)AllowOverride該指令設(shè)置在.htaccess文件中允許使用的指令類(lèi)型。當(dāng)服務(wù)器發(fā)現(xiàn)目錄下有.htaccess文件的時(shí)候,需要確定文件中聲明的哪些指令可以覆蓋前面的配置指令。.htaccess文件的文件名由AccessFileName指令設(shè)置。AuthConfigFileInfoIndexesLimitOptions[=Option,…]目錄訪問(wèn)控制(7)AllowOverride97目錄訪問(wèn)控制(8)Allow:設(shè)置允許訪問(wèn)服務(wù)器的主機(jī),控制是基于主機(jī)名、IP地址、IP地址范圍或者環(huán)境變量中獲得的客戶端請(qǐng)求的其他特征實(shí)現(xiàn)的。格式:Allowfromall|host|env=env_variable[host|env=env-varialbe]

參數(shù)有三種形式:Allowfromall表示任何主機(jī)都可以訪問(wèn)服務(wù)器。Allowfromhost限制可以訪問(wèn)服務(wù)器的主機(jī)Allowfromenv=env-variable

基于環(huán)境變量進(jìn)行訪問(wèn)服務(wù)器的許可控制,當(dāng)環(huán)境變量存在客戶端的請(qǐng)求才可以被接受。可以根據(jù)客戶端請(qǐng)求的特征來(lái)設(shè)置環(huán)境變量。例如:目錄訪問(wèn)控制(8)Allow:設(shè)置允許訪問(wèn)服務(wù)器的主機(jī),控制98SetEnvIfUser-Agent^knock/2\.0let_me_in<Directory/docroot> OrderDeny,Allow Denyfromall Allowfromenv=let_me_in<Directory>表示:當(dāng)客戶端瀏覽器的user-agent字符串是以knock/2.0開(kāi)頭的時(shí)候才能訪問(wèn)服務(wù)器,其他的則被拒絕。SetEnvIfUser-Agent^knock/2\.99Host部分的幾種格式:1、部分域名。主機(jī)名字如果與設(shè)置的域名匹配或者以之結(jié)尾,則此主機(jī)被允許訪問(wèn)服務(wù)器。例如:

Allowfrom

如果主機(jī)是,則符合此設(shè)置,可以訪問(wèn)服務(wù)器。2、完整的IP地址。明確指定一個(gè)IP地址,則具有該IP地址的主機(jī)可以訪問(wèn)服務(wù)器。例如:

Allowfrom11

Allowfrom3、部分IP地址。指定IP地址的前1到3個(gè)字節(jié),用于限定IP子網(wǎng)中所有主機(jī)的訪問(wèn)。例如:

Allowfrom192.168.0172.16Host部分的幾種格式:1004、網(wǎng)絡(luò)地址/掩碼。設(shè)置一個(gè)A、B、C、D類(lèi)網(wǎng)絡(luò)地址和一個(gè)子網(wǎng)掩碼x.y.z.w,可以獲得更加細(xì)致的子網(wǎng)控制。例如:

Allowfrom202.1164/25252505、網(wǎng)絡(luò)地址/n。采用CIDR標(biāo)準(zhǔn)的方法來(lái)表示。例如:

Allowfrom202.1164/206、IPV6地址和子網(wǎng)。例如:

Allowfrom2001:db9::abcd:cced4、網(wǎng)絡(luò)地址/掩碼。設(shè)置一個(gè)A、B、C、D類(lèi)網(wǎng)絡(luò)地址和一個(gè)子101目錄訪問(wèn)控制(9)Deny:該指令設(shè)置被拒絕訪問(wèn)服務(wù)器的主機(jī)??梢裕夯谥鳈C(jī)名、IP地址或者環(huán)境變量來(lái)限制對(duì)服務(wù)器的訪問(wèn)。格式:

Denyfromall|host|env=env_variable[host|env=env-varialbe]參數(shù)與Allow指令的參數(shù)相同。目錄訪問(wèn)控制(9)Deny:該指令設(shè)置被拒絕訪問(wèn)服務(wù)器的主機(jī)102目錄訪問(wèn)控制(10)Order:該指令設(shè)置Allow與Deny的優(yōu)先次序。Allow和Deny將匹配空間劃分為三個(gè):與Allow匹配的、與Deny匹配的、其他。服務(wù)器根據(jù)訪問(wèn)請(qǐng)求訪問(wèn)的客戶端與三個(gè)匹配子空間的匹配情況,確定是否接受該訪問(wèn)請(qǐng)求。Allow,Deny——先執(zhí)行允許訪問(wèn)列表再執(zhí)行拒絕訪問(wèn)列表。默認(rèn)情況下降拒絕所有沒(méi)有明確被允許的客戶。Deny,Allow——先執(zhí)行拒絕訪問(wèn)列表在執(zhí)行允許訪問(wèn)列表,默認(rèn)情況下將允許所有沒(méi)有明確被拒絕的客戶。目錄訪問(wèn)控制(10)Order:該指令設(shè)置Allow與Den103例1:要控制只允許來(lái)自域的主機(jī)訪問(wèn)服務(wù)器,其他的主機(jī)的訪問(wèn)請(qǐng)求都拒絕。

OrderDeny,Allow Denyfromall Allowfrom例2:控制只允許來(lái)自域的主機(jī)的訪問(wèn)請(qǐng)求,但是子域中的主機(jī)除外。

OrderAllow,Deny Allowfrom Denyfrom例1:要控制只允許來(lái)自域的主機(jī)訪問(wèn)服務(wù)104認(rèn)證Apache服務(wù)器利用以下認(rèn)證參數(shù),可實(shí)現(xiàn)對(duì)指定目錄的認(rèn)證控制。AuthName認(rèn)證域名稱:指定用戶認(rèn)證域的名稱。AuthTypeBasic|Digest:設(shè)定用戶認(rèn)證的方式,一般使用Basic。AuthUserFile文件名:指定認(rèn)證用戶文件名及其保存路徑。AuthGroupFile文件名:指定認(rèn)證組群文件名及其保存路徑。Require參數(shù):指定哪些認(rèn)證用戶或認(rèn)證組群有權(quán)訪問(wèn)指定的目錄。認(rèn)證Apache服務(wù)器利用以下認(rèn)證參數(shù),可實(shí)現(xiàn)對(duì)指定目錄的認(rèn)105Require參數(shù)有以下三種格式:Require用戶名列表:授權(quán)給指定的用戶。Require組群名列表:授權(quán)給指定的組群。Requirevalid-user:授權(quán)給認(rèn)證用戶文件中所有的用戶Require參數(shù)有以下三種格式:106認(rèn)證用戶文件利用htpasswd命令可創(chuàng)建認(rèn)證用戶文件,并設(shè)置認(rèn)證用戶。認(rèn)證用戶與Linux系統(tǒng)的用戶沒(méi)有對(duì)應(yīng)關(guān)系。格式:

htpasswd[選項(xiàng)]認(rèn)證用戶文件名用戶名功能:設(shè)置指定的認(rèn)證用戶及其認(rèn)證口令。選項(xiàng):

-c 創(chuàng)建指定的認(rèn)證用戶文件,只在設(shè)置第一個(gè)認(rèn)證用戶時(shí)使用。

-D 刪除指定的認(rèn)證用戶。管理員可以將所有的認(rèn)證用戶劃歸成多個(gè)認(rèn)證組群。Linux沒(méi)有提供創(chuàng)建認(rèn)證組群文件的命令,管理員可以利用任何文本編輯器創(chuàng)建和編輯認(rèn)證組群文件。認(rèn)證組群文件中的每一行表示一個(gè)組群,其基本格式為:組名:用戶名列表認(rèn)證用戶文件利用htpasswd命令可創(chuàng)建認(rèn)證用戶文件,并設(shè)107例1:將tom設(shè)置為認(rèn)證用戶,認(rèn)證用戶文件為/var/www/userpass,尚未創(chuàng)建。

htpasswd–c/var/www/userpasstom例2:將jack設(shè)置為認(rèn)證用戶,認(rèn)證用戶文件為/var/www/userpass,文件已存在。

htpasswd/var/www/userpassjack例3:修改認(rèn)證用戶tom的口令,認(rèn)證用戶文件為/var/www/userpass。

htpasswd/var/www/userpasstom例4:將認(rèn)證用戶jack從認(rèn)證用戶文件/var/www/userpass中刪除。

htpasswd-D/var/www/userpassjack例1:將tom設(shè)置為認(rèn)證用戶,認(rèn)證用戶文件為/var/www108 Apache服務(wù)器可針對(duì)目錄進(jìn)行訪問(wèn)控制和認(rèn)證,可選擇以下方式實(shí)現(xiàn):編輯httpd.conf文件,直接設(shè)定指定目錄的訪問(wèn)控制和認(rèn)證的相關(guān)參數(shù)。在指定目錄下創(chuàng)建.htaccess文件,訪問(wèn)控制和認(rèn)證的相關(guān)的參數(shù)均保存在.htaccess文件。

注意:當(dāng)使用.htaccess文件可以在不重新啟動(dòng)服務(wù)器的情況下改變服務(wù)器的配置,但是由于Apache服務(wù)器要查找.htaccess文件,將會(huì)降低服務(wù)器的運(yùn)行性能。httpd.conf文件中AllowOverride參數(shù)可決定.htaccess文件是否有效,以及.htaccess文件中可以使用的配置參數(shù)。 Apache服務(wù)器可針對(duì)目錄進(jìn)行訪問(wèn)控制和認(rèn)證,可109Web用戶驗(yàn)證(1)可以驗(yàn)證單個(gè)用戶或者用戶組為單個(gè)用戶分配密碼也可以為用戶組分配密碼建立匿名訪問(wèn)Web用戶驗(yàn)證(1)可以驗(yàn)證單個(gè)用戶或者用戶組110Web用戶驗(yàn)證(2)驗(yàn)證單個(gè)用戶編輯主配置文件/etc/httpd/conf/httpd.conf

建立口令文件并為用戶設(shè)置口令重新啟動(dòng)httpd服務(wù)Web用戶驗(yàn)證(2)驗(yàn)證單個(gè)用戶111驗(yàn)證單個(gè)用戶例1:直接編輯httpd.conf文件,設(shè)置/var/www/html/test目錄中所有網(wǎng)頁(yè)文件只允許認(rèn)證用戶訪問(wèn)。前提:防火墻允許WWW服務(wù)通過(guò)。(1)在/var/www/html目錄下新建test目錄,并創(chuàng)建index.html文件。(2)編輯httpd.conf文件,添加如下內(nèi)容。驗(yàn)證單個(gè)用戶例1:直接編輯httpd.conf文件,設(shè)置/v112<Directory“/var/www/html/test”> AllowOverrideNone//不使用.htaccess文件

AuthName“shareweb” AuthTypeBasic AuthUserFile/var/www/userpass requireusertom requireuserjack </Directory>(3)根據(jù)httpd.conf的設(shè)置內(nèi)容,創(chuàng)建認(rèn)證用戶文件/var/www/userpass,并將tom,jack設(shè)置為認(rèn)證用戶。(4)重新啟動(dòng)apache服務(wù)。<Directory“/var/www/html/test113驗(yàn)證組例2:直接編輯httpd.conf文件,設(shè)置/var/www/html/test目錄中所有網(wǎng)頁(yè)文件只允許認(rèn)證用戶訪問(wèn)。前提:防火墻允許WWW服務(wù)通過(guò)。(1)在/var/www/html目錄下新建test目錄,并創(chuàng)建index.html文件。(2)編輯/var/www/grouppass文件,增加用戶和組的關(guān)系:

tom:tomjack(3)編輯httpd.conf文件,添加如下內(nèi)容。驗(yàn)證組例2:直接編輯httpd.conf文件,設(shè)置/var/114<Directory“/var/www/html/test”> AllowOverrideNone//不使用.htaccess文件

AuthName“shareweb” AuthTypeBasic AuthUserFile/var/www/userpass AuthGroupFile/var/www/grouppass requiregrouptom </Directory>(4)根據(jù)httpd.conf的設(shè)置內(nèi)容,創(chuàng)建認(rèn)證用戶文件/var/www/userpass,并將tom,jack設(shè)置為認(rèn)證用戶。(5)重新啟動(dòng)apache服務(wù)。<Directory“/var/www/html/test115使用.htaccess文件驗(yàn)證例3:創(chuàng)建.htaccess文件,設(shè)置/var/www/html/test目錄中的所有網(wǎng)頁(yè)文件只允許IP地址為172.16.1.*網(wǎng)段的計(jì)算機(jī)訪問(wèn)。前提:設(shè)置防火墻允許WWW服務(wù)通過(guò)。(1)在/var/www/html目錄下新建test目錄,并創(chuàng)建index.html文件。(2)編輯httpd.conf文件,添加如下內(nèi)容:使用.htaccess文件驗(yàn)證例3:創(chuàng)建.htaccess文116<Directory“/var/www/html/tets”> AllowOverrideAll</Directory>(3)在/var/www/html/test目錄下新建“.htaccess”文件,其內(nèi)容如下:

Orderdeny,allow Denyfromall Allowfrom/24(4)重新啟動(dòng)httpd服務(wù)。<Directory“/var/www/html/tets117虛擬主機(jī)的配置虛擬主機(jī)支持一個(gè)服務(wù)器設(shè)置多個(gè)站點(diǎn)用戶感覺(jué)訪問(wèn)了多個(gè)獨(dú)立服務(wù)器Apache支持基于IP地址的虛擬主機(jī):各虛擬主機(jī)使用同一IP地址的不同端口,或使用不同的IP地址。用戶可使用IP地址來(lái)訪問(wèn)此類(lèi)虛擬主機(jī)?;诿Q的虛擬主機(jī):各虛擬主機(jī)使用同一IP地址但是域名各不相同。使用基于名稱的虛擬主機(jī)較為常見(jiàn)。SSL服務(wù)器需要IP虛擬主機(jī)虛擬主機(jī)的配置虛擬主機(jī)支持一個(gè)服務(wù)器設(shè)置多個(gè)站點(diǎn)118無(wú)論是配置基于IP地址的虛擬主機(jī)還是配置基于名字的虛擬主機(jī)都必須在httpd.conf文件中設(shè)置VirtualHost語(yǔ)句塊。VirtualHost語(yǔ)句塊中可以設(shè)置的參數(shù)如下所示,其中DocumentRoot參數(shù)比不可少。ServerAdmin:指定虛擬主機(jī)管理員的Email地址。DocumentRoot:指定虛擬主機(jī)的根目錄。ServerName:指定虛擬主機(jī)的名稱和端口。ErrorLog:指定虛擬主機(jī)的錯(cuò)誤日志文件的保存路徑。CustomLog:指定虛擬主機(jī)的訪問(wèn)日志文件的保存路徑。無(wú)論是配置基于IP地址的虛擬主機(jī)還是配置基于名字的虛擬主機(jī)都119基于IP地址的虛擬主機(jī)(1)IP地址相同,端口號(hào)不同的虛擬主機(jī)配置方法適用于用戶具有一個(gè)注冊(cè)的靜態(tài)IP地址,但是希望架設(shè)多個(gè)站點(diǎn)的情況。要使用不同的端口,必須使用Listen參數(shù)監(jiān)聽(tīng)指定的端口?;贗P地址的虛擬主機(jī)(1)IP地址相同,端口號(hào)不同的虛擬主120例:在IP地址為32的主機(jī)上設(shè)置兩個(gè)虛擬主機(jī),分別使用8000和8080端口。步驟:1、編輯httpd.conf文件,添加如下內(nèi)容:Listen8000Listen8080<VirtualHost32:8000> DocumentRoot/var/www/vhost-ip1</VirtualHost><VirtualHost32:8080> DocumentRoot/var/www/vhost-ip2</VirtualHost>例:在IP地址為32的主機(jī)上設(shè)置兩1212、在/var/www目錄下分別建立vhost-ip1hevhost-ip2目錄,并分別在兩個(gè)目錄中創(chuàng)建index.html文件。3、重新啟動(dòng)httpd守護(hù)進(jìn)程。輸入“http://IP地址:端口號(hào)”的URL形式訪問(wèn)虛擬主機(jī)。2、在/var/www目錄下分別建立vhost-ip1he122基于IP地址的虛擬主機(jī)(2)利用不同的IP地址設(shè)置虛擬主機(jī)。在一臺(tái)計(jì)算機(jī)上配置多個(gè)IP地址有兩種方法:安裝多塊物理網(wǎng)卡,并對(duì)每個(gè)網(wǎng)卡設(shè)置不同的IP地址。安裝一塊物理網(wǎng)卡,創(chuàng)建多個(gè)設(shè)備別名,分別設(shè)置不同的IP地址?;贗P地址的虛擬主機(jī)(2)利用不同的IP地址設(shè)置虛擬主機(jī)。123例:某主機(jī)僅安裝一塊物理網(wǎng)卡,其IP地址為32,要求設(shè)置兩個(gè)虛擬主機(jī),分別使用32和32兩個(gè)IP地址。步驟:1、創(chuàng)建兩個(gè)設(shè)備別名,并設(shè)置其IP地址。ifconfigeth0:032ifconfigeht0:132例:某主機(jī)僅安裝一塊物理網(wǎng)卡,其IP地址為192.168.21242、編輯httpd.conf文件,并添加如下內(nèi)容:<VirtualHost192.168.302.132> DocumentRoot/var/www/vhost-ip3</VirtualHost><VirtualHost192.168.302.232> DocumentRoot/var/www/vhost-ip4</VirtualHost>3、在/var/www下分別建立vhost-ip3和vhost-ip4兩個(gè)目錄,并分別創(chuàng)建index.html文件。4、重新啟動(dòng)httpd守護(hù)進(jìn)程,再輸入“http://IP地址”的URL形式訪問(wèn)虛擬主機(jī)。若虛擬主機(jī)的IP地址能被DNS服務(wù)器解析,那么用戶也可以使用“http://域名”的URL形式訪問(wèn)虛擬主機(jī)。2、編輯httpd.conf文件,并添加如下內(nèi)容:125基于域名的虛擬主機(jī)基于域名的虛擬主機(jī),必須向DNS服務(wù)器注冊(cè)域名。否則無(wú)法訪問(wèn)虛擬主機(jī)。例:某主機(jī)的IP地址為32,要求設(shè)置兩個(gè)虛擬主機(jī),其域名分別是和。步驟:1、向DNS服務(wù)器的正向區(qū)域文件添加A記錄,說(shuō)明域名和與IP地址32的對(duì)應(yīng)關(guān)系。2、向DNS反向區(qū)域文件增加PTR記錄。3、重啟named守護(hù)進(jìn)程?;谟蛎奶摂M主機(jī)基于域名的虛擬主機(jī),必須向DNS服務(wù)器注冊(cè)1264、編輯httpd.conf文件,添加如下內(nèi)容:NameVirtualHost32<VirtualHost32> DocumentRoot/var/www/vhost-x ServerName</VirtualHost><VirtualHost32> DocumentRoot/var/www/vhost-y ServerName</VirtualHost>5、在/var/www下分別建立vhost-x和vhost-y目錄,并分別創(chuàng)建index.html文件。6、重新啟動(dòng)httpd守護(hù)進(jìn)程。4、編輯httpd.conf文件,添加如下內(nèi)容:127個(gè)人Web站點(diǎn)Apache服務(wù)器的配置文件httpd.conf,允許每個(gè)用戶架設(shè)個(gè)人Web站點(diǎn),并設(shè)置用戶個(gè)人Web站點(diǎn)的訪問(wèn)權(quán)限。在用戶主目錄中建立public_html子目錄,并將相關(guān)的網(wǎng)頁(yè)文件保存于此。修改用戶主目錄的權(quán)限,添加其他用戶的執(zhí)行權(quán)限。用戶主目錄的默認(rèn)權(quán)限是700,除了用戶本人以外,其他任何用戶都不能進(jìn)入此目錄。

個(gè)人Web站點(diǎn)Apache服務(wù)器的配置文件httpd.con1281、修改httpd.conf文件,設(shè)置mod_userdir.c模塊的內(nèi)容,允許用戶架設(shè)個(gè)人web站點(diǎn)。httpd.conf文件的默認(rèn)類(lèi)容如下:<IfModulemod_userdir.c>#UserDirisdisabledbydefaultsinceitcanconfirmthepresence#ofausernameonthesystem(dependingonhomedirectory#permissions).UserDirdisable#Toenablerequeststo/~user/toservetheuser'spublic_html#directory,removethe"UserDirdisable"lineabove,anduncomment#thefollowinglineinstead:#UserDirpublic_html</IfModule>1、修改httpd.conf文件,設(shè)置mod_userdir1292、保留說(shuō)明語(yǔ)句,將其改為:<IfModulemod_userdir.c>#UserDirisdisabledbydefaultsinceitcanconfirmthepresence#ofausernameonthesystem(dependingonhomedirectory#permissions).#UserDirdisable#Toenablerequeststo/~user/toservetheuser'spublic_html#directory,removethe"UserDirdisable"lineabove,anduncomment#thefollowinglineinstead:UserDirpublic_html</IfModule>2、保留說(shuō)明語(yǔ)句,將其改為:1303、管理員根據(jù)實(shí)際需要設(shè)置個(gè)人Web站點(diǎn)的訪問(wèn)權(quán)限。如果需要使用默認(rèn)權(quán)限設(shè)置,則去掉一下內(nèi)容前的#號(hào)。#<Directory/home/*/public_html>#AllowOverrideFileInfoAuthConfigLimit#OptionsMultiViewsIndexesSymLinksIfOwnerMatchIncludesNoExec#<LimitGETPOSTOPTIONS>#Orderallow,deny#Allowfromall#</Limit>#<LimitExceptGETPOSTOPTIONS>#Orderdeny,allow#Denyfromall#</LimitExcept>#</Directory>3、管理員根據(jù)實(shí)際需要設(shè)置個(gè)人Web站點(diǎn)的訪問(wèn)權(quán)限。如果需要1314、凡是要建立個(gè)人Web站點(diǎn)的用戶都必須在其用戶目錄中建立public_html子目錄,并將相關(guān)的網(wǎng)頁(yè)保存于此。5、修改用戶主目錄的權(quán)限,添加其他用戶的執(zhí)行權(quán)限。6、重新啟動(dòng)httpd守護(hù)進(jìn)程,則可訪問(wèn)用戶的個(gè)人Web站點(diǎn)。4、凡是要建立個(gè)人Web站點(diǎn)的用戶都必須在其用戶目錄中建立p132小結(jié)介紹了最流行的Apache服務(wù)器軟件安裝基本配置方法創(chuàng)建基于IP地址的虛擬主機(jī)和基于域名的虛擬主機(jī)。圖形配置工具和配置文件httpd.conf兩種方法小結(jié)介紹了最流行的Apache服務(wù)器軟件133習(xí)題HTTP協(xié)議是什么的縮寫(xiě)?有什么作用?什么是Web服務(wù)?它與HTTP協(xié)議有什么關(guān)系?Apache是開(kāi)源軟件嗎?從哪里可以獲得?Apache服務(wù)器提供什么服務(wù)?它支持哪些軟件平臺(tái)?Apache的配置文件是什么?該文件分為幾個(gè)部分?如何配置基于IP的虛擬主機(jī)?如何配置基于域名的虛擬主機(jī)?<Directory>指令塊是如何控制目錄的訪問(wèn)的?查找資料,自學(xué)<Location>指令塊的使用方法。習(xí)題HTTP協(xié)議是什么的縮寫(xiě)?有什么作用?134Web服務(wù)器配置與應(yīng)用Web服務(wù)器配置與應(yīng)用135內(nèi)容1Web服務(wù)基本概念2Apache服務(wù)器3Apache圖形配置工具4Apache的配置文件內(nèi)容1Web服務(wù)基本概念136Web服務(wù)基本概念萬(wàn)維網(wǎng)

WWW(WorldWideWeb)并非某種特殊的計(jì)算機(jī)網(wǎng)絡(luò)。萬(wàn)維網(wǎng)是一個(gè)大規(guī)模的、聯(lián)機(jī)式的信息儲(chǔ)藏所。萬(wàn)維網(wǎng)用鏈接的方法能非常方便地從因特網(wǎng)上的一個(gè)站點(diǎn)訪問(wèn)另一個(gè)站點(diǎn),從而主動(dòng)地按需獲取豐富的信息。這種訪問(wèn)方式稱為“鏈接”。Web服務(wù)基本概念萬(wàn)維網(wǎng)WWW(WorldWideW137萬(wàn)維網(wǎng)提供分布式服務(wù)萬(wàn)維網(wǎng)站點(diǎn)A萬(wàn)維網(wǎng)站點(diǎn)C萬(wàn)維網(wǎng)站點(diǎn)E萬(wàn)維網(wǎng)站點(diǎn)D萬(wàn)維網(wǎng)站點(diǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論