第14章Apache基礎(chǔ)ppt課件_第1頁
第14章Apache基礎(chǔ)ppt課件_第2頁
第14章Apache基礎(chǔ)ppt課件_第3頁
第14章Apache基礎(chǔ)ppt課件_第4頁
第14章Apache基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第14章Apache基礎(chǔ)主講人:主講人: 梁如軍梁如軍2019-05-05;本章內(nèi)容要點nWeb服務(wù)和HTTP協(xié)議nApache的特性、構(gòu)造nApache的安裝、啟動和管理nApache的配置文件語法nApache的認(rèn)證和授權(quán)nApache的虛擬主機nApache的日志管理nApache的SSL支持2022年4月22日2;本章學(xué)習(xí)目標(biāo) n掌握Web組件的組成n熟悉Apache的特性、結(jié)構(gòu)和運行機制n掌握Apache的安裝、啟動與停止n熟悉Apache的配置文件語法n掌握別名和目錄容器的配置n掌握主機訪問控制、認(rèn)證和授權(quán)的配置n掌握基于IP和域名的虛擬主機配置n掌握基于SSL協(xié)議的Apache配

2、置2022年4月22日3;WWW和和APACHE2022年4月22日4;Web服務(wù)器簡介nWWW 是一種交互式圖形界面的 Internet 效力nWWWWorld Wide Web), 也稱 Webn具有強大的信息連接功能nInternet上最熱門的服務(wù)之一n成為人們在網(wǎng)上查找、瀏覽信息的主要手段nWeb服務(wù)具有如下特點 nWeb是圖形化的和易于導(dǎo)航的 nWeb是與平臺無關(guān)的 nWeb是分布式的 nWeb是動態(tài)的 nWeb是交互的 2022年4月22日;5Web組件n統(tǒng)一資源標(biāo)識符 URInWeb 客戶和 Web 服務(wù)器n超文本傳輸協(xié)議 nWeb緩存和Web代理nCookie 和Session

3、機制nWeb內(nèi)容的構(gòu)建組件2022年4月22日;6Web組件URIn協(xié)議名稱 所使用的訪問協(xié)議。如:、ftp 等n機器地址 數(shù)據(jù)所在的機器,IP地址/域名n端口號 請求數(shù)據(jù)的數(shù)據(jù)源端口可省略)n路徑名 數(shù)據(jù)所在的相對路徑n文件名 請求數(shù)據(jù)的文件名2022年4月22日;7協(xié)議名稱機器地址協(xié)議名稱機器地址:端口號端口號/路徑名路徑名/文件名文件名9191:8080/diveintopython3/whats-new.htmlftp91ftp91:8021Web組件

4、客戶與服務(wù)器nWeb 服務(wù)器的職責(zé)n默認(rèn)監(jiān)聽TCP/IP的80端口n接受Web客戶請求n檢查請求的合法性,包括安全性屏蔽n針對請求獲取并制作和處理數(shù)據(jù)n把處理后的信息發(fā)送給提出請求的客戶機nWeb 瀏覽器的職責(zé)n生成一個 Web 懇求通常在單擊某個鏈接點時啟動)n通過網(wǎng)絡(luò)將 Web 請求發(fā)送給某個 Web 服務(wù)器n解釋服務(wù)器傳來的 Web 文檔,并把結(jié)果顯示在屏幕上2022年4月22日;8Web客戶與服務(wù)器通信過程n每取一個網(wǎng)頁建立一次連接,讀完后馬上斷開;當(dāng)需要另一個網(wǎng)頁時重新連接,周而復(fù)始。2022年4月22日;9Web組件HTTP協(xié)議1)n超文本傳輸協(xié)議Hyper Text Transf

5、er Protocol是在 Web 上傳輸資源最常用的方式n 規(guī)定了客戶機和服務(wù)器等 Web 組件 相互交換信息的格式和含義n 協(xié)議的特點nURI 資源識別n懇求-響應(yīng)方式n無狀態(tài)性n攜帶元數(shù)據(jù)2022年4月22日;10Web組件HTTP協(xié)議2)nHTTP協(xié)議的版本n/1.0 n/1.1 當(dāng)前廣泛使用的協(xié)議標(biāo)準(zhǔn)。nRFC 7230, /1.1: Message Syntax and RoutingnRFC 7231, /1.1: Semantics and ContentnRFC 7232, /1.1: Conditional RequestsnRFC 7233, /1.1: Range Re

6、questsnRFC 7234, /1.1: CachingnRFC 7235, /1.1: Authenticationn/22022年4月22日;11Web組件HTTP協(xié)議3)n 的連接方式2022年4月22日;12Web組件HTTP協(xié)議4)nHTTP的協(xié)議頭n( header是HTTP會話請求和響應(yīng)的一部分,用于客戶端和服務(wù)器進(jìn)行HTTP協(xié)議協(xié)商。n請求頭 (Request Header Fields) (/html/rfc7231#section-5)n響應(yīng)頭 (Response Header Fields)(

7、/html/rfc7231#section-7)n使用curl命令獲取HTTP的協(xié)議頭ncurl -s -I -v centos | egrep |2022年4月22日;13Web組件HTTP協(xié)議5)nHTTP的請求方法nHEADnGETnPOSTnPUTnDELETEnCONNECTnOPTIONSnTRACE2022年4月22日;14Web組件HTTP協(xié)議6)nHTTP的響應(yīng)代碼n信息 1xxn表明服務(wù)端接收了客戶端請求,客戶端繼續(xù)發(fā)送請求n勝利 2xxn客戶端發(fā)送的請求被服務(wù)端成功接收并成功進(jìn)行了處理n重定向 3xxn服務(wù)端給客戶端返回用于重定向的信息n客戶端錯誤 4xxn客戶端的請求有

8、非法內(nèi)容n服務(wù)器錯誤 5xxn服務(wù)端未能正常處理客戶端的請求而出現(xiàn)意外錯誤2022年4月22日;15Web組件Web緩存和Web代理nWeb緩存nHTTP協(xié)議定義了客戶端緩存機制。n架設(shè)Web緩存服務(wù)器和內(nèi)容分發(fā)網(wǎng)絡(luò)Content Delivery Network,CDN可以加快客戶端訪問。nWeb代理n同時扮演著客戶和服務(wù)器的雙重身份n對于 Web 客戶來說是服務(wù)器n對于 Web 服務(wù)器來說是客戶n還可以過濾不希望的 Web 懇求,實現(xiàn)高速緩存等2022年4月22日;16Web組件 Cookie 和Session機制n 是一個無狀態(tài)協(xié)議,因此當(dāng)Web服務(wù)器將Web客戶請求的響應(yīng)發(fā)送出去后,服

9、務(wù)器便不必保存任何信息了。nWeb服務(wù)器可以指示W(wǎng)eb客戶以存儲 Cookie 的方式在一系列請求和響應(yīng)之間維持狀態(tài),而服務(wù)器端則采用Session機制保持狀態(tài)。2022年4月22日;17Web組件 Web內(nèi)容的構(gòu)建組件n使用HTML/XHTML、CSS、Javascript構(gòu)建靜態(tài)Web頁面n使用CGI、PHP、Python、Ruby、Java Servlet、Node.js等技術(shù)構(gòu)建動態(tài)Web應(yīng)用n使用各種數(shù)據(jù)發(fā)布格式及語言XML、YAML、JSON、RSS/Atom交換數(shù)據(jù)2022年4月22日;18HTMLn超文本標(biāo)記語言HTML是為純文本格式的超文本文檔提供了一種標(biāo)準(zhǔn)的表述方式nHTM

10、L 是由標(biāo)準(zhǔn)通用標(biāo)記語言SGML演化而來的nHTML 可以使用標(biāo)記格式化文本、引用圖片或嵌入其他文檔的超鏈接n有關(guān) HTML 和 XHTML 的更多信息,請參見: /MarkUp/ 2022年4月22日;19Linux下常用的Web服務(wù)器nAnN/nLighttpdnlighttpd/2022年4月22日;20Apache簡介nApache 是一個知名的開源Web服務(wù)器n由NCSA httpd 1.3 經(jīng)過較為完整的代碼重寫n稱號 Apache意為 A Patchy Server,即它是基于現(xiàn)存的代碼和一系列的

11、Patch文件nApache軟件基金會ASF,Apache Software F 維護(hù)n2019.02 Apache 2.4版發(fā)行n在功能、效率、擴(kuò)展及速度方面居于領(lǐng)先的地位n根據(jù)Netcraft提供的最新調(diào)查資料,Apache Web服務(wù)器是使用比例最高的Web服務(wù)器2022年4月22日;21Apache 的特性n開放源代碼、跨平臺應(yīng)用。n模塊化設(shè)計 、運行穩(wěn)定、良好的安全性。n實現(xiàn)了動態(tài)共享對象(DSO),允許在運行時動態(tài)裝載功能模塊。n支持最新的HTTP 1.1協(xié)議。n支持虛擬主機、支持HTTP認(rèn)證、集成了代理服務(wù)、支持安全Socket層SSL)。n

12、使用簡單而強有力的基于文本的配置文件、具有可定制的服務(wù)器日志。n支持通用網(wǎng)關(guān)接口CGI、FastCGI、服務(wù)器端包含命令SSI)。n支持PHP/Perl/Python/Ruby/Java Servlets等腳本編程語言。n支持第三方軟件開發(fā)商提供的大量功能模塊。2022年4月22日;22參考 /docs/2.4/new_features_2_4.html查看Apache 2.4版的新特性Apache 的結(jié)構(gòu)nApache由內(nèi)核、標(biāo)準(zhǔn)模塊和第三方提供的模塊三個層次組成n模塊信息:2022年4月22日;23Apache 的運行模式

