返回部落格

在 Ubuntu 18.04 上安裝 Apache 伺服器:操作指南

在 Ubuntu 18.04 上安裝 Apache 伺服器:操作指南

簡介

Apache HTTP Server 是一款開源網頁伺服器,由 Apache 軟體基金會 開發。它是一款將您的本地伺服器連接到網站伺服器(例如 Firefox 或 Google Chrome)的軟體。此連接用於傳送和接收檔案與數據。

它是全球最受歡迎的伺服器。全球資訊網上超過 40% 的網站都由 Apache HTTP 驅動。它之所以受歡迎,原因在於其高度可定制性、強大的整合能力以及可靠的媒體支援。Apache 基於模組化架構運行。您可以修改單個模組來新增和移除各種功能。在本教學中,我們將引導您如何在 Ubuntu 18.04 上安裝 Apache 伺服器。

安裝前準備

在開始安裝 Apache 之前,您需要處理一些先決條件。首先,請確保您已在本地伺服器上配置了具有 sudo 權限的非 root 用戶。另一件您需要的是防火牆。您必須啟用基本防火牆並封鎖非必要的連接埠。在開始安裝之前,請登入您具有權限的非 root 用戶。您可以透過遵循我們的設定 Ubuntu 伺服器教學.

如何在 Ubuntu 18.04 上安裝 Apache 網頁伺服器

如果您已滿足先決條件,就可以開始進行實際安裝。您可以透過 6 個簡單的步驟來安裝和探索 Apache 網頁伺服器:

步驟 1:安裝 Apache

您會很高興知道 Apache 已經是 Ubuntu 的一部分。這意味著您可以使用典型的套件管理工具在伺服器上安裝 Apache。它作為預設軟體存在於軟體庫中。首先,您需要更新本地套件索引:

此命令會使最近的上游變更顯示在套件索引中。接下來,我們需要輸入指令來安裝 apache2 套件:

步驟 2:變更您的防火牆設定

在處理先決條件時,您必須已經設定了 UFW 防火牆。如果您按照說明操作,您的防火牆將會封鎖您對伺服器的存取。在運行 Apache 之前,我們需要允許預設網頁連接埠存取伺服器。因此,必須變更防火牆設定。

在安裝時,Apache 會向 UFW 註冊。此註冊的結果是建立了一些應用程式設定檔。此外,您可以使用這些設定檔來啟用或停用防火牆對 Apache 的存取。然後,使用以下命令來檢視這些 ufw 應用程式:

您將在如下列表中看到您的應用程式設定檔:

Apache Server ufw app list

上述列表顯示已建立了三個應用程式設定檔,分別是 Apache、Apache Full 和 Apache Secure。以下是關於這些設定檔的一些實用詳細資訊:

  • Apache:

Apache 設定檔僅能開啟連接埠 80。此連接埠允許一般的、未加密的網頁流量。

  • Apache Full:

Apache Full 設定檔有能力同時開啟連接埠 80 和 443。其中連接埠 80 允許一般的、未加密的網頁流量,而連接埠 443 則負責 TLS/SSL 加密流量。

  • Apache Secure:

最後,Apache Secure 僅開啟連接埠 443。如上所述,它負責允許 TLS 或 SSL 加密的網頁流量進入。

在這些設定檔之間進行選擇時,請考慮您已配置的流量。您會希望在選擇最嚴格的設定檔的同時,確保所需的流量能夠通過。SSL 配置目前超出了我們的討論範圍。因此,我們目前將專注於通過連接埠 80 的流量。這意味著在此情境下,我們將啟用應用程式設定檔「Apache」。您可以這樣做:

要驗證修改,請輸入以下內容:

此命令將顯示包含目前允許通過的 HTTP 流量的輸出。您將會看到類似這樣的內容:

Apache Server firewall status

流量顯示所需的 Apache 設定檔已啟用。已透過防火牆授予對網頁伺服器的存取權限。

步驟 3:檢查您的網頁伺服器

Apache 的安裝已完成,且防火牆設定已修改。在此程序結束時,Ubuntu 18.04 將自動啟動 Apache。接下來,您需要使用 systemd 初始化系統來檢查該服務是否在任何特定時刻運行。如果您想了解更多關於初始化系統的資訊,可以查看我們的 關於如何使用 Systemctl 管理 Systemd 服務和單元的教學課程。要檢查服務是否正在運行,請輸入:

