章 46. Apache 網頁伺服器

內容目錄

46.1. 序言和詞彙
46.2. 安裝
46.3. 組態
46.4. 虛擬主機
46.5. Apache 模組
46.6. 安全性
46.7. 疑難排解
46.8. 若需詳細資訊

摘要

根據 http://www.netcraft.com 指出,Apache 擁有超過 60% 的市場佔有率,是世界上使用最普遍的網頁伺服器。針對網頁應用程式設計的 Apache,通常是用於 Linux 系統,並且可配合 MySQL 資料庫以及 PHP 和 Perl 程式語言使用。此結合一般稱為 LAMP。

本章將介紹版本 2.x 的網頁和應用程式伺服器軟體 Apache。本文將說明 Apache 的安裝和設定,以及部分可用模組的使用方式。

46.1. 序言和詞彙

本節將提供與網頁相關和 Apache 特定的常用詞彙定義。

[Important]詞彙

本文提到的 Apache 都是指版本 2.x 的 Apache。如需有關 Apache 1.x 的詳細資訊,請參閱 Apache 網站內容

46.1.1. 網頁伺服器

網頁伺服器會傳送用戶端要求的網頁。這時用戶端可能是類似 Konqueror 的網頁瀏覽器,或是任何可以連接到全球資訊網 (World Wide Web, WWW) 的其他設備。這些網頁可以完整地儲存在磁碟 (靜態網頁) 中,或是為處理外部實體查詢而產生 (動態網頁),例如資料庫或網頁服務。

46.1.2. HTTP

用戶端和網頁伺服器之間的通訊,會使用超文字傳輸協定 (HTTP) 進行。目前的 HTTP 1.1 版本已記載於 RFC 2068 和更新的 RFC 2616。這些 RFC 可以從 http://www.w3.org 取得。

46.1.3. URL

URL 是指「一致資源定址器 (Uniform Resource Locator)」。用戶端會透過例如 http://www.example.com/index.html 的 URL,來向伺服器要求網頁。URL 包含:

協定

常用的協定:

http://

HTTP 協定

https://

HTTP 安全加密版

ftp://

下載及上傳檔案的傳輸協定

領域

在這個範例中的領域就是 www.example.com。領域就是指對應到 IP 位址的名稱。因此,www.example.com 只會唯一對應到某 IP 位址 (例如 123.456.789.1)。而這組位址數字,也是識別執行網頁伺服器電腦時的唯一專屬號碼。將領域名稱對應到 IP 位址的動作,通常稱為名稱解析。領域可以細分成幾個部份,也就是此範例中的wwwexamplecom。最後一個領域名稱部分就是最上層領域 (Top Level Domain, TLD)。在這個範例中的 TLD 就是 com。TLD 代表名稱解析程序的最上層。TLD 可分為通用 (gTLD,例如 comorgnet),或是國家專用 (ccTLD,例如 de 即代表德國)。所有的領域部分集合起來,就可產生完整領域名稱 (Fully Qualified Domain Name, FQDN)。

資源

在這個範例中的資源是指 index.html。此部份指定連結到資源的完整路徑。資源可以是檔案,和此範例一樣。然而,它可能也是 CGI 程序檔、JavaServer 頁面,或是一些其他資源。

負責任的網際網路機制,例如領域名稱系統 (DNS),可以將針對領域 www.example.com 的查詢,轉遞到一部或多部擁有資源的電腦。接著 Apache 會將實際的資源傳送給用戶端,在此範例中是指 index.html 網頁。這時該檔案是位於最上層目錄。不過,資源也可以位於子目錄中,例如 http://www.example.com/linux/novell/suse

46.1.4. 指示詞

在設定 Apache 時,通常要用指示詞來作為"組態選項"的同義字。指示詞是和 Apache 網頁伺服器軟體相關的技術詞彙。