在 SUSE Linux 中執行 Apache 時,可以使用下面兩種方法進行設定:透過 YaST 或是手動設定。手動設定組態可以提供較詳細的設定,但是缺乏 YaST GUI 提供的方便性。
![]() | 組態變更 |
|---|---|
有些 Apache 的組態值變更,必須等到 Apache 重新啟動之後,才能生效。如果是透過 YaST 完成組態,並且已經核取,就會自動重新啟動。如需有關手動重新啟動的詳細資訊,請參閱 節 46.3.3, "啟動、開始和停止 Apache" 內容。大多數的組態變更只需要透過 rcapache2 reload 進行重新載入。 | |
您可以使用 YaST,將您網路上的主機變成 Web 伺服器。若要設定這類的伺服器,請啟動 YaST 並選取+。第一次啟動模組時,會啟動「HTTP 伺服器精靈」以提示您如何決定有關伺服器管理的一些基本設定。
「HTTP 伺服器精靈」包含五個步驟 (或對話方塊)。在最後一個步驟的對話方塊中,您可以進入進階組態模式以進行更多特定的設定。
在此,您可以指定 Apache 用來監聽內送要求的網路介面和連接埠。您可以選取任何現有網路介面及其 IP 位址的組合。若連接埠 (連接埠隸屬以下三種範圍:熟知的連接埠、註冊的連接埠和動態或私人的連接埠) 不供其他服務使用,則皆可供您使用。
另外,預設設定為監聽所有在連接埠 80 上的網路介面 (IP 位址)。當防火牆啟動時,您可以檢查是否已啟動防火牆上的 Apache 連接埠。
核取選項,可開啟防火牆中 Web 伺服器監聽的連接埠。若要使 Web 伺服器在網路 (包括 LAN、WAN 或公用網際網路) 上為可用狀態,請核取此選項。但是,若是處於測試階段且不須由外部網路存取 Web 伺服器,則可以關閉監聽連接埠。當您接受使用預設設定或已變更的任何設定後,請按一下以繼續進行設定。
SUSE Linux Apache 套件隨附多種不同的 Apache 模組。這些模組可以擴充 Apache 的功能並適用於許多工作。您可以在組態選項中載入和卸載啟動伺服器時,使用的各種 Apache 模組。如需有關模組的詳細說明,請參閱 節 46.5, "Apache 模組"。按一下繼續。
此選項與預設 Web 伺服器相關。如 節 46.4, "虛擬主機" 中所述,Apache 可以在一部實體電腦上提供多個網域。組態檔案中第一個宣告的網域 (或虛擬主機) 通常會被視為預設主機。若要編輯主機設定,請在表格中選擇要適當的項目,然後按一下。若要新增主機,請按一下。若要刪除主機,請選取主機,然後按一下。
您可以在這個步驟中決定是否要將 SSL (Secure Sockets Layer,安全通訊端層) 選項和值加入主機設定中。請閱讀 節 46.3.1.3, "新增 SSL 支援" 中的說明,以取得更多相關資訊。
此處為伺服器預設值的清單:
如 節 46.2.3.4, "Document Root" 中所述,/srv/www/htdocs 是 Apache 從其中提供網頁的預設位置。
/srv/www/htdocs 是網頁的位置。
藉由 Alias 指令的幫助,URL 可以映射到實體檔案系統位置。這表示即使某個路徑不在檔案系統的 Document Root 中,仍可藉由該路徑別名的 URL 進行存取。
預設的 SUSE Linux Alias /icons 會指向 /usr/share/apache2/icons,即目錄索引檢視模式中顯示的 Apache 圖示。
/usr/shareapache2/icons 是 Alias 目錄的位置。
類似 Alias 指令。ScriptAlias 指令可以映射檔案系統的 URL 位置。兩者差別在於 ScriptAlias 可以將目標目錄指定作為一個 CGI 位置,這表示 CGI 程序檔會在該位置中執行。
/srv/www/cgi-bin 是 ScriptAlias 目錄的位置。
/etc/apache2/conf.d/*.conf 是一個包含隨附於某些套件的組態檔案的目錄。/etc/apache2/conf.d/apache2-manual?conf 是一個包含所有 apache2-manual 組態檔案的目錄。
此選項是指 節 46.4, "虛擬主機"。
選項可以讓一個 VirtualHost (虛擬主機) 對該伺服器名稱的要求做出回應 (請參閱 節 46.4.1, "以名稱為基礎的虛擬主機")。
選項可讓 Apache 按用戶端傳送的 HTTP 標題資訊選取要求的主機。如需有關以 IP 為基礎的虛擬主機的更多資訊,請參閱 節 46.4.2, "以 IP 為基礎的虛擬主機"。
這可以指定用戶端用來存取 Web 伺服器的預設 URL。使用 FQDN (請參閱 領域) 即可在 http:// 或其 IP 位址存取 Web 伺服器。
FQDN
選項可提供 Web 伺服器管理員的電子郵件位址。
完成設定步驟後,請按一下繼續下一個組態對話方塊。
在此步驟中,精靈會顯示已設定的虛擬主機清單 (請參閱 節 46.4, "虛擬主機")。且其中一個主機會被標示為預設主機 (伺服器名稱旁邊會有一個星號)。若要設定預設主機,請選取該伺服器,接著按一下。
若要新增主機,請按一下,接著會出現一個對話方塊,請在對話方塊中輸入該主機的基本資訊。中包括伺服器名稱、伺服器來源根目錄和管理員電子郵件。視窗左側框架中的說明文字則會對每個項目做出詳細說明。是用來決定辨別主機的方法。您可以指定要從 HTTP 標題識別要求伺服器,或是按伺服器 IP 位址識別要求伺服器。另一個識別主機的方法,是按用戶端連線到伺服器時使用的 IP 位址來決定虛擬主機。您也可以核取該選項來啟用 SSL 支援。另外,您還可以指定憑證檔案的路徑。只要按一下選擇路徑即可,預設目錄為 /etc/apache2/ssl.crt。輸入所有資訊後,請按一下繼續組態設定的最後一個步驟。
這是精靈的最後一個步驟。您可以在此處決定 Apache 伺服器啟動的方式和時間:啟動時間或手動啟動。之前選取的連接埠也會與預設和虛擬主機一同顯示。如果您接受目前設定,請按一下以完成組態設定。
HTTP 伺服器模組還可讓您對目前組態進行更多調整。按一下 可查看更多組態選項。以下為您可以進行變更的組態:
您可以在以上所有對話方塊中按一下,以查看錯誤錯誤紀錄和存取紀錄。按一下完成組態設定並返回「YaST 控制中心」。
若要新增 SSL 選項至主機,請在「HTTP 伺服器精靈」的步驟 3 (預設主機) 中按一下。如果您的伺服器已完成設定且您將不再使用精靈,您可以選取「HTTP 伺服器組態」對話方塊中的或按一下和來安裝 SSL 選項。這兩種方式中皆會出現一個快顯視窗,您可以將視窗捲動到 選項,接著按確認動作。接著系統會要求您為選取的選項輸入一個值。設定值僅為開啟或關閉兩種值,該對話方塊會要求您輸入適當的值。如果您無法確定要輸入哪個值,請參考設定 SSL 時有關參數值的文件。按一下後,該選項和值會出現在主機組態清單中。按一下可進入組態對話方塊中的下一個步驟。
如果 出現在主機組態清單中,請按一下開啟 SSL 組態對話方塊。如果清單中沒有顯示 SSL 選項,請按一下,選取 並按一下,接著會自動開啟對話方塊。您可以在此新增、刪除或編輯 SSL 選項。按一下返回「HTTP 伺服器精靈」。
手動設定 Apache 是指透過 root 使用者身份來編輯純文字組態檔案。
![]() | 沒有用於 Apache2 的 SUSEconfig 模組 |
|---|---|
SUSE Linux 已經移除用於 Apache2 的 SUSEconfig 模組。變更 | |
/etc/sysconfig/apache2 可控制部分的 Apache 全域設定,例如要載入的模組、要包含的其他組態檔案、伺服器應該啟動的旗標,以及應該加入到指令行的旗標。在這個檔案中的每個組態選項都會詳細加以說明,因此本文將不予以介紹。針對一般用途的網頁伺服器,/etc/sysconfig/apache2 應該可以符合任何組態需求。如果需要特定的組態,請參閱 節 46.3.2.2, "在 /etc/apache2/httpd.conf: Global Environment 區段中的 Apache 指示詞
" 的相關內容。
![]() | 自動在伺服器啟動時產生的檔案 |
|---|---|
請不要手動編輯這些檔案。而是編輯 | |
如需精確的組態調整內容,請查閱 /etc/apache2/* 中的檔案,尤其是針對虛擬主機、全域環境或主要伺服器的手動組態變更。
SUSE Linux 會以 /etc/apache2/httpd.conf 作為其他組態檔案的參考重點。僅針對啟用 /etc/sysconfig/apache2 沒有提供的功能,進行檔案編輯。位在 httpd.conf Global Environment (全域環境) 區段中的指示詞,會影響 Apache 的所有操作。
下列段落內容將介紹一些 YaST 沒有提供的指示詞。Global Environment 和 VirtualHost,都會用到類似 Document Root (Document Root) 等基本和必要的核心指示詞。
下列參數和指示詞將依邏輯連結和組態範圍進行排列。這些內容都會設定在 /etc/apache2/httpd.conf。
LoadModule 指示詞可以指定在 Runtime 載入 Apache 模組。module_identifier 是根據使用說明所指定的模組名稱。/path/to/module 可以是指向檔案的絕對或相對路徑。
在 SUSE Linux 中,並不需要直接使用 LoadModule 陳述式。而是使用 /etc/sysconfig/apache2 中的 APACHE_MODULE。
Apache 可以同時處理的用戶端數目上限。MaxClients 必須大到足夠處理網站預計同時收到的要求數目,而且必須小到確保實體 RAM 足以處理所有處理程序的大小。
當所有 VirtualHost 都沒有處理用戶端要求,而必須轉由預設或主要伺服器來處理這些要求時,就會套用 Main Server (主要伺服器) 區段中的指示詞。此外,這個區段所定義的參數就是所有已設定虛擬主機的預設值。因此,所有在 Main Server 的指示詞也可以從 VirtualHost 內容進行設定,以便覆寫這些預設值。
設定 Apache 要搜尋的檔案,以完成未指定檔案的 URL。預設值是 index.html。例如,當用戶端要求 URL http://www.example.com/foo/,而目錄 foo 包含檔名為 index.html 的檔案時,Apache 就會向用戶端傳送這個網頁。請使用空格分隔來宣告多個檔案。
這個指示詞只能用於 <Directory></Directory> 宣告。請參閱 Directory。
AllowOverride 可指定 .htaccess 檔案 (或由 AccessFileName 指定的其他檔案,請參閱 節 46.3.2.3.3, "AccessFileName 檔案名稱
") 可以覆寫哪些存取和顯示選項。
下面是可能的設定值:
全部
.htaccess 檔案可以覆寫全部選項。
無
.htaccess 檔案不可以覆寫任何選項。
AuthConfig
可以使用 .htaccess 檔案來為目錄進行密碼保護。
FileInfo
允許在 .htaccess 檔案中使用控制文件類型的指示詞。典型的範例就是使用 ErrorDocument 來設定自訂的錯誤頁面 (請參閱 http://httpd.apache.org/docs-2.0/mod/core.html#errordocument)。
索引
如果找不到任何 DirectoryIndex 文件,Apache 就會使用這個參數來控制目錄內容的顯示畫面。
限制
可以控制目錄或特定用戶端檔案的存取權限。在 .htaccess 檔案中使用 Allow、Deny 和 Order 等指示詞,便可達到控制目的。如需有關使用這些指示詞的詳細資訊,請參閱存取模組說明文件 (http://httpd.apache.org/docs-2.0/mod/mod_access.html)。
選項
允許在 .htaccess 檔案中使用 Options 和 XBitHack 指示詞。Options 指示詞 (http://httpd.apache.org/docs-2.0/mod/core.html#options) 可用來控制特定目錄中將提供哪些伺服器功能。XBitHack 指示詞 (http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack) 允許將包含執行位元集的檔案分析成 SSI (請參閱 節 46.5.1.1, "伺服器端包含 mod_include
")。
![]() | 重要 |
|---|---|
這些設定會循環套用到目前的目錄及其子目錄。除了 | |
如果要在實體電腦上提供多個領域或是主機名稱,就必須使用 VirtualHost 容器。這些容器會宣告在組態的 Virtual Hosts (虛擬主機) 區段。如需有關虛擬主機使用語法和功能的詳細資訊,請參閱 節 46.4, "虛擬主機"。
如果要在開機時間啟動 Apache 網頁伺服器,請使用 YaST 的 Runlevel 編輯器。如果要啟動它,請選取 YaST 中的+。接著,再瀏覽到項目。選擇,就可讓 Apache 在電腦開機時自動啟動。有經驗的使用者可能會使用 chkconfig 工具,透過下面指令行來達到相同效果:/sbin/chkconfig -a apache2。
如果要啟動或停止 Apache,請以 root 使用者身分來使用 /usr/sbin/rcapache2 程序檔。這樣 /usr/sbin/rcapache2 就會採用下列參數來啟動和停止 Apache 網頁伺服器:
start
啟動 Apache 網頁伺服器。
startssl
啟動提供 SSL 支援的 Apache 網頁伺服器。如需有關設定提供 SSL 之 Apache 的詳細資訊,請參閱 節 46.3.1.3, "新增 SSL 支援" 和 節 46.5.2.2, "Secure Sockets Layer 和 Apache:mod_ssl" 的內容。
停止
停止 Apache 網頁伺服器。
configtest
可在不需要實際停止、啟動或重新啟動網頁伺服器情況下,測試 Apache 組態。因為每次伺服器在啟動、重新載入或重新啟動時都會強制進行這項測試,所以通常並不需要明確地執行這項測試。
重新啟動
首先停止網頁伺服器,接著再重新啟動。
try-restart
重新啟動執行中的網頁伺服器。
restart-hup
向 Apache 網頁伺服器傳送 SIGHUP 訊號來重新啟動。這是很少使用的做法。
graceful 和 reload
在關機之前,通知所有已進入 fork 狀態的 Apache 處理程序先完成它們的要求,接著再停止網頁伺服器。當每個處理程序都結束之後,就會取代成新開始的處理程序,最後完全重新啟動 Apache。
![]() | 提示 |
|---|---|
rcapache2 | |
狀態
檢查 Apache 網頁伺服器的 Runtime 狀態。
範例 46.7. 下面是啟動和停止 Apache 時的範例輸出
tux@sun # rcapache2 status
Checking for httpd2: unused
tux@sun # rcapache2 configtest
Syntax OK
tux@sun # rcapache2 start
Starting httpd2 (prefork) done
tux@sun # rcapache2 status
Checking for httpd2: running
tux@sun # rcapache2 graceful
Reload httpd2 (graceful restart) done
tux@sun # rcapache2 status
Checking for httpd2: running
錯誤組態檔案可能會導致 Apache 無法正確啟動,或是完全無法啟動。如果完全不能啟動,可能連任何訊息都無法顯示。請務必在每次啟動和重新啟動時檢查主要錯誤日誌。