輸出結果如下:

apache2 status

您需要在上方尋找服務的 Active 或 running 狀態。這表示服務已啟動並成功運行。還有另一種更佳的方法來測試服務的功能。您可以透過向 Apache 請求頁面來檢查其狀態。使用您伺服器的 IP 位址,您可以確認該軟體是否在預設的 Apache 登陸頁面上運行。如果您還不知道伺服器的 IP 位址,可以使用以下提示字元來獲取:

此命令將顯示包含多個以空格分隔的 IP 位址的結果。在瀏覽器中逐一測試每個位址。另一種存取方式是獲取您的公用 IP 位址。您可以使用如下的提示字元:

這將顯示您在網路上其他位置所看到的 IP 位址。接下來,一旦您取得 IP 位址,請開啟您的網頁瀏覽器。在網址列中輸入並執行以下內容:

這將開啟預設的 Ubuntu 18.04 Apache 網頁。它看起來像這樣:

ubuntu homepage

此頁面包含一些關於您的檔案和目錄的基本資訊。由於它在輸入網址後即啟動,這表示 Apache 正在正常運行。

步驟 4:Apache 中的基本管理

驗證確認了 Apache 正在運行且您的伺服器運作正常。現在,我們將探索一些您可以在伺服器上用於管理的基本命令。

您的 Apache 預設設定會在伺服器開機時自動啟動。您可以選擇停用此設定。請輸入:

要重新啟用此預設功能,請使用此命令:

接下來,如果您想手動停止伺服器,請輸入以下內容:

如果您在停止後想重新啟動它,請使用以下命令:

要停止並啟動伺服器(或基本上是重新整理它),請輸入:

當您停止伺服器時,它往往會遺失所有連線。重新啟動它意味著它會再次尋找並連結這些連線。如果您願意,您也可以在不遺失連線的情況下重新載入 Apache。這在進行設定變更時特別有用。請輸入以下內容以在不中斷連線的情況下重新載入:

步驟 5:虛擬主機設定

雖然這不是強制性的,但強烈建議您設定虛擬主機。虛擬主機是伺服器中的小區塊,其中包含一組組的設定詳細資訊。您可以從您的伺服器在一個虛擬主機上託管多個網域。

預設情況下,如果您在 Ubuntu 18.04 上使用 Apache,將會有一項已啟用的伺服器區塊,用於處理 /var/www/html 目錄中的文件。如果您要託管多個網站而不是單個網站,您會需要變更此設定。然而,還有另一個效果更好的可行選項。保留 /var/www/html 目錄不作變動。相反地,前往 /var/www/ 為您所需的網域上的網站建立目錄結構。如果您這樣做,/var/www/html 目錄將會被配置為預設目錄。如果用戶端請求與您網域上的任何網站都不相符,系統將會從這裡提供服務。

之後,我們將介紹如何建立新網域及其關聯目錄。在此範例中,我們將使用一個虛擬名稱 your_domain。請將後續說明中出現的 your_domain 替換為您自己的網域名稱。首先,讓我們看看如何為 your_domain 建立新目錄:

現在,您必須分配該目錄的所有權。您可以使用 $USER 環境變數來達到此目的:

若要繼續,您的網頁根目錄權限必須正確。如果您沒有變更配置中的 unmask 值,您的權限應該沒問題。但如果您不確定,隨時可以使用以下命令進行確認:

接下來,我們將建立一個 index.html 頁面。如果您有偏好的編輯器,可以使用像我們一樣的 nano 或任何其他編輯器:

在 index 中加入此範例 HTML,然後儲存並關閉:

下一步是建立虛擬主機檔案。若要讓 Apache 提供上述範例內容,必須使用包含所有正確指令的虛擬主機檔案。預設的設定檔位於:/etc/apache2/sites-available/000-default.conf。我們不會修改該檔案,而是在以下位置建立一個新檔案:/etc/apache2/sites-available/your_domain.conf。

與之前類似,我們將加入一個設定範例。然而,這一次我們將根據網域名稱和我們剛剛建立的新目錄來更新它。加入此區塊,然後儲存並關閉:

如您在上方所見,我們也更新了 ServerAdmin 的電子郵件。這是 your_domain 網站管理員可以聯絡的地址。不僅如此,我們還將 DocumentRoot 更新為新的目錄,並加入了兩個新指令。這些指令包括 ServerName 和 ServerAlias。ServerName 用於設定基礎網域。基礎網域必須相符才能定義虛擬主機。另一方面,ServerAlias 提供了其他也應該相符的名稱,類似於基礎名稱。您可以使用 a2ensite 工具輕鬆啟用該檔案:

