Linux 伺服器系統管理:第九章 伺服器管理 上一頁 |
9-4 網頁伺服器 - httpd
9-4-1 全球資訊網系統 - www 早期發展 Web 系統時,並沒有想到會有這麼大的發展空間,那時候只考慮到如何將文件可以在各種系統之間流通。因為當時各系統之間的文件格式並不相容(現在也一樣),譬如,在 Apple、Windows、Unix、或其它系統所製作的文件,並無法直接在另一系統上顯示或修改處理。當時只希望建立一套系統,方便顯示不同系統之間的文字,其基本構想就是建立一套顯示平台,並可以安裝於各種不同的系統上。另外,由於作業系統之間的檔案結構也不盡相同,無法將一個系統所製作的文件儲存於磁碟片,再由另一系統將它讀出來,因此,共通平台的文件必須利用網路以 ASCII 格式互相傳輸。上述構想就是網頁系統的基本原理就,如由電腦 A 所製作出來的文件,能夠透過網路傳輸給電腦 B,並可在電腦 B 能如身歷其境般的顯示出來。 所謂示共通平台即是目前所稱的『瀏覽器』,而電腦之間就以 HTTP 協定來互相通訊。文件在瀏覽器上以一頁一頁為單位來顯示,所以瀏覽器上顯示的文件就稱為『網頁』(Web Page),又每一文件都有封面,其封面則稱為『首頁』(Home Page),而將提供網頁供瀏覽器下載的伺服器就稱為『網頁伺服器』(Web Server)。至於文件要如何製作才能在瀏覽器上顯示出來?於是就制定了 HTML 標準,希望所有文件都能依此標準來製作,才能在不同系統上的瀏覽器顯示,網頁系統就是這麼簡單的概念之下產生。早期網頁只能顯示文字模式(如 Mosaic),萬萬沒想到數位訊號處理的技術,如火速般的發展,兩者一拍即合,很快地將影像及聲音的數位處理技術嵌入瀏覽器之中,多采多姿的全球資訊網世界就因此而誕生了。 (A) Web 系統架構 下圖為 Web 系統架構,是屬於主從式架構,伺服端(Web Server)提供資源(HTML 文件)供客戶端(瀏覽器)下載,它們之間是以 HTTP 通訊協定來傳輸。伺服端使用 URL 的定址方式,客戶端可以依照 URL 位址找到所要的網站,所以 URL 又稱為『網址』。 (B) 瀏覽器 客戶端就是瀏覽器(如 IE 或 Netscape),它的功能是由伺服端上接收 HTML 程式後,再將其執行並顯示成文件,此文件型態就稱為網頁(Web Page)。所以,客戶端以顯示大量文件(或網頁)為主要工作。每一網頁上的文字或圖樣可以指向其它的相關頁來連結,頁和頁之間的連結可以無止境的延伸,此連結方法就稱為『超連結文件』(HyperText)。不僅可以連結網頁,還可以在網頁上任何文字或圖樣設定連結到其它網站,稱之為『超連結』(Hyperlink)。因此,客戶端就可以行走全世界任何一個網站,觀看網站上所有的網頁,所以稱為『瀏覽器』(Browser)。 (C) 一致性資源定址 基本上,瀏覽器可以接受多種協定的傳輸,也可以處理不同語言所編寫的程式,但它如何判斷應以何種模式來工作,這必須由使用者命令它處理。然而使用者又應以何種模式和瀏覽器溝通?這就是『一致性資源定址』(Uniform Resource Locators, URL)的制定目的。URL 包含以下三項資訊:(a) 連接該網站使用何種通訊協定(http 或 ftp);(b) 網站位址在哪裡(主機的 DNS 名稱);(c) 該網頁的檔案名稱(或檔案格式),例如: http://www.tsnien.idv.tw/index.html URL 的三個部分是:通訊協定(http)、主機位址(www.tsnien.idv.tw)、網頁的檔案名稱(index.html)。通訊協定有:http(超連結文件,HTML)、ftp(FTP 檔案傳輸協定)、file(本地檔案)、news(新聞文章)、gopher(Gopher 文件協定)、mailto(傳送郵件協定)。檔案名稱的副檔名(如,.html)是用來標示,該檔案是由何種程式語言編寫而成,以啟動相對應的直譯程式(如,HTML 直譯程式)。 (D) 網頁伺服器 『網頁伺服器』(Web Server)是用來儲存 HTML 文件,讓瀏覽器下載執行的伺服器。它和客戶端之間是以 HTTP 通訊協定溝通,又稱為『HTTP 伺服器』(HTTP Server),傳輸埠口大多架設在 80/tcp 位置。網頁伺服器是目前最炙手可熱的設備,它也是一套非常複雜的系統。隨著網站需求的大量增加,一部網頁伺服器只能架設一個網站已漸不符所需了,我們希望在同一部網頁伺服器上建構更多的網站,才能符合經濟價值。因此,它必須透過虛擬主機技術,來建構許多虛擬網站,乃至個人網站。 9-4-2 網頁伺服器安裝 - Apache Apache 幾乎與全球資訊網(World Wide Web, WWW)劃上等號,也就是說,大部分的商業站都使用 Apache 網站伺服器套件。Apache 是由 The Apache Software Foundation(ASF)所發展出來,也是免費自由軟體,官方網站是 http://www.apache.org;使用者不但可在官方網站上找到並下載最新版本,也可以找到其他系統上的 Apache 版本,如 Windows 版本。 (A) 套件查詢與安裝 Web Server 服務名稱為 httpd,可利用 # rpm –qa | grep httpd 命令查閱該套件是否已安裝,操作如下:
如果已安裝完成則會顯示所安裝套件的名稱與版本,如沒有安裝的話,可利用 # yum install httpd 命令來安裝,如下:
(B) 組態設定項目 Httpd Server 組態管理檔案全部儲存於 /etc/httpd/ 目錄下,主要設定檔是 /etc/httpd/conf 檔,其中包含下列三個區段(Section 1 ~ Section 3)所組成:
除非有特殊變更或設定虛擬主機外,其他都採用預設值即可,讀者可以自行瀏覽看看。 (C) 主網站管理 可以由 /etc/httpd/conf/httpd.conf 設定檔指定預設網站的網頁文件之儲存位置,其變數項目為 DocumentRoot,預設位置是 /var/www/html 目錄,如下:(#vi /etc/httpd/conf/httpd.conf 節錄部分)
(D) 設定個人網站 系統的 httpd 服務程式啟動後,每一個帳戶(如 nien 帳戶)自動建立一個個人網頁網站,網站名稱為 IP/~login_name(如 http://120.118.165.191/~tsnien),該帳戶的網頁文件則儲存於家目錄上(/home/nien)。如要建立個人網頁網站,也是必須規劃 /etc/httpd/conf.d/userdir.conf 設定檔,由該檔案中尋找出 mod_userdir.c 設定段落,刪除掉 UserDir disable 功能(增加 # 記號),並增加 UserDir public_html 選項功能(移除 # 記號),其中也表示網頁文件是儲存於家目錄的 public_html 子目錄上(如 /home/tsnien/public_html,最好將該目錄權限設定成 $chmod 711會比較安全),本書範例如下:(執行 #vi /etc/httpd/conf.d/userdir.conf 進入修改)
除此之外,管理者(root)必須將個人網站的家目錄設定成他人都可以讀取與寫入的權限(輸入 # chmod 777 /home/student01)。,操作如下:
(E) 開啟防火牆 - httpd 埠口 開啟防火牆的 ftp 埠口,如下:
(F) 重新啟動 httpd 設定完之後,必須重新啟動才有效,如下:
(G) 驗證網站啟動 當 Apache 主網站架設後,可利用瀏覽器驗證網站是否安裝成功,如下:(http://192.168.86.35)
9-4-3 上傳主網站網頁 - root (A) 上傳主網頁 - /var/www/html Apache 安裝啟動後,會有兩種網站:主網站與個人網站,主網站網頁儲存於 /var/www/html 目錄下,需具有 root 權限者才可以上傳網頁。吾人利用 root 帳戶上傳(需先開啟 root 的 FTP 登入功能,如:9-3-4 節介紹)上傳一個網頁如下:(請先建立一只 index.html 網頁)
(B) 瀏覽主網頁 瀏覽主網站 (如http://192.168.86.35) 如下:
9-4-4 個人網站操作 如果 /etc/httpd/conf.d/userdir.conf 設定檔內有規劃允許個人網站的話,則系統內每一個帳戶都允許開啟它的個人網頁,網頁儲存於該帳戶家目錄 (如:/home/student01) 內的 public_html 目錄下(如:/home/student01/public_html),設定步驟如下: (A) 設定家目錄權限 必須將帳戶的家目錄設定允許他人讀取與執行,如下:(以 user01 帳戶為例)
(B) 上傳網頁到個人網站 吾人利用 FileZalla 以 user01 帳戶登入後,立即在家目錄產生 public_html 目錄(按右鍵產生),並上傳一只 index.htm 檔案到該目錄下。
再將所建立的首頁 (index.html) 上傳到 public_html 目錄下:
(C) 瀏覽個人網站 客戶可以利用瀏覽器開啟個人網站,如下:(http://192.168.1.107/~user01)
|
翻轉工作室:粘添壽
Linux 伺服器系統管理 - CentOS:
翻轉電子書系列:
|