Linux中國

如何在 Ubuntu 上安裝和優化 Apache

這是我們的 LAMP 系列教程的開始:如何在 Ubuntu 上安裝 Apache web 伺服器。

這些說明適用於任何基於 Ubuntu 的發行版,包括 Ubuntu 14.04、 Ubuntu 16.04、 Ubuntu 18.04,甚至非 LTS 的 Ubuntu 發行版,例如 Ubuntu 17.10。這些說明經過測試並為 Ubuntu 16.04 編寫。

Apache (又名 httpd) 是最受歡迎和使用最廣泛的 web 伺服器,所以這應該對每個人都有用。

開始安裝 Apache 之前

在我們開始之前,這裡有一些要求和說明:

  • Apache 可能已經在你的伺服器上安裝了,所以開始之前首先檢查一下。你可以使用 apachectl -V 命令來顯示你正在使用的 Apache 的版本和一些其他信息。
  • 你需要一個 Ubuntu 伺服器。你可以從 Vultr 購買一個,它們是最便宜的雲託管服務商之一。它們的伺服器價格每月 2.5 美元起。(LCTT 譯註:廣告 ≤_≤ )
  • 你需要有 root 用戶或具有 sudo 訪問許可權的用戶。下面的所有命令都由 root 用戶執行,所以我們不必為每個命令都添加 sudo
  • 如果你使用 Ubuntu,則需要啟用 SSH,如果你使用 Windows,則應該使用類似 MobaXterm 的 SSH 客戶端。

這就是全部要求和注釋了,讓我們進入安裝過程。

在 Ubuntu 上安裝 Apache

你需要做的第一件事就是更新 Ubuntu,這是在你做任何事情之前都應該做的。你可以運行:

apt-get update && apt-get upgrade

接下來,安裝 Apache,運行以下命令:

apt-get install apache2

如果你願意,你也可以安裝 Apache 文檔和一些 Apache 實用程序。對於我們稍後將要安裝的一些模塊,你將需要一些 Apache 實用程序。

apt-get install apache2-doc apache2-utils

就是這樣。你已經成功安裝了 Apache

你仍然需要配置它。

在 Ubuntu 上配置和優化 Apache

你可以在 Apache 上做各種各樣的配置,但是主要的和最常見的配置將在下面做出解釋。

檢查 Apache 是否正在運行

默認情況下,Apache 設置為在機器啟動時自動啟動,因此你不必手動啟用它。你可以使用以下命令檢查它是否正在運行以及其他相關信息:

systemctl status apache2

check if apache is running

並且你可以檢查你正在使用的版本:

apachectl -V

一種更簡單的檢查方法時訪問伺服器的 IP 地址,如果你得到默認的 Apache 頁面,那麼一切都正常。

更新你的防火牆

如果你使用防火牆(你應該使用它),則可能需要更新防火牆規則並允許訪問默認埠。Ubuntu 上最常用的防火牆是 UFW,因此以下說明使用於 UFW。

要允許通過 80(http)和 443(https)埠的流量,運行以下命令:

ufw allow 'Apache Full'

安裝常見的 Apache 模塊

一些模塊經常被建議使用,所以你應該安裝它們。我們將包含最常見模塊的說明:

使用 PageSpeed 加速你的網站

PageSpeed 模塊將自動優化並加速你的 Apache 伺服器。

首先,進入 PageSpeed 下載頁並選擇你需要的的文件。我們使用的是 64 位 Ubuntu 伺服器,所以我們安裝最新的穩定版本。使用 wget 下載它:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb

然後,使用以下命令安裝它:

dpkg -i mod-pagespeed-stable_current_amd64.deb
apt-get -f install

重啟 Apache 以使更改生效:

systemctl restart apache2
使用 mod_rewrite 模塊啟動重寫/重定向

顧名思義,該模塊用於重寫(重定向)。如果你使用 WordPress 或任何其他 CMS 來處理此問題,你就需要它。要安裝它,只需運行:

a2enmod rewrite