13、nApache 2.X使用新的多處理模塊Multi-Processing Module,MPM)n在服務(wù)器處理多個請求時控制Apache的運行方式nApache中的3種運行模式n多進(jìn)程模型n預(yù)派生ProforkMPMn多進(jìn)程多線程混合模型n工作者WorkerMPMn事件Event )MPM2022年4月22日;24CENTOS下的下的APACHE2022年4月22日25;Apache服務(wù)概覽n軟件包: httpd, httpd-devel, httpd-manualn服務(wù)類型:由Systemd啟動的守護(hù)進(jìn)程n配置單元: /usr/lib/systemd/system/httpd.service

14、n守護(hù)進(jìn)程: /usr/sbin/httpdn端口: 80(), 443(https)n配置: /etc/httpd/nWeb文檔: /var/www/n相關(guān)軟件包: mod_ssl2022年4月22日;26Apache的安裝和啟動n安裝n# yum install httpd httpd-manualn管理httpd服務(wù)n# systemctl start|stop|status|restart|reload httpdn# systemctl enable|disable httpd n檢查配置文件的正確性n# apachectl -t n# httpd -t2022年4月22日;27Ap

15、ache的相關(guān)文件n管理工具n/usr/sbin/apachectl: Apache 服務(wù)器控制接口n/usr/bin/ab:Apache 服務(wù)器性能測試工具n/usr/bin/logresolve:將 Apache 日志文件中的 IP 地址解析為主機名n/usr/sbin/rotatelogs: 滾動 Apache 日志而無須終止服務(wù)器2022年4月22日;28查看Apache 的相關(guān)信息n顯示Apache的編譯參數(shù)n# apachectl -V 或 httpd -Vn查看已經(jīng)被編譯的模塊n# apachectl -l 或 httpd -ln列出所有模塊,包括mod_so加載的DSOn# a

16、pachectl -M 或 httpd -M2022年4月22日;29CentOS下Apache的默認(rèn)配置n服務(wù)器的根目錄: /etc/httpdn運行Apache的用戶:apachen運行Apache的組: apachen監(jiān)聽端口:80n模塊存放路徑:/usr/lib/httpd/modulesnprefork MPM 運行方式的參數(shù):nStartServers 8nMinSpareServers 5nMaxSpareServers 20nMaxClients 1502022年4月22日;30CentOS下Apache的默認(rèn)配置(續(xù))n默認(rèn)的Web文檔n/var/www/html/:根文檔目