若要停用 000-default.conf 中提到的預設網站,請使用此命令:

現在設定已就緒,您可以輸入以下命令來檢查是否有錯誤:

如果沒有設定錯誤,將會顯示以下輸出:

若要套用變更,您必須按照之前的指示重新啟動 Apache 伺服器:

太棒了!您已設定好虛擬主機並設定了您的網域名稱。若要檢查 Apache 是否確實正在為 your_domain 提供服務,請前往 http://your_domain。

步驟 6:瀏覽檔案與目錄

您已成功對 Apache 伺服器進行了一些基本設定。此外,您也瞭解了如何管理您的 Apache 服務。接下來,您可以花點時間探索一些最關鍵的目錄和檔案。

內容
  • /var/www/html

我們之前也討論過這個目錄。它包含預設的 Apache 網頁。如果您願意,可以變更此網頁的內容。若要這樣做,您必須修改 Apache 設定檔。

伺服器設定

 

  • /etc/apache2

這是主要的 Apache 設定目錄。這意味著該目錄包含與 Apache 相關的所有設定檔。

  • /etc/apache2/apache2.conf

正如目錄末尾的附加內容所示,這是主要的設定檔。此檔案會載入該目錄中的其他幾個檔案,並可用於修改 Apache 設定。如果您想對 Apache 伺服器的設定進行任何變更,這就是您進行修改的地方。

  • /etc/apache2/ports.conf

顧名思義,此檔案與我們之前討論過的連接埠有關。預設啟用連接埠 80,並在引入包含 SSL 的模組時啟用連接埠 443。此檔案包含有關哪些連接埠已開啟且啟用的詳細資訊。

  • /etc/apache2/sites-available/

這是您的虛擬主機所在的位置。所有要進行的伺服器區塊設定都在此目錄中執行。若要啟用伺服器區塊,必須透過 a2ensite 將它們連結到其他目錄。只有在透過連結到 sites-enabled 目錄啟用後,Apache 才能存取此目錄中的檔案。

  • /etc/apache2/sites-enabled/

這是已啟用的虛擬主機所在的目錄。正如我們所提到的,當您透過 a2ensite 命令連結 sites-available 目錄中的檔案時,主機就會被啟用。此目錄中的檔案對於 Apache 啟動、重新載入或編譯設定非常重要。

  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/

這些目錄的工作方式與 sites-available 和 sites-enabled 類似。若要啟用 conf-available 目錄中的檔案,您必須使用 a2enconf 命令。停用命令為 a2disconf。這些目錄不儲存每個網站的虛擬主機,而是包含與虛擬主機無關的設定詳細資訊:

  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/

這些目錄也具有與上述兩個範例類似的關係。它們包含模組,包括可用的模組以及透過 a2enmod 命令啟用的模組。若要停用模組,您可以使用 a2dismod 命令。副檔名為 .load 的檔案包含可以載入指定模組的片段。副檔名為 .conf 的檔案則保存指定模組的相關設定詳細資訊。

伺服器記錄

 

  • /var/log/apache2/access.log

此記錄檔包含對您伺服器的所有請求。這是預設發生的。您可以選擇設定 Apache 以不同的方式記錄請求。

  • /var/log/apache2/error.log

這是錯誤記錄檔。預設情況下,您產生的所有錯誤都會直接記錄到此檔案中。您可以透過 LogLevel 指令查看記錄錯誤記錄的詳細程度。

結論

最後,透過遵循上述步驟,您可以輕鬆地在 Ubuntu 18.04 上安裝 Apache 網頁伺服器。一旦您的系統上有了該伺服器,您就可以探索該平台上擁有的各種選項。您可以使用不同的技術來製作各種類型的內容。透過這種方式,您可以在伺服器上為自己培養獨特且便利的體驗。

您也可以學習 如何使用 Let’s Encrypt 保護您的 Apache 伺服器 ,只需遵循我們的逐步教學。如果您想學習如何在 CentOS 7 上安裝 Apache,請遵循我們的 關於如何在 CentOS 7 上安裝 Linux, Apache, MySQL, PHP (LAMP) 軟體疊層的教學.

祝您運算愉快!

author

Akshay Nagpal

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。