然後再次重新啟動 Apache。你可能需要一些額外的配置,具體取決於你使用的 CMS,如果有的話。為你的設置 Google 一下得到它的具體說明。

使用 ModSecurity 模塊保護你的 Apache

顧名思義,ModSecurity 是一個用於安全性的模塊,它基本上起著防火牆的作用,它可以監控你的流量。要安裝它,運行以下命令:

apt-get install libapache2-modsecurity

再次重啟 Apache:

systemctl restart apache2

ModSecurity 自帶了一個默認的設置,但如果你想擴展它,你可以使用 OWASP 規則集

使用 mod_evasive 模塊抵禦 DDoS 攻擊

儘管 mod_evasive 在防止攻擊方面有多大用處值得商榷,但是你可以使用它來阻止和防止伺服器上的 DDoS 攻擊。要安裝它,使用以下命令:

apt-get install libapache2-mod-evasive

默認情況下,mod_evasive 是禁用的,要啟用它,編輯以下文件:

nano /etc/apache2/mods-enabled/evasive.conf

取消注釋所有行(即刪除 #),根據你的要求進行配置。如果你不知道要編輯什麼,你可以保持原樣。

mod_evasive

創建一個日誌文件:

mkdir /var/log/mod_evasive
chown -R www-data:www-data /var/log/mod_evasive

就是這樣。現在重啟 Apache 以使更改生效。

systemctl restart apache2

你可以安裝和配置附加模塊,但完全取決於你和你使用的軟體。它們通常不是必需的。甚至我們上面包含的 4 個模塊也不是必需的。如果特定應用需要模塊,那麼它們可能會注意到這一點。

用 Apache2Buddy 腳本優化 Apache

Apache2Buddy 是一個可以自動調整 Apache 配置的腳本。你唯一需要做的就是運行下面的命令,腳本會自動完成剩下的工作:

curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl

如果你沒有安裝 curl,那麼你可能需要安裝它。使用以下命令來安裝 curl

apt-get install curl

額外配置

用 Apache 還可以做一些額外的東西,但我們會留下它們作為另一個教程。像啟用 http/2 支持,關閉(或打開) KeepAlive,調整你的 Apache 甚至更多。這些東西你現在不需要做,但是如果你在網上找到了教程,並且如果你等不及我們的教程,那就去做吧。

使用 Apache 創建你的第一個網站

現在我們已經完成了所有的調優工作,讓我們開始創建一個實際的網站。按照我們的指示創建一個簡單的 HTML 頁面和一個在 Apache 上運行的虛擬主機。

你需要做的第一件事是為你的網站創建一個新的目錄。運行以下命令來執行此操作:

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

當然,將 example.com 替換為你所需的域名。你可以從 Namecheap 獲得一個便宜的域名。

不要忘記在下面的所有命令中替換 example.com

接下來,創建一個簡單的靜態網頁。創建 HTML 文件:

nano /var/www/example.com/public_html/index.html

粘貼這些:

<html>
     <head>
       <title>Simple Page</title>
     </head>
     <body>
       <p>If you&apos;re seeing this in your browser then everything works.</p>
     </body>
</html>

保存並關閉文件。

配置目錄的許可權:

chown -R www-data:www-data /var/www/example.com
chmod -R og-r /var/www/example.com

為你的網站創建一個新的虛擬主機:

nano /etc/apache2/sites-available/example.com.conf

粘貼以下內容:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     ServerName example.com
     ServerAlias www.example.com

     DocumentRoot /var/www/example.com/public_html

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

這是一個基礎的虛擬主機。根據你的設置,你可能需要更高級的 .conf 文件。

在更新所有內容後保存並關閉文件。

現在,使用以下命令啟用虛擬主機:

a2ensite example.com.conf

最後,重啟 Apache 以使更改生效:

systemctl restart apache2

這就是全部了,你做完了。現在你可以訪問 example.com 並查看你的頁面。

via: https://thishosting.rocks/how-to-install-optimize-apache-ubuntu/

作者:ThisHosting 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國