開發與維運

如何在 Ubuntu 20.04 上安裝 Apache

1.png
鏡像下載、域名解析、時間同步請點擊 阿里巴巴開源鏡像站

Apache 是世界上最流行的網站服務器之一。它是開源並且跨平臺的 HTTP 服務器,它託管了互聯網上大量的網站。Apache 提供了很多強大的功能,並且可以擴展其他的模塊。
這篇文章描述瞭如何在 Ubuntu 20.04 上安裝和管理 Apache 網站服務器。

一、前提條件

在開始安裝之前,要確保你以 sudo 權限用戶身份登錄。

二、安裝 Apache

Apache 被包含在默認的 Ubuntu 軟件源中。
安裝非常直接。在 Ubuntu 和 Debian 系統中,Apache 軟件包和服務被稱為 apache2
運行下面的命令來更新軟件包索引,並且安裝 Apache:

sudo apt update
sudo apt install apache2

當安裝過程完成,Apache 服務將會被自動啟動。
你可以通過輸入下面的命令,驗證 Apache 是否正在運行:

sudo systemctl status apache2

輸出將會告訴你,服務正在運行,並且啟動了開機啟動。

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-09 19:28:40 UTC; 36min ago
...

就這些,你已經成功地在你的 Ubuntu 20.04上安裝了 Apache,你可以開始使用它了。

三、打開 HTTP 和 HTTPS 端口

Apache 監聽了端口80(HTTP)和443(HTTPS)。你需要在防火牆打開那些端口,以便網站服務器從互聯網上是可以訪問的。
假設你正在使用UFW,你可以通過啟用Apache Full配置,它包含了這兩個端口的規則:

sudo ufw allow 'Apache Full'

驗證改變:

sudo ufw status

輸出如下:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

四、驗證 Apache 安裝

想要驗證一切都順利工作,打開你的瀏覽器,輸入服務器 IP 地址http://YOUR_IP_OR_DOMAIN/,你可以看到默認的 Ubuntu 20.04 Apache 歡迎頁面,如圖所示:
2.png
這個頁面包含了 Apache 配置文件,幫助腳本和文件夾位置的一些基本信息。

五、設置一個虛擬主機

一個虛擬主機,是一個 Apache 配置指令,它允許你在一個服務器上運行多個網站。典型的例子,一個虛擬主機描述了一個網站。
Apache 默認啟動了一個虛擬主機。所有域名都指向服務器 IP 地址,匹配了默認的虛擬主機。如果你只託管一個簡單的網站,你需要將網站內容上傳到/var/www/html,並且編輯虛擬主機配置,/etc/apache2/sites-enabled/000-default.conf文件。
如果你想託管更多網站,你需要為每一個網站創建一個虛擬主機配置。在這一節,我們將會為一個域名"example.com"設置網站。你可能需要將"example.com"替換成你自己的域名。
第一步就是創建根目錄文件夾,域名的網站文件將會被存放在這裡並且響應用戶請求。運行下面的命令,創建文件夾:

sudo mkdir -p /var/www/example.com

為了測試,在域名根文件夾下創建一個index.html文件:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

創建完成後,保存並且退出。
如果想要避免權限問題,可以修改域名根文件夾的用戶歸屬為apache 用戶(www-data):

sudo chown -R www-data: /var/www/example.com

接下來就是為域名“example.com”創建一個虛擬主機配置。最佳實踐就是將每一個虛擬主機配置存儲成一個獨立的文件。
Apache虛擬主機配置文件存儲在/etc/apache2/sites-available目錄。標準命名是使用域名來命名配置文件。
打開你的文本編輯器,並且創建如下文件/etc/apache2/sites-available/example.com.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html
    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

Apache 不會讀取/etc/apache2/sites-available文件夾下的配置文件,除非它們被鏈接到/etc/apache2/sites-enabled文件夾。
想要激活虛擬主機配置,使用a2ensite創建一個鏈接:

sudo a2ensite example.com

測試配置文件,是否有任何語法錯誤:

sudo apachectl configtest

如果沒有任何錯誤,你將會看到下面的輸出:

Syntax OK

重啟 Apache 服務,使修改生效:

sudo systemctl restart apache2

最終,想要驗證一切都按照預期工作,在你的瀏覽器中打開[http://example.com](http://example.com),你將會看到類似下面的圖片:
3.png

六、總結

至此,我們已經向你展示瞭如何在 Ubuntu 20.04 上安裝 Apache。你現在可以開始部署你的應用,並且將 Apache 用作網站或者代理服務器了。

阿里巴巴開源鏡像站 提供全面,高效和穩定的鏡像下載服務。釘釘搜索 ' 21746399 ‘ 加入鏡像站官方用戶交流群。”

Leave a Reply

Your email address will not be published. Required fields are marked *