17、錄n/var/www/cgi-bin/:CGI程序目錄n/var/www/error/:默認(rèn)的錯誤文檔目錄n/var/www/icons/:與icons相關(guān)的圖片目錄n默認(rèn)的日志文件n/var/log/httpd/access_log:訪問日志n/var/log/httpd/error_log:錯誤日志2022年4月22日;31CentOS下Apache的默認(rèn)配置(續(xù)2)nApache 的配置文件n/etc/httpd/conf/httpd.conf:Apache 的主配置文件n/etc/httpd/conf.d/*.conf:被主配置文件包含的配置文件n/etc/httpd/conf/mag

18、ic:mod_mime_magic 模塊使用的 Magic 數(shù)據(jù),無需配置n/etc/logrotate.d/httpd:Apache 的日志滾動配置文件n/etc/sysconfig/httpd:httpd 守護(hù)進(jìn)程的啟動配置文件2022年4月22日;32APACHE配置基礎(chǔ)配置基礎(chǔ)2022年4月22日33;Apache配置文件種類n主配置文件n/etc/httpd/conf/httpd.confn被主配置文件包含的配置文件n/etc/httpd/conf.d/*.confn可以用Include/IncludeOptional指令定義被包含的配置文件n基于目錄的配置文件n使用分布在網(wǎng)站目錄樹

19、中的特殊文件來進(jìn)行分散配置n這些特殊的文件默認(rèn)為 .htaccessn也可以用 AccessFileName 指令來改變它的名字2022年4月22日;34配置文件的基本語法n每一行包含一個指令,在行尾使用反斜杠”可以表示續(xù)行n配置文件中的指令不區(qū)分大小寫,但是指令的參數(shù) (argument) 通常區(qū)分大小寫n以 ”#” 開頭的行被視為注解并在讀取時被忽略。注解不能出現(xiàn)在指令的后邊n空白行和指令前的空白字符將在讀取時被忽略,因此可以采用縮進(jìn)以保持配置層次的清晰2022年4月22日;35Apache 的兩種編譯方式n靜態(tài)編譯n將核心模塊和所需要的模塊一次性編譯n優(yōu)點:運行速度快n缺陷:要增加或刪除

20、模塊必須重新編譯整個 Apachen動態(tài)編譯n只編譯核心模塊和 DSO (動態(tài)共享對象模塊 mod_son優(yōu)點:各模塊可以獨立編譯,并可隨時用 LoadModule 指令加載,用于特定模塊的指令可以用 指令包含起來,使之有條件地生效。n缺陷:運行速度稍慢2022年4月22日;36Apache 的模塊n查看Apache的編譯參數(shù)n# httpd -lnRHEL/CentOS 中的Apache是動態(tài)編譯的nmod_so.c 模塊使 Apache 支持 Dynamic Shared ObjectsDSO)n可在不重新編譯 Apache 的情況下使用 APache eXtenSionapxs編譯 Ap

21、ache 的其他模塊n所有動態(tài)編譯的模塊在使用時需要使用LoadModule 指令加載nLoadModule rewrite_module modules/mod_rewrite.so2022年4月22日;37獲得Apache配置的幫助n查看配置文件的 MAN 手冊n# man httpd.confn查看本機安裝的HTML手冊n# w3m localhost/manual/n輸 出Apache 的指令列表n# httpd -L 或 apachectl -L2022年4月22日;38Apache 的基本配置指令nApache的服務(wù)器標(biāo)識指令nApache的文件定位指令nApache MPM 的相

22、關(guān)指令nApache 常用的全局配置指令2022年4月22日;39Apache的服務(wù)器標(biāo)識指令nServerName:服務(wù)器用于辨識自己的主機名和端口:服務(wù)器用于辨識自己的主機名和端口號號nServerAdmin:服務(wù)器返回給客戶端的錯誤信息中包:服務(wù)器返回給客戶端的錯誤信息中包含的管理員郵件地址含的管理員郵件地址nServerSignature:配置服務(wù)器生成頁面的頁腳的信:配置服務(wù)器生成頁面的頁腳的信息息nServerTokens:控制了服務(wù)器回應(yīng)給客戶端的:控制了服務(wù)器回應(yīng)給客戶端的Server:“應(yīng)答頭是否包含關(guān)于服務(wù)器操作系統(tǒng)類型和應(yīng)答頭是否包含關(guān)于服務(wù)器操作系統(tǒng)類型和編譯進(jìn)的模塊描

23、述信息編譯進(jìn)的模塊描述信息nUseCanonicalName:決議:決議 Apache 如何構(gòu)造如何構(gòu)造 URL 中中 SERVER_NAME 和和 SERVER_PORT 的指令的指令2022年4月22日;40Apache的文件定位指令nServerRoot:指定服務(wù)器安裝的基礎(chǔ)目錄:指定服務(wù)器安裝的基礎(chǔ)目錄nDocumentRoot:組成網(wǎng)絡(luò)上可見的主文檔:組成網(wǎng)絡(luò)上可見的主文檔樹的根目錄樹的根目錄nErrorLog:存放錯誤日志的位置:存放錯誤日志的位置nCustomLog:訪問日志文件的位置:訪問日志文件的位置nLockFile:Apache 使用的鎖文件的位置使用的鎖文件的位置nPi

24、dFile:設(shè)置服務(wù)器用于記錄父進(jìn)程:設(shè)置服務(wù)器用于記錄父進(jìn)程(監(jiān)控進(jìn)監(jiān)控進(jìn)程程) PID 的文件的文件2022年4月22日;41Apache Profork MPM 的相關(guān)指令nStartServers:啟動時服務(wù)器啟動的進(jìn)程數(shù):啟動時服務(wù)器啟動的進(jìn)程數(shù)nMinSpareServers:保有的備用進(jìn)程的最?。罕S械膫溆眠M(jìn)程的最小數(shù)目數(shù)目nMaxSpareServers:保有的備用進(jìn)程的最大:保有的備用進(jìn)程的最大數(shù)目數(shù)目nMaxClients:服務(wù)器允許啟動的最大進(jìn)程數(shù):服務(wù)器允許啟動的最大進(jìn)程數(shù)nMaxRequestsPerChild:一個服務(wù)進(jìn)程允許:一個服務(wù)進(jìn)程允許的最大請求數(shù)的最大請求

25、數(shù)2022年4月22日;42Apache 常用的全局配置指令nListen:指定監(jiān)聽的:指定監(jiān)聽的IP地址、端口號,默認(rèn)為地址、端口號,默認(rèn)為80nUser:指定運行:指定運行Apache服務(wù)的用戶名,默認(rèn)為服務(wù)的用戶名,默認(rèn)為apachenGroup:指定運行:指定運行Apache服務(wù)的組名,默認(rèn)為服務(wù)的組名,默認(rèn)為apachenLogLevel:指定錯誤日志的記錄級別:指定錯誤日志的記錄級別nTimeout:指定網(wǎng)絡(luò)連接超時,默認(rèn)為:指定網(wǎng)絡(luò)連接超時,默認(rèn)為120單位為秒)單位為秒)nKeepAlive:指定是否保持連接,默認(rèn)為:指定是否保持連接,默認(rèn)為OffnKeepAliveTimeo

26、ut:保持連接狀態(tài)時的超時時間,默認(rèn)為:保持連接狀態(tài)時的超時時間,默認(rèn)為15單位單位為秒)為秒)nMaxKeepAliveRequests:保持連接狀態(tài)時,每次連接最多請求文:保持連接狀態(tài)時,每次連接最多請求文件數(shù),默認(rèn)為件數(shù),默認(rèn)為100nDirectoryIndex:指定默認(rèn)的索引頁文件,默認(rèn)為:指定默認(rèn)的索引頁文件,默認(rèn)為index.html index.html.varnIndexOptions:指定服務(wù)器所生成的列表頁面的輸出選項:指定服務(wù)器所生成的列表頁面的輸出選項2022年4月22日;43Apache 的配置容器nn用于對指定的目錄可使用用于對指定的目錄可使用Shell通配符實施

27、額通配符實施額外的配置外的配置nn用于對指定的文件可使用用于對指定的文件可使用Shell通配符實施額通配符實施額外的配置外的配置nn用于對指定的用于對指定的 URL (可使用(可使用Shell通配符實施通配符實施額外的配置額外的配置nn用于對指定的用于對指定的HTTP方法實施額外的配置方法實施額外的配置nn用于對指定的用于對指定的HTTP方法之外的方法實施額外的方法之外的方法實施額外的配置配置2022年4月22日;44Apache 的配置容器續(xù))n功能與Directory、Files、Location容器相同,在描述目錄、文件URL時可以使用正則表達(dá)式nnnn虛擬主機容器nn用于對虛擬主機實施

28、額外的配置一臺計算機支持多個站點的能力)2022年4月22日;45Apache主配置文件的組成和配置指令的作用域nApache主配置文件的組成n全局環(huán)境配置n主服務(wù)器配置n虛擬主機配置n配置指令的作用域n配置指令作用范圍可以是全局或只能在容器nserver config、virtual host、directory、.htaccessn查看指令的 作用域nApache 手冊中指令的作用域Context項n# httpd -L 或 apachectl -L2022年4月22日;46APACHE的基本配置的基本配置2022年4月22日47;主機訪問控制簡介nApache可以根據(jù)訪問者的 IP 地址

29、或域名來決定是否為之提供資源,也稱強驗證n訪問控制的功能由 mod_authz_core和mod_authz_host 模塊提供n使用Require指令實現(xiàn)訪問控制2022年4月22日;48訪問控制的指令的作用范圍n可用在、 和容器中n既可以用在主配置文件或其包含的配置文件中,也可以用在.htaccess配置文件中n既可以放在“主配置部分用于控制主服務(wù)器;也可以放在容器中用于控制虛擬主機2022年4月22日;49Require 指令n允許所有主機訪問nRequire all grantedn拒絕所有主機訪問nRequire all deniedn僅允許本地主機訪問nRequire localn

30、允許或制止指定的主機或域訪問nRequire not host n允許或制止指定IP地址的訪問nRequire not ip 2022年4月22日;50訪問控制舉例2022年4月22日;51Require ip Require ip 10 172.20 192.168.2Require ip /Require ip /16 /24Require host Require host abcRequire host .訪問控

31、制舉例 續(xù)2022年4月22日;52 Require all granted Require not ip 65 Require ip /24 Require not ip 65別名Alias)n別名可以將文檔根目錄(/var/www/html以外的內(nèi)容加入站點,也稱虛擬目錄nAlias 指令nAlias /URL-path /path/to/other/directory/“n將以 /URL-path 開頭的 URL 映射到 /path/to/other/directory 中的文件nAlias 舉例nAlias /manua

32、l /var/www/manual“nAlias /ks /kickstart2022年4月22日;53容器選項配置Options)nOptions 指令用于控制當(dāng)前容器中可以使用哪些服務(wù)器特性n可以出現(xiàn)在n主配置文件或.htaccess配置文件中n、容器中nOptions 指令格式nOptions +|-Option1 +|-Option2 n選項之前添加加號(+)表示添加此特性n選項之前添加減號(-)表示去掉此特性2022年4月22日;54Options指令的常用選項nAll:除:除MultiViews之外的所有特性。默認(rèn)設(shè)置之外的所有特性。默認(rèn)設(shè)置nNone:將不啟用任何額外特性:將不啟

33、用任何額外特性nExecCGI:允許使用:允許使用mod_cgi執(zhí)行執(zhí)行CGI腳本腳本nFollowSymLinks:服務(wù)器允許在此目錄中使用:服務(wù)器允許在此目錄中使用符號連接符號連接nIndexes:若一個映射到目錄的:若一個映射到目錄的URL被請求,而被請求,而此目錄中又沒有此目錄中又沒有DirectoryIndex指定的文件例指定的文件例如如index.html),則服務(wù)器會返回由),則服務(wù)器會返回由mod_autoindex模塊生成的一個格式化后的目錄模塊生成的一個格式化后的目錄列表列表nMultiViews:允許使用:允許使用mod_negotiation提供內(nèi)提供內(nèi)容協(xié)商的容協(xié)商的

34、“多重視圖多重視圖”2022年4月22日;55IndexOptions指令n用于配置 mod_autoindex 模塊生成目錄列表的顯示特性nIndexOptions 指令的常用選項nFancyIndexing n對每種類型的文件前加上一個小圖標(biāo)以示區(qū)別 nVersionSort n對同一個軟件的多個版本進(jìn)行排序 nNameWidth=* n文件名子段自動適應(yīng)當(dāng)前目錄下最長文件名 nFoldersFirstn讓目錄列在前面類似于資源管理器) 2022年4月22日;56主機訪問控制和別名的配置舉例n使用別名配置對yum倉庫和Kickstart的訪問2022年4月22日;57Alias /mirr

35、ors /var/ftp/mirrors Options Indexes FollowSymlinks IndexOptions +DescriptionWidth=* +FoldersFirst Require local Require ip /24 /24 /24Alias /ks /kickstart Options Indexes FollowSymlinks IndexOptions +DescriptionWidth=* +FoldersFirst Require local Require ip 192.16

36、8.0.0/24 /24 /24配置每個用戶的配置每個用戶的Web站點站點n使擁有用戶賬號的每個用戶都能夠架設(shè)自己單獨的Web站點n運用 mod_userdir 模塊,可以用如下的URLnIPorFQDN/usernamen訪問系統(tǒng)用戶username的Web站點n使用UserDir指令指定用戶站點的文檔根目錄n配置步驟n修改配置文件啟用mod_userdir 模塊并配置每個用戶Web站點目錄的訪問控制)n設(shè)置$HOME對其他目錄的可執(zhí)行權(quán)限2022年4月22日;58基于目錄的配置文件n可以使用.htaccess文件改變主配置文件中的配置,但是它

37、只能設(shè)置對目錄的訪問控制,這個目錄就是.htaccess文件存放的目錄n運用.htaccess文件的場合n當(dāng)內(nèi)容提供者需要針對目錄改變服務(wù)器的配置而對服務(wù)器系統(tǒng)沒有root權(quán)限時n管理員不愿意頻繁修改配置并重啟服務(wù),因為修改.htaccess文件后立即生效,無需重新啟動服務(wù)2022年4月22日;59運用.htaccess文件的方法n首先在主配置文件中啟用并控制對.htaccess文件的使用nAllowOverride all|nonen然后在需要覆蓋主配置文件的目錄下生成.htaccess文件n運用.htaccess文件舉例2022年4月22日;60認(rèn)證和授權(quán)認(rèn)證和授權(quán)2022年4月22日61

38、;認(rèn)證和授權(quán)簡介nApache的認(rèn)證和授權(quán)基于用戶的訪問控制)n認(rèn)證和授權(quán)是 Apache 允許指定用戶使用用戶名和口令訪問特定資源的一種方式n認(rèn)證Authentication是指任何識別用戶身份的過程n授權(quán)Authorization是允許特定用戶訪問特定區(qū)域或信息的過程n認(rèn)證和授權(quán)也稱弱驗證n認(rèn)證和授權(quán)的配置指令既可以出現(xiàn)在主或其包含的配置文件的或容器中,也可以出現(xiàn)在./htaccess文件中2022年4月22日;62兩種認(rèn)證基本認(rèn)證基本認(rèn)證摘要認(rèn)證摘要認(rèn)證Apache 模塊mod_auth_basicmod_auth_digest證書管理程序 htpasswdhtdigest瀏覽器支持所有

39、瀏覽器均支持絕大多數(shù)瀏覽器均支持特點可用于任何認(rèn)證領(lǐng)域只用于指定的認(rèn)證領(lǐng)域在網(wǎng)絡(luò)中傳輸Base64編碼的明文口令,不安全在網(wǎng)絡(luò)中只傳輸質(zhì)詢碼和摘要信息,不傳輸口令,更安全2022年4月22日;63認(rèn)證和授權(quán)的證書存儲和相關(guān)模塊n通常使用純文本文件存儲認(rèn)證口令證書通常使用純文本文件存儲認(rèn)證口令證書n為了加快檢索可以使用為了加快檢索可以使用DBM數(shù)據(jù)庫數(shù)據(jù)庫n為了與其他應(yīng)用集成可以使用關(guān)系數(shù)據(jù)庫或為了與其他應(yīng)用集成可以使用關(guān)系數(shù)據(jù)庫或LDAP存存儲儲2022年4月22日;64認(rèn)證認(rèn)證授權(quán)授權(quán)純文本文件純文本文件mod_authn_filemod_authz_user mod_authz_group

40、fileDBM 數(shù)據(jù)庫數(shù)據(jù)庫mod_authn_dbmmod_authz_dbm關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫mod_authn_dbdLDAPmod_authnz_ldap認(rèn)證相關(guān)指令n定義受保護(hù)領(lǐng)域的名稱nAuthName n定義使用的認(rèn)證方式nAuthType Basic或Digestn指定認(rèn)證組文件的位置nAuthGroupFile n指定認(rèn)證口令文件的位置nAuthUserFile n指定摘需要認(rèn)證的 URI僅用于摘要認(rèn)證)nAuthDigestDomain URI URI 2022年4月22日;65授權(quán)n當(dāng)使用認(rèn)證指令配置了認(rèn)證之后,還需要使用Require指令為指定的用戶或組進(jìn)行授權(quán)nRe

41、quire指令的三種使用格式n授權(quán)給指定的一個或多個用戶nRequire user 用戶名 用戶名 n授權(quán)給指定的一個或多個組nRequire group 組名 組名 n授權(quán)給認(rèn)證口令文件中的所有用戶nRequire valid-user 2022年4月22日;66管理基本認(rèn)證的口令文件htpasswd 命令n添加一個認(rèn)證用戶的同時創(chuàng)建認(rèn)證口令文件n# htpasswd -cm n向現(xiàn)存的口令文件中添加用戶或修改已存在的用戶的口令n# htpasswd -m n從認(rèn)證口令文件中刪除用戶及其口令n# htpasswd -D 2022年4月22日;67-m 參數(shù)可以生成MD5算法的加密口令Cent

42、OS7中為默認(rèn)參數(shù))-b 參數(shù)用于在命令行上直接指定用戶名及其口令,而非交互模式管理摘要認(rèn)證的口令文件htdigest 命令n添加一個認(rèn)證用戶的同時創(chuàng)建認(rèn)證口令文件n# htdigest -c n向現(xiàn)存的口令文件中添加用戶或修改已存在的用戶的口令n# htdigest 2022年4月22日;68沒有提供從認(rèn)證口令文件中刪除指定用戶及沒有提供從認(rèn)證口令文件中刪除指定用戶及其口令的功能,需要直接編輯認(rèn)證口令文件其口令的功能,需要直接編輯認(rèn)證口令文件管理認(rèn)證組文件nApache 支持認(rèn)證組文件nApache 沒有提供創(chuàng)建認(rèn)證組文件的命令n認(rèn)證組文件只是一個文本文件,可以使用任何文本編輯器創(chuàng)建并修改n

43、認(rèn)證組文件中每一行的格式 2022年4月22日;69組名組名:用戶名用戶名 用戶名用戶名 在認(rèn)證組文件中指定的用戶名,必須先使用 htpasswd 或 htdigest 命令添加到認(rèn)證口令文件中認(rèn)證證書的權(quán)限n認(rèn)證證書包擴(kuò)認(rèn)證口令文件和/或認(rèn)證組文件n基于安全因素的考慮n認(rèn)證證書不應(yīng)該存放在 DocumentRoot 指令指定的目錄或其子目錄下n建議存放在 /etc/httpd/passwd 子目錄或與虛擬主機根文檔目錄同級別的conf或passwd子目錄下n確保執(zhí)行Apache守護(hù)進(jìn)程的用戶CentOS默認(rèn)為 apache能讀取認(rèn)證證書n確保 apache 用戶能進(jìn)入存放認(rèn)證證書的目錄n確保

44、 apache 用戶能讀取認(rèn)證證書文件2022年4月22日;70認(rèn)證和授權(quán)配置舉例n在主配置文件中配置認(rèn)證和授權(quán)n在.htaccess文件中配置認(rèn)證和授權(quán)2022年4月22日;71虛擬主機虛擬主機2022年4月22日72;虛擬主機簡介n在一臺Web服務(wù)器上,通過多個獨立的IP地址、域名或端口號提供不同的Web站點n基于IP地址的虛擬主機n每個網(wǎng)站擁有不同的 IP 地址n通過訪問服務(wù)器上不同的IP地址訪問不同的網(wǎng)站n基于域名的虛擬主機n所有的虛擬主機可以共享同一個IP地址n使用不同的域名來訪問不同的網(wǎng)站n基于端口的虛擬主機n所有的虛擬主機可以共享同一個IP地址n各虛擬主機之間通過不同的端口號進(jìn)行

45、區(qū)分2022年4月22日;73虛擬主機注意事項n可以在一臺主機上混合配置不同方式的虛擬主機n在一臺主機上配置基于IP的虛擬主機時n既可以安裝配置多個網(wǎng)絡(luò)接口n也可以為一個網(wǎng)絡(luò)接口綁定多個 IP 地址n無論哪一種虛擬主機,都應(yīng)該配置域名解析n只有基于IP的虛擬主機可以使用IP地址和域名訪問n基于域名的虛擬主機只能使用域名訪問2022年4月22日;74虛擬主機配置指令nVirtualHost 容器內(nèi)使用的指令nServerName:用于指定虛擬主機的名稱和端口號nServerAdmin:用于指定虛擬主機的管理員E-mail地址nDocumentRoot:用于指定虛擬主機的根文檔目錄nErrorLo

46、g:用于指定虛擬主機的錯誤日志存放路徑nCustomLog:用于指定虛擬主機的訪問日志存放路徑n運用 、 等容器設(shè)置訪問控制等nVirtualHost 容器之外使用的指令nNameVirtualHost :用于為一個和多個基于域名的虛擬主機指定一個IP地址和端口n在 Apache 2.4 版中,可省略此指令2022年4月22日;75主服務(wù)器配置與虛擬主機配置的關(guān)系n覆蓋性nVirtualHost 容器中的指令會覆蓋主服務(wù)器范圍內(nèi)同名的配置指令n主服務(wù)器Main Server范圍內(nèi)的配置指令在所有 容器之外的指令,包括主配置文件使用Include包含的配置文件中的指令) 僅在它們沒有被Virtu

47、alHost 容器的配置覆蓋時才起作用n繼承性n每個虛擬主機都會從主服務(wù)器配置繼承相關(guān)的配置n例如:虛擬主機會繼承主服務(wù)器的DirectoryIndex2022年4月22日;76使用單獨的虛擬主機配置文件n配置虛擬主機時可以在主配置文件中進(jìn)行n為了方便維護(hù)虛擬主機的配置,通常為某個虛擬主機或某組虛擬主機使用單獨的配置文件2022年4月22日;77n修改主配置文件 /etc/htpd/conf/httpd.confnInclude vhosts.d/*.confn創(chuàng)建存放虛擬主機配置文件的目錄n# mkdir /etc/httpd/vhosts.d配置基于IP的虛擬主機n基于IP的虛擬主機的配置

48、步驟n在一臺主機上配置多個IP地址并配置域名解析n創(chuàng)建文檔目錄和測試主頁n修改配置文件添加虛擬主機配置n重新啟動 Apache,分別使用IP和域名進(jìn)行訪問測試n基于IP的虛擬主機的配置舉例2022年4月22日;78參考教材中的操作步驟配置基于域名的虛擬主機n基于域名的虛擬主機的配置步驟n配置虛擬主機的域名解析n創(chuàng)建文檔目錄和測試主頁n修改配置文件添加虛擬主機配置n重新啟動 Apache,使用域名進(jìn)行訪問測試n基于域名的虛擬主機的配置舉例2022年4月22日;79參考教材中的操作步驟日志管理日志管理2022年4月22日80;Apache 的日志n日志的種類 n錯誤日志n訪問日志nApache 默

49、認(rèn)的錯誤日志配置nApache 默認(rèn)的訪問日志配置2022年4月22日;81ErrorLog logs/error_logLogLevel warn LogFormat %h %l %u %t %r %s %b %Refereri %User-Agenti combinedCustomLog logs/access_log combinedApache的日志滾動nApache的日志滾動的必要性n一個訪問頻繁的Web站點的日志會迅速增長n定期清理以免造成磁盤空間的不必要的浪費n查看日志時打開小文件的速度比大文件的速度要快nApache的日志滾動方法nRHEL/CentOS的默認(rèn)配置nlogrot

50、ate 和 crond 實現(xiàn)日志滾動n其他工具n運用 Apache 自帶的 rotatelogsn運用 /) 2022年4月22日;82配置虛擬主機的日志n若在虛擬主機的容器之內(nèi)沒有配置日志指令,則每個虛擬主機將繼承使用主配置文件中容器之外的日志配置。n分離虛擬主機日志的方法n在容器之內(nèi)使用 ErrorLog 和 CustomLog 語句指定本虛擬主機單獨使用的日志文件n使用主配置文件將所有虛擬主機的日志記錄到一個文件,然后可以使用分離腳本 split-logfile 將日志文件的內(nèi)容按不同的虛擬主機拆分為多個文件2022年4月22日;83APACHE+

51、MOD_SSL2022年4月22日84;mod_sslnApache 服務(wù)器模塊 mod_ssl n提供了與 OpenSSL 的接口,它使用安全套接字層和傳輸層安全協(xié)議提供了強加密。 n此模塊基于 Ralf S. Engelschall 的 mod_/)工程n安裝n# yum -y install mod_ssln配置文件n/etc/httpd/conf.d/ssl.conf2022年4月22日;85Mod_ssl的默認(rèn)配置文件n/etc/httpd/conf.d/ssl.confnLoadModule ssl_module modules/mod_ssl.sonLi

52、sten 443nnSSLEngine onnSSLCertificateFile /etc/pki/tls/certs/localhost.crtnSSLCertificateKeyFile /etc/pki/tls/private/localhost.keyn2022年4月22日;86SSL相關(guān)的Apache配置指令nSSLEnginen開啟或關(guān)閉SSL/TLS協(xié)議引擎nSSLProtocoln允許使用哪些版本的SSL/TLS協(xié)議nSSLCipherSuiten告訴客戶端允許使用哪些加密算法nSSLCertificateFilen指定服務(wù)器證書文件nSSLCertificateKeyFil

53、en指定服務(wù)器私鑰文件2022年4月22日;87OpenSSL的加密算法套件nOpenSSL 的加密算法套件由4個屬性組成:n密鑰交換算法:nRSA或Diffie-Hellman算法的各種變種n認(rèn)證算法:nRSA, Diffie-Hellman, DSS 或 nonen加密算法:nAES, DES, Triple-DES, RC4, RC2, IDEA 或 nonen摘要算法:nMD5, SHA 或 SHA12022年4月22日;88SSLCipherSuitenSSLCipherSuiten用于在SSL握手過程中進(jìn)行加密算法協(xié)商時告訴客戶端允許使用哪些加密算法。n指令的值是一個冒號分隔的Op

54、enSSL加密算法套件字符串,默認(rèn)值為ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXPn增刪算法的語法n沒有標(biāo)記: 向列表中增加一個算法套件n+: 在列表中的相應(yīng)的位置增加一個算法套件n-: 從列表中臨時刪除相應(yīng)的算法套件n!: 從列表中永久刪除相應(yīng)的算法套件2022年4月22日;89SSLCipherSuite續(xù))續(xù))nCentOS的ssl.conf中的值為nSSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWn表示n首先指定所有的加密算法套件【ALL】n然后依次刪除n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論