如何在Ubuntu 18.04上安裝Apache Web服務器


一. apt庫安裝

1.在終端輸入更新檢查命令,sudo apt-get update

 

2. 在更新完成后(如果不想檢查更新,也可直接輸入此步)輸入:sudo apt-get install apache2

 

3.完成后,在瀏覽器輸入https://localhost 或者127.0.0.1,如果順利跳出Apache版本網頁,即代表安裝成功

 

4.停止服務:sudo /etc/init.d/apache2 stop

 

5.  Apache的默認文檔根目錄是在Ubuntu上的/var/www目錄 ,配置文件是/ etc/apache2/apache2.conf。配置存儲在的子目錄在/etc/apache2目錄。


二. 如何在Ubuntu 18.04上安裝Apache Web服務器 https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-18-04

Apache HTTP服務器是世界上使用最廣泛的Web服務器。它提供了許多強大的功能,包括可動態加載的模塊,強大的媒體支持以及與其他流行軟件的廣泛集成。 在本指南中,我們將解釋如何在Ubuntu 18.04服務器上安裝Apache Web服務器。

介紹

Apache HTTP服務器是世界上使用最廣泛的Web服務器。 它提供了許多強大的功能,包括可動態加載的模塊,強大的媒體支持以及與其他流行軟件的廣泛集成。

在本指南中,我們將解釋如何在Ubuntu 18.04服務器上安裝Apache Web服務器。

先決條件

在開始本指南之前,您應該為您的服務器配置具有sudo權限的普通非root用戶。 此外,您需要啟用基本防火牆來阻止非必要端口。 您可以參閱我們的Ubuntu 18.04服務器初始安裝指南,了解如何配置常規用戶帳戶並為您的服務器設置防火牆。

當您擁有可用的帳戶時,請以您的非root用戶身份登錄以開始。

第1步 - 安裝Apache

Apache可在Ubuntu的默認軟件倉庫中使用,從而可以使用傳統的軟件包管理工具進行安裝。

讓我們從更新本地包索引開始,以反映最新的上游變化:

sudo apt update

然后,安裝apache2軟件包:

sudo apt install apache2

確認安裝后, apt將安裝Apache和所有必需的依賴項。

第2步 - 調整防火牆


在測試Apache之前,需要修改防火牆設置以允許外部訪問默認Web端口。 假定您按照先決條件中的說明操作,則應該配置UFW防火牆,以配置對您的服務器的訪問限制。

在安裝期間,Apache向UFW注冊自己以提供一些應用程序配置文件,可用於啟用或禁用通過防火牆訪問Apache。

輸入以下內容列出ufw應用程序配置文件:

sudo ufw app list

您將看到應用程序配置文件的列表:

Available applications: Apache Apache Full Apache Secure OpenSSH

正如你所看到的,有三個配置文件可用於Apache:

  • Apache :此配置文件僅打開端口80(正常,未加密的網絡流量)
  • Apache Full :此配置文件可打開端口80(正常,未加密的網絡流量)和端口443(TLS / SSL加密流量)
  • Apache Secure :此配置文件僅打開端口443(TLS / SSL加密流量)

建議您啟用最嚴格的配置文件,該配置文件仍將允許您配置的流量。 由於我們尚未在本指南中為我們的服務器配置SSL,因此我們只需要允許端口80上的流量:

sudo ufw allow 'Apache'

 

您可以輸入以下內容來驗證更改:

sudo ufw status

您應該在顯示的輸出中看到允許的HTTP通信量:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

 

如您所見,配置文件已被激活以允許訪問Web服務器。

第3步 - 檢查您的Web服務器

在安裝過程結束時,Ubuntu 18.04啟動Apache。 Web服務器應該已經啟動並正在運行。

請檢查systemd init系統以確保服務正在運行,方法是鍵入以下命令:

sudo systemctl status apache2
Output● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago
 Main PID: 2583 (apache2)
    Tasks: 55 (limit: 1153)
   CGroup: /system.slice/apache2.service
           ├─2583 /usr/sbin/apache2 -k start
           ├─2585 /usr/sbin/apache2 -k start
           └─2586 /usr/sbin/apache2 -k start

 

正如你從這個輸出中可以看到的那樣,服務似乎已經成功啟動。 然而,測試這個最好的方法是從Apache請求一個頁面。

您可以訪問默認的Apache着陸頁,以確認軟件通過您的IP地址正常運行。 如果您不知道服務器的IP地址,可以通過命令行獲得幾種不同的方式。

嘗試在服務器的命令提示符處輸入以下內容:

hostname -I

你會找回幾個用空格分隔的地址。 你可以嘗試在你的網頁瀏覽器中查看它們是否工作。

另一種方法是輸入此信息,該信息應該為您提供從互聯網上的其他位置看到的公共IP地址:

curl -4 icanhazip.com

當您擁有服務器的IP地址時,請將其輸入到瀏覽器的地址欄中:

http://your_server_ip 

您應該看到默認的Ubuntu 18.04 Apache網頁:

Apache默認頁面

此頁面表示Apache正常工作。 它還包含有關重要Apache文件和目錄位置的一些基本信息。

第4步 - 管理Apache進程


現在您已經啟動並運行了Web服務器,讓我們回顧一些基本的管理命令。

要停止您的Web服務器,請鍵入:

sudo systemctl stop apache2

停止時要啟動Web服務器,請輸入:

sudo systemctl start apache2

要停止並再次啟動服務,請鍵入:

sudo systemctl restart apache2

如果您只是簡單地進行配置更改,Apache通常可以重新加載而不會丟失連接。 為此,請使用以下命令:

sudo systemctl reload apache2

