介紹
Apache HTTP服務器是世界上使用最廣泛的Web服務器。 它提供了許多強大的功能,包括動態加載模塊,強大的媒體支持,以及與其他流行軟件的廣泛集成。
在本指南中,我們將討論如何在Ubuntu 16.04服務器上安裝Apache Web服務器。
第1步:安裝Apache
Apache在Ubuntu的默認軟件庫中可用,因此我們將使用傳統的軟件包管理工具進行安裝。
我們將從更新本地包索引開始,以反映最新的上游更改。 之後,我們可以安裝apache2
包:
sudo apt-get install apache2
確認安裝後, apt-get
將安裝Apache和所有必需的依賴項。
第2步:調整防火牆
在我們測試Apache之前,我們需要修改我們的防火牆以允許外部訪問默認的Web端口。 假設您遵循先決條件中的說明,您應該配置一個UFW防火牆來限制對您的服務器的訪問。
在安裝過程中,Apache向UFW註冊自己,以提供一些應用程序配置文件。 我們可以使用這些配置文件來簡化通過我們的防火牆啓用或禁用訪問Apache的過程。
我們可以通過鍵入以下內容列出ufw
程序配置文件:
sudo ufw app list
您應該獲得應用程序配置文件的列表:
OutputAvailable applications:
Apache
Apache Full
Apache Secure
您可以看到,有三種可用於Apache的配置文件:
- Apache :此配置文件僅打開端口80(正常,未加密的Web流量)
- Apache Full :此配置文件打開端口80(正常,未加密的Web流量)和端口443(TLS / SSL加密流量)
- Apache Secure :此配置文件僅打開端口443(TLS / SSL加密流量)
爲了我們的目的,我們將通過鍵入以下方式來允許Apache Full配置文件的傳入流量:
sudo ufw allow 'Apache Full'
第3步:檢查您的Web服務器
在安裝過程結束時,Ubuntu 16.04啓動Apache。 Web服務器應該已經啓動並運行了。
我們可以使用systemd
init系統檢查以確保該服務正在運行,方法是輸入:
sudo service apache2 status
如上所述,服務似乎已成功啓動。 但是,測試這個的最好方法是從Apache實際請求一個頁面。
您可以訪問默認的Apache着陸頁,以確認軟件是否正常運行。 您可以通過服務器的域名或IP地址訪問此服務。
嘗試在您的服務器的命令提示符下鍵入:
hostname -I
你會收到一些空格分開的地址。 您可以在Web瀏覽器中嘗試一下,看看它們是否正常工作
也可以在虛擬機瀏覽器中直接訪問 localhost 頁面,會顯示一個Apache網頁,如下圖
第4步:管理Apache進程
現在,您的Web服務器啓動並運行,我們可以通過一些基本的管理命令。
要停止您的Web服務器,您可以鍵入:
sudo service apache2 stop
要在Web服務器停止時啓動Web服務器,請鍵入:
sudo service apache2 start
要停止再次啓動服務,請鍵入:
sudo service apache2 restart
如果您只是進行配置更改,Apache通常可以重新加載而不會丟棄連接。 爲此,您可以使用以下命令:
sudo service apache2 reload
第5步:熟悉重要的Apache文件和目錄
現在你知道如何管理服務本身,你應該花幾分鐘時間來熟悉幾個重要的目錄和文件。
內容
-
/var/www/html
:實際的Web內容(默認情況下只包含您之前看到的默認Apache頁面)由/var/www/html
目錄提供。 這可以通過更改Apache配置文件來更改。比如,我們在虛擬機
/var/www/html
目錄下創建一些文件然後再宿主機中訪問
http://192.168.56.101/pyjun
,就可以查看之前在虛擬機中創建的文件
服務器配置
/etc/apache2
:Apache配置目錄。 所有Apache配置文件駐留在此處。/etc/apache2/apache2.conf
的主配置文件。 這可以修改爲對Apache全局配置進行更改。 該文件負責在配置目錄中加載許多其他文件。/etc/apache2/ports.conf
:該文件指定Apache將監聽的端口。 默認情況下,當啓用提供SSL功能的模塊時,Apache會監聽端口80,並在端口443上進行監聽。/etc/apache2/sites-available/
:可以存儲每個站點“虛擬主機”的目錄。 Apache不會使用此目錄中找到的配置文件,除非它們鏈接到sites-enabled
了sites-enabled
目錄(見下文)。 通常,所有服務器塊配置都在此目錄中完成,然後通過使用a2ensite
命令鏈接到另一個目錄來啓用。/etc/apache2/sites-enabled/
:存儲啓用了每個站點“虛擬主機”的目錄。 通常,這些是通過鏈接到具有a2ensite的sites-available
目錄中找到的配置文件創建的。 Apache在啓動或重新加載以編譯完整配置時讀取此目錄中找到的配置文件和鏈接。/etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
:這些目錄與sites-available
和sites-enabled
目錄具有相同的關係,但用於存儲不屬於虛擬主機conf-available
目錄中的文件可以使用a2enconf
命令啓用,並使用a2enconf
命令禁用。/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
:這些目錄分別包含可用和啓用的模塊。 以.load
結尾的文件包含加載特定模塊的片段,而以.conf
結尾的文件包含這些模塊的配置。 可以使用a2enmod
和a2dismod
命令啓用和禁用模塊。
服務器日誌
/var/log/apache2/access.log
:默認情況下,對Web服務器的每個請求都記錄在此日誌文件中,除非Apache被配置爲執行其他操作。/var/log/apache2/error.log
:默認情況下,所有錯誤都記錄在此文件中。 Apache配置中的LogLevel
指令指定錯誤日誌將包含多少細節。