




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目13部署Web服務(wù)內(nèi)容項(xiàng)目引入1需求分析2知識準(zhǔn)備3項(xiàng)目實(shí)施4小結(jié)6反思與進(jìn)階5項(xiàng)目引入為了展示學(xué)院的辦學(xué)理念,辦學(xué)條件,方便校內(nèi)外交流,IT協(xié)會決定部署Web站點(diǎn),同時(shí)也為每位教師開通個人主頁服務(wù),為教師與學(xué)生之間建立溝通的平臺。需求分析通過對校內(nèi)外進(jìn)行充分的調(diào)研分析,需要選擇合適的Web軟件,能根據(jù)實(shí)際情況配置安全可靠的Web環(huán)境。了解Web服務(wù)器的工作原理;掌握網(wǎng)站開發(fā)技巧;掌握虛擬主機(jī)的配置;掌握網(wǎng)站中用戶身份認(rèn)證方法。知識準(zhǔn)備一、Web服務(wù)器簡介Web分為Web客戶端和Web服務(wù)器。用戶使用瀏覽器或其他程序建立客戶端與服務(wù)器連接,具體工作流程具體如下:(1)用戶啟動瀏覽器,在瀏覽器地址欄中指定一個URL,瀏覽器便向該URL所指定的Web服務(wù)器發(fā)出請求。(2)Web服務(wù)器接到瀏覽器的請求后,把URL轉(zhuǎn)換成網(wǎng)頁所在服務(wù)器上的文件路徑名。(3)Web服務(wù)器執(zhí)行Web應(yīng)用程序的服務(wù)端代碼,對數(shù)據(jù)庫進(jìn)行操作。(4)數(shù)據(jù)庫執(zhí)行的結(jié)果返回給Web服務(wù)器。(5)Web服務(wù)器將服務(wù)端代碼執(zhí)行的結(jié)果嵌入到客戶端請求的文檔中。知識準(zhǔn)備一、Web服務(wù)器簡介Web分為Web客戶端和Web服務(wù)器。用戶使用瀏覽器或其他程序建立客戶端與服務(wù)器連接,具體工作流程具體如下:(6)Web服務(wù)器向客戶端發(fā)送頁面。(7)客戶端瀏覽顯示頁面。知識準(zhǔn)備一、Web服務(wù)器簡介1. Linux下常用的Web服務(wù)器(1) NginxNginx(enginex)在近幾年異軍突起,Nginx不僅是一個小巧且高效的HTTP服務(wù)器,也可以做一個高效的負(fù)載均衡反向代理,通過它接受用戶的請求并分發(fā)到多個Mongrel進(jìn)程可以極大提高Rails應(yīng)用的并發(fā)能力。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。知識準(zhǔn)備一、Web服務(wù)器簡介1. Linux下常用的Web服務(wù)器(2) LighttpdLighttpd是一個德國人領(lǐng)導(dǎo)的開源Web服務(wù)器軟件,其根本的目的是提供一個專門針對高性能網(wǎng)站,安全、快速、兼容性好并且靈活的webserver環(huán)境。具有非常低的內(nèi)存開銷、cpu占用率低、效能好以及豐富的模塊等特點(diǎn)。(3) ApacheNetcraft公司官網(wǎng)公布的調(diào)研數(shù)據(jù)(WebServerSurvey)已成為當(dāng)今人們了解全球網(wǎng)站數(shù)量以及服務(wù)器市場分額情況的主要參考依據(jù)。知識準(zhǔn)備一、Web服務(wù)器簡介ApacheHTTPServer(簡稱Apache)是Apache軟件基金會的一個開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴(kuò)展,將Perl/Python等解釋器編譯到服務(wù)器中。知識準(zhǔn)備二、LAMP模型LAMP(Linux+Apache+Mysql/MariaDB+Perl/PHP/Python)(圖13-2所示)網(wǎng)站架構(gòu)是目前國際流行的Web框架,該框架包括:Linux操作系統(tǒng),Apache網(wǎng)絡(luò)服務(wù)器,MySQL數(shù)據(jù)庫,Perl、PHP或者Python編程語言。和Java/J2EE架構(gòu)相比,LAMP具有Web資源豐富、輕量、快速開發(fā)等特點(diǎn),微軟的.NET架構(gòu)相比,LAMP具有通用、跨平臺、高性能、低價(jià)格的優(yōu)勢,因此LAMP無論是性能、質(zhì)量還是價(jià)格都是企業(yè)搭建網(wǎng)站的首選平臺。從網(wǎng)站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案,也是是現(xiàn)在運(yùn)行效率最高的。圖132LMAP標(biāo)志項(xiàng)目實(shí)施一、安裝Apache服務(wù)RedHatEnterpriseLinux7.6中提供了Apache服務(wù)器的RPM包和YUM源,軟件包以httpd開頭。下面以YUM的安裝為例介紹Apache服務(wù)軟件包的安裝。httpd是Apache服務(wù)器的一個守護(hù)進(jìn)程,用于具體實(shí)現(xiàn)Apache服務(wù)器的功能。1.查詢系統(tǒng)是否安裝Apache。在終端窗口輸入:“rpm-qhttpd”命令檢查系統(tǒng)是否安裝了bind軟件包。[root@localhost~]#rpm-qhttpd未安裝軟件包httpd[root@localhost~]#yuminstallhttpd–y2.安裝完成后再次查詢。[root@localhost~]#rpm-qa|grephttpdhttpd-tools-2.4.6-88.el7.x86_64httpd-2.4.6-88.el7.x86_64項(xiàng)目實(shí)施一、安裝Apache服務(wù)3.其他準(zhǔn)備工作。配置web服務(wù)器IP地址53,關(guān)閉防火墻,設(shè)置系統(tǒng)的安全機(jī)制為permissive,并生效。[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-ens33[root@localhost~]#ifconfigens33ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet53netmaskbroadcast55inet6fe80::a67d:2c19:db5b:39ceprefixlen64scopeid0x20<link>ether00:0c:29:02:4f:actxqueuelen1000(Ethernet)RXpackets4861bytes487660(476.2KiB)RXerrors0dropped0overruns0frame0TXpackets666bytes100590(98.2KiB)TXerrors0dropped0overruns0carrier0collisions0[root@localhost~]#systemctlstopfirewalld[root@localhost~]#systemctldisablefirewalld[root@localhost~]#vi/etc/selinux/config[root@localhost~]#setenforce0[root@localhost~]#getenforce項(xiàng)目實(shí)施一、安裝Apache服務(wù)4. Apache的默認(rèn)配置。 服務(wù)器的根目錄:/etc/httpd 運(yùn)行Apache的用戶:apache 運(yùn)行Apache的組:apache 監(jiān)聽端口:80(http),443(https)項(xiàng)目實(shí)施二、啟動與停止Apache服務(wù)1. 啟動httpd服務(wù)[root@localhost~]#systemctlstarthttpd啟動Apache服務(wù)之后,在瀏覽器中通過IP地址可以訪問Apache的默認(rèn)首頁如圖13-3所示。2. 重啟httpd服務(wù)[root@localhost~]#systemctlrestarthttpd3. 停止httpd服務(wù)[root@localhost~]#systemctlstophttpd4. 查看httpd服務(wù)器的狀態(tài)[root@localhost~]#systemctlstatushttpd5. 設(shè)置httpd服務(wù)的開機(jī)自啟動打開“終端”窗口輸入“ntsysv”命令,打開管理每次開機(jī)自動運(yùn)行的守護(hù)進(jìn)程的文本用戶界面,找到“httpd.service”,并在它前面加上“*”號。也可以通過如下命令實(shí)現(xiàn)開機(jī)自啟動。[root@localhost~]#systemctlenablehttpd項(xiàng)目實(shí)施二、啟動與停止Apache服務(wù)圖13?3Apache的默認(rèn)首頁項(xiàng)目實(shí)施三、修改主配置文件httpd.confhttpd.conf是Apache最核心的配置文件,位于/etc/httpd/conf/目錄下,幾乎絕大部分的設(shè)置都需要修改該配置文件來完成。在Apache啟動時(shí),會自動讀取配置文件的內(nèi)容。配置文件內(nèi)容改變后,只有重啟httpd服務(wù)或者重新啟動Linux才會生效。httpd.conf,該文件不區(qū)分大小寫,在該文件中以“?!遍_始的行為注釋行。除了注釋和空行外,其他行為指令。指令又分為類似于shell的命令和偽HTML標(biāo)記。httpd.conf文件主要由以下三部分組成:項(xiàng)目實(shí)施三、修改主配置文件httpd.conf1. 全局環(huán)境配置這一部分的指令將影響整個Apache服務(wù)器。(1) ServerRoot:設(shè)置Apache的配置文件、錯誤文件和日志文件的存放目錄,并且該目錄是整個目錄樹的根節(jié)點(diǎn)。默認(rèn)情況下根路徑為/etc/httpd,可根據(jù)需要進(jìn)行修改。(2) Listen:設(shè)置Apache服務(wù)的監(jiān)聽IP和端口。一般在使用非80的端口時(shí)設(shè)置。(3) LoadModule參數(shù)值:設(shè)置動態(tài)加載模塊。(4) Includeconf.d/*.conf:將由Serverroot參數(shù)指定的目錄中的子目錄conf.d中的*.conf文件包含進(jìn)來,即將/etc/httpd/conf.d目錄中的*.conf文件包含進(jìn)來。(5) User:指定運(yùn)行Apache服務(wù)的用戶名,默認(rèn)為apache。(6) Group:指定運(yùn)行Apache服務(wù)的組名,默認(rèn)為apache。(7) KeepAliveOff:設(shè)置是否允許在同一個連接上傳輸多個請求,取值為on/off。(8) MaxKeepAliveRequests:設(shè)置一次連接可以進(jìn)行的HTTP請求的最大次數(shù)。如果將此值設(shè)置為0,將不限制請求的數(shù)目。(9) KeepAliveTimeout:設(shè)置持續(xù)作用中服務(wù)器在兩次請求之間等待的最大時(shí)間間隔,以秒為單位,默認(rèn)值是15。如果服務(wù)器已經(jīng)完成了一次請求,但在超過了該指令設(shè)置的時(shí)間間隔后,還沒有收到下一次請求,那么服務(wù)器就斷開連接。項(xiàng)目實(shí)施三、修改主配置文件httpd.conf2. 主服務(wù)器配置(1) ServerAdmin:設(shè)置服務(wù)器的管理員的電子郵箱地址。如果客戶端在訪問服務(wù)器時(shí)出現(xiàn)錯誤,就把錯誤信息返回給客戶端的瀏覽器,為了便于Web用戶和管理員取得聯(lián)系。(2) ServerName:服務(wù)器用于辨識自己的主機(jī)名和端口號,如果沒有申請域名,使用IP地址就可以。主要用于創(chuàng)建轉(zhuǎn)向URL,默認(rèn)情況下是不需要設(shè)置這個參數(shù)的。(3) DocumentRoot:網(wǎng)站數(shù)據(jù)的存放目錄,默認(rèn)為/var/www/html。(4) Directory目錄容器:Apache服務(wù)器可以利用Directory容器設(shè)置對指定目錄的訪問控制。
<Directory/>AllowOverridenoneRequirealldenied</Directory>//設(shè)置Apache根目錄的訪問權(quán)限和訪問方式項(xiàng)目實(shí)施三、修改主配置文件httpd.conf2. 主服務(wù)器配置<Directory"/var/www/html">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted//允許所有請求訪問資源</Directory>//設(shè)置Apache主服務(wù)器網(wǎng)頁文件存放目錄的訪問權(quán)限其中,Indexes表示當(dāng)在目錄中找不到DirectoryIndex列表中指定的文件,就生成當(dāng)前目錄的文件列表,F(xiàn)ollowSymLinks表示允許符號鏈接跟隨,訪問不在本目錄下的文件。AllowOverride控制哪些指令可以放在.htaccess文件中,當(dāng)AllowOverride設(shè)置為None時(shí),.htaccess文件將被完全忽略。當(dāng)AllowOverride設(shè)置為All時(shí),所有具有".htaccess"作用域的指令都允許出現(xiàn)在.htaccess文件中。(5) 防止用戶看到以.ht開頭的文件,保護(hù).htaccess、.htpasswd的內(nèi)容。主要是為了防止其他人看到預(yù)設(shè)可以訪問相關(guān)內(nèi)容的用戶名和密碼。<Files".ht*">Requirealldenied</Files>項(xiàng)目實(shí)施三、修改主配置文件httpd.conf2. 主服務(wù)器配置(6) TypesConfig:指定存放MIME文件類型的文件。(7) LogLevel:指定錯誤日志的記錄級別。(8) ServerSignature:設(shè)置為On,由于服務(wù)器出錯所產(chǎn)生的網(wǎng)頁會顯示Apache的版本號、主機(jī)、連接端口等信息。(9) AddDefaultCharset:設(shè)置服務(wù)器的編碼。在默認(rèn)情況下服務(wù)器編碼采用UTF-8。而漢字的編碼一般是GB2312,國家強(qiáng)制標(biāo)準(zhǔn)是GB18030。(10) ErrorLog:存放錯誤日志的位置。(11) CustomLog:訪問日志文件的位置。項(xiàng)目實(shí)施三、修改主配置文件httpd.conf3. 虛擬主機(jī)配置通過配置虛擬主機(jī),可以在單個服務(wù)器上運(yùn)行多個Web站點(diǎn)。虛擬主機(jī)可以是基于IP地址、主機(jī)名或端口號的。 基于IP地址的虛擬主機(jī)需要計(jì)算機(jī)上配有多個IP地址,并為每個Web站點(diǎn)分配一個惟一的IP地址。 基于主機(jī)名的虛擬主機(jī),要求擁有多個主機(jī)名,并且為每個Web站點(diǎn)分配一個主機(jī)名。 基于端口號的虛擬主機(jī),要求不同的Web站點(diǎn)通過不同的端口號監(jiān)聽,這些端口號只要系統(tǒng)不用就可以。項(xiàng)目實(shí)施三、修改主配置文件httpd.conf4. Apache的主要工作目錄和文件在Apache中存在多個目錄,具體用途如下:/etc/httpd:服務(wù)器守護(hù)進(jìn)程httpd的工作目錄。/etc/httpd/conf/httpd.conf:Apche服務(wù)的主配置文件。/etc/httpd/conf.d/:存放豬豬配置文件包含的自配置文件的目錄,如,個人主頁配置文件userdir.conf。/var/www/html/:網(wǎng)站數(shù)據(jù)的存放目錄。/var/log/httpd/access_log:主服務(wù)器的訪問日志文件。/var/log/httpd/error_log:主服務(wù)器的錯誤日志文件。項(xiàng)目實(shí)施四、配置用戶個人主頁現(xiàn)在許多網(wǎng)站都提供了個人主頁面,用戶可以方便的地管理自己的主頁空間。利用Apache服務(wù)可以實(shí)現(xiàn)用戶的個人主頁。一般分為以下幾步:(1) 使擁有用戶賬號的每個用戶都能夠架設(shè)自己單獨(dú)的Web站點(diǎn)。(2) 在RHEL7.6中默認(rèn)沒有開啟這個功能,需要編輯個人主頁的配置文件。[root@localhost~]#vim/etc/httpd/conf.d/userdir.conf<IfModulemod_userdir.c>#UserDirdisabled//注釋掉,就可以開啟個人主頁功能。
#UserDirpublic_html//啟用網(wǎng)站數(shù)據(jù)在家目錄中的保存路徑</IfModule>(3) 使用mod_userdir模塊,可以用如下的URL:http://IPorFQDN/~username訪問系統(tǒng)用戶username的Web站點(diǎn)。項(xiàng)目實(shí)施四、配置用戶個人主頁例1:在IP地址為53的Apache服務(wù)器中,為系統(tǒng)中的hz用戶設(shè)置個人主頁空間。該用戶的家目錄為/home/hz,個人主頁空間所在的目錄為public_html。(1) 啟用用戶個人主頁功能。(2) 修改用戶的家目錄權(quán)限,使其他用戶具有讀和執(zhí)行的權(quán)限。[root@localhost~]#chmod755/home/hz[root@localhost~]#ll/homedrwxr-xr-x.4hzhz409611月1016:48hz(3) 創(chuàng)建存放用戶個人主頁空間的目錄。[root@localhost~]#cd/home/hz[root@localhosthz]#mkdirpublic_html[root@localhosthz]#lldrwxr-xr-x.2rootroot409611月1616:48public_html(4) 創(chuàng)建個人主頁空間的默認(rèn)首頁文件。[root@localhostpublic_html]#echo"helloIamhz">>index.html[root@localhostpublic_html]#catindex.htmlhelloIamhz項(xiàng)目實(shí)施四、配置用戶個人主頁(5) 重啟httpd服務(wù)。[root@localhost~]#servicehttpdrestart(6) 測試。在瀏覽器的地址欄輸入54/~hz訪問個人主頁,如圖13-4所示。圖13?4hz用戶個人頁面項(xiàng)目實(shí)施五、配置虛擬目錄一般情況下,網(wǎng)站的資源需要放置在Apache的主目錄中才可以發(fā)布在網(wǎng)頁當(dāng)中,默認(rèn)主目錄的路徑是/var/www/html",要從Apache主目錄以外的其他目錄發(fā)布站點(diǎn),可以使用虛擬目錄實(shí)現(xiàn)。虛擬目錄是一個位于Apache服務(wù)器主目錄之外的目錄,它不包含在Apache服務(wù)器的主目錄中,但在訪問Web站點(diǎn)的用戶看來,它與位于主目錄中的子目錄是一樣的。每一個虛擬目錄都有一個別名,客戶端可以通過此別名來訪問虛擬目錄,并且使用虛擬目錄還具有以下優(yōu)點(diǎn):(1) 方便快捷。(2) 靈活性強(qiáng)。(3) 安全性高。(4) 方便移動。在Apache中,使用Alias字段可以創(chuàng)建虛擬目錄,用于訪問不在DocumentRoot下的內(nèi)容。語法:Alias虛擬目錄實(shí)際路徑默認(rèn)請況下,Apach的主配置文件中建立了如下的虛擬目錄,但是是被注釋的。Alias/webpath/full/filesystem/path項(xiàng)目實(shí)施五、配置虛擬目錄例1:在IP地址為53的Apache服務(wù)器中,創(chuàng)建/test虛擬目錄。它對應(yīng)的物理路徑是“/var/www/test/”,并在客戶端測試。(1) 創(chuàng)建物理路徑/var/www/test/[root@localhost~]#mkdir–p/var/www/test(2) 創(chuàng)建虛擬目錄中的默認(rèn)首頁文件。[root@localhost~]#cd/var/www/test[root@localhosttest]#echo"hello,thisisvirtualdirectory">>index.html(3) 修改默認(rèn)首頁文件的權(quán)限,使其他用戶具有讀和執(zhí)行權(quán)限。[root@localhosttest]#chmod705index.html項(xiàng)目實(shí)施五、配置虛擬目錄(4) 修改httpd.conf文件[root@localhosttest]#vim/etc/httpd/conf/httpd.confAlias/test/"/var/www/test/"http://定義虛擬目錄“/test/”,物理路徑為“/var/www/test/”<Directory"/var/www/test/">OptionsIndexesMultiViewsFollowSymLinksAllowOverrideNoneRequireallgranted</Directory>(5) 重啟httpd服務(wù)。[root@localhost~]#systemctlrestarthttpd(6) 測試。在瀏覽器的地址欄輸入54/test/訪問網(wǎng)站,如圖13-5所示。項(xiàng)目實(shí)施五、配置虛擬目錄圖13?5/test虛擬目錄的訪問效果項(xiàng)目實(shí)施六、配置虛擬主機(jī)在一臺Web服務(wù)器上,通過設(shè)置虛擬主機(jī)(VirtualHost)就可以運(yùn)行多個網(wǎng)絡(luò)站點(diǎn)(如
和)?;贗P:需要在服務(wù)器上綁定多個IP地址,然后配置Apache,把多個網(wǎng)站綁定在不同的IP地址上,訪問服務(wù)器上不同的IP地址,就可以訪問不同的網(wǎng)站。基于域名:所有的虛擬主機(jī)可以共享同一個IP地址,使用不同的域名來訪問不同的網(wǎng)站。同時(shí),基于域名的虛擬主機(jī)技術(shù)也可以緩解IP地址不足的問題?;诙丝冢核械奶摂M主機(jī)可以共享同一個IP地址,各虛擬主機(jī)之間通過不同的端口號進(jìn)行區(qū)分。在設(shè)置基于端口號的虛擬主機(jī)的配置時(shí),需要利用Listen語句設(shè)置所監(jiān)聽的端口。項(xiàng)目實(shí)施六、配置虛擬主機(jī)例1:在IP地址為53的Apache服務(wù)器中配置基于不同端口的網(wǎng)站,具體要求為:在/home目錄下創(chuàng)建網(wǎng)頁ceshi1.html,內(nèi)容為:thisisfirstweb,通過端口號8888訪問。在/var/www目錄下創(chuàng)建網(wǎng)頁ceshi2.html,內(nèi)容為:thisissecondweb,通過端口號6666訪問。具體配置過程為:(1) 分別創(chuàng)建網(wǎng)站默認(rèn)首頁文件[root@localhost~]#echo"thisisfirstweb">>/home/ceshi1.html[root@localhost~]#echo"thisissecondweb">>/var/www/ceshi2.html(2) 分別修改首頁文件的權(quán)限,使其他用戶具有讀和執(zhí)行權(quán)限。[root@localhost~]#chmod705/home/ceshi1.html[root@localhost~]#chmod705/var/www/ceshi2.html(3) 修改Apache的主配置文件httpd.conf。[root@localhost~]#vim/etc/httpd/conf/httpd.confListen80Listen8888//添加端口號8888Listen6666//添加端口號6666項(xiàng)目實(shí)施六、配置虛擬主機(jī)(4) 在/etc/httpd/conf.d創(chuàng)建虛擬主機(jī)文件。[root@localhost~]#cd/etc/httpd/conf.d/[root@localhostconf.d]#lsautoindex.confREADMEuserdir.confwelcome.conf[root@localhostconf.d]#vim8888.conf[root@localhostconf.d]#cat8888.conf<VirtualHost53:8888>DocumentRoot"/home"ServerName53:8888DirectoryIndexceshi1.html<Directory"/home">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory></VirtualHost>項(xiàng)目實(shí)施六、配置虛擬主機(jī)[root@localhostconf.d]#vim6666.conf[root@localhostconf.d]#cat6666.conf<VirtualHost53:6666>DocumentRoot"/var/www"ServerName53:6666DirectoryIndexceshi2.html<Directory"/var/www">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory></VirtualHost>項(xiàng)目實(shí)施六、配置虛擬主機(jī)(5) 重啟httpd服務(wù)。[root@localhost~]#systemctlrestarthttpd(6) 測試。首先使用curl命令測試虛擬主機(jī)的開啟情況。[root@localhostconf.d]#curl53:8888thisisfirstweb[root@localhostconf.d]#curl53:6666thisissecondweb然后,在Windows和Linux下分別打開瀏覽器,在地址欄輸入53:8888,頁面自動跳轉(zhuǎn)到ceshi1.html,在地址欄輸入53:6666,頁面自動跳轉(zhuǎn)到ceshi2.html。圖13?6訪問53:8888圖13?7訪問53:6666項(xiàng)目實(shí)施六、配置虛擬主機(jī)例2:在例1的基礎(chǔ)上,配置基于不同IP的網(wǎng)站,具體要求網(wǎng)絡(luò)規(guī)劃如表13-1所示:虛擬主機(jī)IP地址端口主目錄主頁ceshi1_8888538888/homeceshi1.htmlceshi2_6666536666/var/wwwceshi2.htmlindex_ip4980/var/www/htmlindex.html表13?1基于不同IP和不同端口的虛擬主機(jī)的網(wǎng)絡(luò)規(guī)劃項(xiàng)目實(shí)施六、配置虛擬主機(jī)(1) 在例1的基礎(chǔ)上為ens33綁定虛擬網(wǎng)卡地址49。[root@localhost~]#ifconfigens33:149netmask[root@localhost~]#ifconfigens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet53netmaskbroadcast55(略)ens33:1:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet49netmaskbroadcast55ether00:0c:29:02:4f:actxqueuelen1000(Ethernet)(2) 增加創(chuàng)建網(wǎng)站默認(rèn)首頁文件[root@localhost~]#echo"thisisdefaultweb">>/var/www/html/index.html(3) 修改首頁文件的權(quán)限,使其他用戶具有讀和執(zhí)行權(quán)限。[root@localhost~]#chmod705/var/www/html/index.html項(xiàng)目實(shí)施六、配置虛擬主機(jī)(7) 按照例1修改主配置文件httpd.conf。(8) 在例1的基礎(chǔ)上增加虛擬主機(jī)index_ip的配置。[root@localhost~]#cd/etc/httpd/conf.d/[root@localhostconf.d]#ls6666.conf8888.confautoindex.confREADMEuserdir.confwelcome.conf[root@localhostconf.d]#cp6666.confindex_ip.conf[root@localhostconf.d]#vimindex_ip.conf[root@localhostconf.d]#catindex_ip.conf<VirtualHost49>DocumentRoot"/var/www/html"ServerName49</VirtualHost>(9) 重啟httpd服務(wù)。[root@localhostconf.d]#systemctlrestarthttpd.service項(xiàng)目實(shí)施六、配置虛擬主機(jī)(10) 測試。[root@localhostconf.d]#curl49thisisdefaultweb在Windows和Linux下分別打開瀏覽器,在地址欄輸入53:8888,頁面自動跳轉(zhuǎn)到ceshi1.html,在地址欄輸入53:6666,頁面自動跳轉(zhuǎn)到ceshi2.html,在地址欄輸入49,頁面自動跳轉(zhuǎn)到index.html,如圖13-8所示。圖13?8基于不同IP和不同端口的虛擬主機(jī)項(xiàng)目實(shí)施六、配置虛擬主機(jī)例3:在IP地址為53的Apache服務(wù)器中配置基于不同域名的網(wǎng)站,網(wǎng)絡(luò)規(guī)劃如下所示:虛擬主機(jī)IP地址端口主目錄主頁5380/homeceshi1.html5380/var/wwwceshi2.html5380/var/www/htmlindex.html表13?2基于不同域名的虛擬主機(jī)的網(wǎng)絡(luò)規(guī)劃項(xiàng)目實(shí)施六、配置虛擬主機(jī)(1) 配置DNS服務(wù)器,添加正向、反向解析區(qū)域。修改全局配置文件named.conf[root@dns~]#vim/etc/named.conflisten-onport53{any;};allow-query{any;};修改主配置文件named.rfc1912.zones,定義區(qū)域文件,修改內(nèi)容如下:[root@dns~]#vim/etc/named.rfc1912.zones在末尾添加:zone""IN{typemaster;file"zhiyuan.zheng";allow-update{none;};};項(xiàng)目實(shí)施六、配置虛擬主機(jī)zone"43.16.172."IN{typemaster;file"zhiyuan.fan";allow-update{none;};};編輯正向區(qū)域zhiyuan.zheng,如圖13-9所示。[root@dns~]#vim/var/named/zhiyuan.zheng編輯反向區(qū)域zhiyuan.fan,如圖13-10所示。[root@dns~]#vim/var/named/zhiyuan.fan圖13?9正向區(qū)域文件圖13?10反向區(qū)域文件項(xiàng)目實(shí)施六、配置虛擬主機(jī)(2) 啟動DNS服務(wù)。[root@dns~]#systemctlrestartnamed(3) 按照規(guī)劃表創(chuàng)建在相應(yīng)的目錄下創(chuàng)建網(wǎng)頁。[root@localhost~]#echo"thisisfirstweb">>/home/ceshi1.html[root@localhost~]#echo"thisissecondweb">>/var/www/ceshi2.html[root@localhost~]#echo"thisisdefaultweb">>/var/www/html/index.html(4) 修改頁面權(quán)限。[root@localhost~]#cd/home[root@localhosthome]#chmod705ceshi1.html[root@localhosthome]#cd/var/www[root@localhostwww]#chmod705ceshi2.html[root@localhostwww]#cd/var/www/html[root@localhostwww]#chmod705index.html項(xiàng)目實(shí)施六、配置虛擬主機(jī)(5) 修改主配置文件/etc/httpd/conf/httpd.conf。監(jiān)聽相應(yīng)端口號Listen80(6) 在/etc/httpd/conf.d創(chuàng)建虛擬主機(jī)文件www.conf、xy.conf和oa.conf。[root@localhost~]#cd/etc/httpd/conf.d/[root@localhostconf.d]#vimwww.conf[root@localhostconf.d]#catwww.conf<VirtualHost53:80>DocumentRoot"/home"ServerNameDirectoryIndexceshi1.html<Directory"/home">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory>項(xiàng)目實(shí)施六、配置虛擬主機(jī)(5) 修改主配置文件/etc/httpd/conf/httpd.conf。Listen80(6) 在/etc/httpd/conf.d創(chuàng)建虛擬主機(jī)文件www.conf、xy.conf和oa.conf。[root@localhost~]#cd/etc/httpd/conf.d/[root@localhostconf.d]#vimwww.conf[root@localhostconf.d]#catwww.conf<VirtualHost53:80>DocumentRoot"/home"ServerNameDirectoryIndexceshi1.html<Directory"/home">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory></VirtualHost>項(xiàng)目實(shí)施六、配置虛擬主機(jī)[root@localhostconf.d]#vimxy.conf[root@localhostconf.d]#catxy.conf<VirtualHost53:80>DocumentRoot"/var/www"ServerNameDirectoryIndexceshi2.html<Directory"/var/www">OptionsIndexesFollowSymLinksAllowOverrideNoneRequireallgranted</Directory></VirtualHost>[root@localhostconf.d]#vimoa.conf[root@localhostconf.d]#catoa.conf<VirtualHost53:80>DocumentRoot"/var/www/html"ServerName</VirtualHost>項(xiàng)目實(shí)施六、配置虛擬主機(jī)(7) 重啟httpd服務(wù)。[root@localhostconf.d]#systemctlrestarthttpd(8) 測試。[root@localhostconf.d]#curlthisisfirstweb[root@localhostconf.d]#curlthisissecondweb[root@localhostconf.d]#curlthisisdefaultweb可以在Windows和Linux下分別打開瀏覽器,在地址分別輸入:http://、http://、http://,結(jié)果如圖13-11所示。圖13?11基于不同域名的虛擬主機(jī)項(xiàng)目實(shí)施七、訪問控制Apache對于訪問控制權(quán)限的設(shè)置有兩種方式:一種是在其配置文件httpd.conf中直接進(jìn)行,主要是使用<Directory>、</Directory>容器來設(shè)置;另一種則是在.htaccess文件中設(shè)置。這兩種方式都可以用于控制瀏覽器的訪問,但是使用httpd.conf配置文件,每次改動都需要重新啟動服務(wù)器才會生效,靈活性較差;而使用.htaccess文件設(shè)置具體的目錄訪問控制則比較靈活。在Apache2.2版本中,訪問控制是基于客戶端的主機(jī)名、IP地址以及客戶端請求中的其他特征,使用Order(排序),Allow(允許),Deny(拒絕)指令來實(shí)現(xiàn)。在Apache2.4版本中,使用mod_authz_host這個新的模塊,來實(shí)現(xiàn)訪問控制和其他的授權(quán)檢查。原來在Apache2.2版本下用以實(shí)現(xiàn)網(wǎng)站訪問控制的Order,Allow,Deny指令需要替換為新的Require訪問控制指令。項(xiàng)目實(shí)施七、訪問控制1. 目錄的訪問控制例1:所有請求都被拒絕。Requirealldenied例2:所有請求都被允許。Requireallgranted例3:所有請求都被允許,其他拒絕。Requirehost例4:拒絕IP地址為6和的客戶端訪問,其他客戶端都可以正常訪問。RequireallgrantedRequirenotip6Requirenothost例5:僅允許/24網(wǎng)段,IP為54的客戶端訪問,,但其中00不能訪問。Requireip192.168.054Requirenotip00項(xiàng)目實(shí)施七、訪問控制2. .htaccess在httpd.conf的相應(yīng)目錄中的AllowOverride主要用于控制.htaccess中允許的進(jìn)行的設(shè)置。.htaccess文件是一個訪問控制文件,用來配置相應(yīng)目錄的訪問方法。.htaccess文件通過一個特定的文檔目錄中放置一個包含一個或多個指令的文件(.htaccess文件),以作用于此目錄及其所有子目錄。.htaccess文件的功能包括設(shè)置網(wǎng)頁密碼,設(shè)置發(fā)生錯誤時(shí)出現(xiàn)的文件,改變首頁的文件名(如index.html),禁止讀取文件名,重新導(dǎo)向文件,加上MIME類別,禁止列目錄下文件等。<Directory/>OptionsFollowSymLinksAllowOverrideNone</Directory>如上所示,<Directory>等容器中AllowOverride默認(rèn)為“none”,完全忽略了htaccess文件,所以是不會讀取相應(yīng)目錄下的.htaccess文件來進(jìn)行訪問控制的。如果要啟用.htaccess文件,需要將AllowOverride的值設(shè)置為“AuthConfig”,這樣就可以在需要進(jìn)行訪問控制的目錄下創(chuàng)建一個.htaccess文件了。項(xiàng)目實(shí)施七、訪問控制AllowOverride的參數(shù)如下表13-3所示。表13?3AllowOverride的參數(shù)使用參數(shù)說明AuthConfig允許使用與認(rèn)證授權(quán)相關(guān)的指令(AuthDBMGroupFile,AuthDBMUserFile,AuthGroupFile,AuthName,AuthType,AuthUserFile,Require)。FileInfo允許使用控制文檔類型的指令(DefaultType,ErrorDocument,ForceType,LanguagePriority,SetHandler,SetInputFilter,SetOutputFilter,mod_mime中的Add*和Remove*指令等等)、控制文檔元數(shù)據(jù)的指令(Header,RequestHeader,SetEnvIf,SetEnvIfNoCase,BrowserMatch,CookieExpires,CookieDomain,CookieStyle,CookieTracking,CookieName)、mod_rewrite中的指令(RewriteEngine,RewriteOptions,RewriteBase,RewriteCond,RewriteRule)和mod_actions中的Action指令。Indexes允許使用控制目錄索引的指令(AddDescription,AddIcon,AddIconByEncoding,AddIconByType,DefaultIcon,DirectoryIndex,FancyIndexing,HeaderName,IndexIgnore,IndexOptions,ReadmeName)。Limit允許使用控制主機(jī)訪問的指令(Allow,Deny,Order)。All所有具有.htaccess作用域的指令都允許出現(xiàn)在.htaccess文件中None禁止處理.htaccess文件項(xiàng)目實(shí)施八、用戶身份認(rèn)證Apache默認(rèn)是不需要密碼就能訪問的,為了安全起見,需要進(jìn)行身份認(rèn)證。用戶身份認(rèn)證是防止非法用戶使用資源的有效手段,現(xiàn)在很多網(wǎng)站都使用用戶身份認(rèn)證來管理用戶資源,對用戶的訪問權(quán)限進(jìn)行嚴(yán)格限制。Apache服務(wù)器允許在主配置文件httpd.conf文件或.htaccess文件中對相應(yīng)的目錄進(jìn)行強(qiáng)制口令保護(hù)。當(dāng)用戶訪問這些受保護(hù)的站點(diǎn)時(shí)必須輸入合法的用戶名和密碼才能登錄。項(xiàng)目實(shí)施八、用戶身份認(rèn)證htpasswd:創(chuàng)建.htaccess文件身份認(rèn)證所使用的密碼。htpasswd[-cmdpsD]passwordfileusername-m:可以生成MD5算法的加密口令(CentOS7中為默認(rèn)參數(shù))-c:創(chuàng)建密碼文件passwdfile。如果passwdfile已經(jīng)存在,那么它會重新寫入并刪去原有內(nèi)容-n:不更新passwordfile,直接顯示密碼-d:使用CRYPT加密(默認(rèn))-p:使用普通文本格式的密碼-s:使用SHA加密-b:命令行中一并輸入用戶名和密碼而不是根據(jù)提示輸入密碼,可以看見明文,不需要交互。-D:刪除指定的用戶項(xiàng)目實(shí)施八、用戶身份認(rèn)證對網(wǎng)站進(jìn)行身份驗(yàn)證時(shí),需要進(jìn)行下列設(shè)置:1. 用戶身份認(rèn)證,必須將AllowOverride設(shè)置為AuthConfig啟用認(rèn)證。2. 創(chuàng)建密碼文件passwdfile。3. 創(chuàng)建.htaccess文件,指示服務(wù)器允許哪些用戶訪問并向用戶索取密碼。AuthTypeBasicAuthName"RestrictedFiles"AuthUserFilepasswdfileRequireuser用戶名反思與進(jìn)階一、部署基于用戶認(rèn)證的Web服務(wù)項(xiàng)目背景:為了對學(xué)院網(wǎng)站文件目錄進(jìn)行保護(hù),IT協(xié)會決定隱藏真實(shí)的網(wǎng)站目錄,同時(shí)只允許特定用戶訪問網(wǎng)站。具體要求為:1. 站點(diǎn)采用虛擬目錄來訪問,真實(shí)路徑為主文檔目錄為/var/www/test/;2. 只允許test1登錄訪問,密碼是123456;3. 網(wǎng)站無主頁,瀏覽網(wǎng)站目錄列表。反思與進(jìn)階一、部署基于用戶認(rèn)證的Web服務(wù)實(shí)施目的:1. 熟練運(yùn)用Apache訪問控制的設(shè)置;2. 能通過.htaccess設(shè)置用戶對網(wǎng)站的訪問;3. 根據(jù)實(shí)際需求部署Web服務(wù)。反思與進(jìn)階一、部署基于用戶認(rèn)證的Web服務(wù)實(shí)施步驟:1. 配置Apache服務(wù)器的IP地址為53,關(guān)閉防火墻,設(shè)置selinux。[root@localhost~]#ifconfigens33ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet53netmaskbroadcast55inet6fe80::a67
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化供應(yīng)鏈優(yōu)化升級合作協(xié)議
- 幼兒園親子故事征文猜猜我有多愛你
- 品牌發(fā)展及合作策略表
- 農(nóng)業(yè)智能裝備技術(shù)應(yīng)用知識試題
- 物業(yè)轉(zhuǎn)讓協(xié)議書錦集
- 農(nóng)業(yè)種植基地生產(chǎn)安全管理協(xié)議
- 數(shù)學(xué)故事書奇妙的世界之旅解讀
- 企業(yè)內(nèi)部管理軟件推廣協(xié)議
- 杜甫詩風(fēng)探究:高中語文深度解析教案
- 三農(nóng)田機(jī)械作業(yè)技術(shù)標(biāo)準(zhǔn)及規(guī)范
- 《骨髓穿刺術(shù)》課件
- 2025屆湖北省高中名校聯(lián)盟高三上學(xué)期11月第二次聯(lián)合測評(圓創(chuàng)聯(lián)盟)語文試題
- DB41T2689-2024水利工程施工圖設(shè)計(jì)文件編制規(guī)范
- 生日宴快閃開場模板6
- 責(zé)任護(hù)理組長競選
- 管護(hù)員考勤管理制度
- DB61T 5097-2024 強(qiáng)夯法處理濕陷性黃土地基技術(shù)規(guī)程
- 國家級自然保護(hù)區(qū)不可避讓論證報(bào)告-概述說明以及解釋
- 2024-2025學(xué)年天津市和平區(qū)天津一中高三綜合測試英語試題試卷含解析
- 2024-2030年中國地鐵廣告行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2024年水利安全員(B證)考試題庫-上(單選題)
評論
0/150
提交評論