默認情況下,Apache被配置為在服務器引導時自動啟動。 如果這不是您想要的,請鍵入以下命令禁用此行為:

sudo systemctl disable apache2

要重新啟用該服務以在啟動時啟動,請鍵入:

sudo systemctl enable apache2

Apache現在應該在服務器再次啟動時自動啟動。

在使用Apache Web服務器時,可以使用虛擬主機 (類似於Nginx中的服務器模塊)來封裝配置詳細信息,並從一台服務器托管多個域。 我們將建立一個名為example.com的域名,但您應該將其替換為您自己的域名 。 要詳細了解如何使用DigitalOcean設置域名,請參閱我們的DigitalOcean DNS簡介 。

Ubuntu 18.04上的Apache有一個默認啟用的服務器模塊,它被配置為從/var/www/html目錄中提供文檔。 雖然這適用於單個站點,但如果您托管多個站點,它可能會變得很笨重。 我們不必修改/var/www/html ,而是在/var/www為我們的example.com網站創建一個目錄結構,並將/var/www/html保留為默認目錄,如果客戶端請求沒有匹配任何其他網站。

按如下所示為example.com創建目錄,使用-p標志創建任何必需的父目錄:

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

接下來,用$USER環境變量分配目錄的所有權:

sudo chown -R $USER:$USER /var/www/example.com/html

如果你還沒有修改你的非unmask值,你的web根目錄的權限應該是正確的,但是你可以通過輸入:

sudo chmod -R 755 /var/www/example.com 

接下來,使用nano或您最喜歡的編輯器創建一個index.html頁面示例:

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

在里面,添加下面的示例HTML:

/var/www/example.com/html/index.html
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The example.com server block is working!</h1> </body> </html>

完成后保存並關閉文件。

為了使Apache能夠提供此內容,需要使用正確的指令創建虛擬主機文件。 我們不要直接修改/etc/apache2/sites-available/000-default.conf的默認配置文件,而是在/etc/apache2/sites-available/ example.com .conf創建一個新文件:

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

粘貼到以下配置塊中,該塊類似於默認值,但已更新為我們的新目錄和域名:

/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/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

請注意,我們已將DocumentRoot更新為我們的新目錄, ServerAdmin更新為example.com網站管理員可以訪問的電子郵件。 我們還添加了兩個指令: ServerName ,它建立應與此虛擬主機定義匹配的基本域;以及ServerAlias ,它定義應與其基本名稱匹配的其他名稱。

完成后保存並關閉文件。

讓我們使用a2ensite工具啟用該文件:

sudo a2ensite example.com.conf

禁用在000-default.conf定義的默認站點:

sudo a2dissite 000-default.conf

接下來,我們來測試配置錯誤:

sudo apache2ctl configtest

您應該看到以下輸出:

Syntax OK

重新啟動Apache以實現您的更改:

sudo systemctl restart apache2

Apache現在應該為您的域名提供服務。 你可以通過導航到http:// example.com來測試它,你應該看到類似這樣的內容:

Apache虛擬主機示例

第6步 - 熟悉重要的Apache文件和目錄

現在您已經知道如何管理Apache服務本身,您應該花幾分鍾時間熟悉一些重要的目錄和文件。

內容

  • /var/www/html :默認情況下,實際的網頁內容僅包含您之前看到的默認Apache頁面,它將在/var/www/html目錄中提供。 這可以通過修改Apache配置文件來改變。

服務器配置

  • /etc/apache2 :Apache配置目錄。 所有的Apache配置文件都駐留在這里。
  • /etc/apache2/apache2.conf :主要的Apache配置文件。 可以修改這個以更改Apache全局配置。 該文件負責加載配置目錄中的許多其他文件。
  • /etc/apache2/ports.conf :該文件指定了Apache將監聽的端口。 默認情況下,當啟用提供SSL功能的模塊時,Apache監聽端口80,並在端口443上監聽。
  • /etc/apache2/sites-available/ :可以存儲每個站點虛擬主機的目錄。 除非鏈接到sites-enabled目錄,否則Apache不會使用此目錄中的配置文件。 通常,所有服務器塊配置都在此目錄中完成,然后通過使用a2ensite命令鏈接到其他目錄來啟用。
  • /etc/apache2/sites-enabled/ :存儲已啟用每站點虛擬主機的目錄。 通常,這些是通過鏈接到a2ensitesites-available目錄中的配置文件創建的。 Apache在啟動或重新加載以編譯完整配置時讀取此目錄中的配置文件和鏈接。
  • /etc/apache2/conf-available/ , /etc/apache2/conf-enabled/ :這些目錄與sites-availablesites-enabled sites-available目錄具有相同的關系,但用於存儲不屬於虛擬主機。 conf-available目錄中的文件可以使用a2enconf命令啟用,並使用a2enconf命令禁用。
  • /etc/apache2/mods-available/ , /etc/apache2/mods-enabled/ :這些目錄分別包含可用和啟用的模塊。 以.load結尾的文件包含用於加載特定模塊的片段,而以.conf結尾的文件包含這些模塊的配置。 可以使用a2enmoda2dismod命令啟用和禁用模塊。

服務器日志

  • /var/log/apache2/access.log :默認情況下,除非Apache配置為其他方式,否則對Web服務器的每個請求都會記錄在此日志文件中。
  • /var/log/apache2/error.log :默認情況下,所有錯誤都記錄在此文件中。 Apache配置中的LogLevel指令指定錯誤日志將包含多少細節。

結論

現在您已安裝了Web服務器,您可以選擇多種可供選擇的內容類型以及可用於創建更豐富體驗的技術。

如果你想構建一個更完整的應用程序棧,你可以看看這篇關於如何在Ubuntu 18.04上配置LAMP棧的文章。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM