如何在Ubuntu 18.04上安裝和配置Apache 2 Web服務器(轉)


如何在Ubuntu 18.04上安裝和配置Apache 2 Web服務器

什么是Apache Web Server?

Apache或Apache HTTP服務器是一個免費的開源Web服務器,由Apache軟件基金(Apache Software Foundation)開發和維護。它的受歡迎程度可以通過以下事實來判斷:全球約有46%的網站由Apache提供支持。 Apache允許網站開發人員通過網絡提供他們的內容。

本教程是關於在Ubuntu系統上安裝和配置Apache2的。本文中提到的命令和過程已在Ubuntu 18.04 LTS系統上運行。因為我們在本文中使用了Ubuntu命令行,終端;您可以通過系統Dash或Ctrl + Alt + T快捷方式打開它。

在Ubuntu Linux上安裝Apache 2

請按照以下步驟通過Ubuntu官方存儲庫安裝Apache2軟件。

第1步:更新系統存儲庫

您可以通過首先更新Ubuntu存儲庫的本地包索引來下載最新版本的軟件。打開終端並輸入以下命令以執行此操作:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apt update

如何在Ubuntu上安裝和配置Apache 2 Web服務器

步驟2:使用apt命令安裝Apache 2

接下來,輸入以下命令作為sudo,以便安裝Apache2及其所需的依賴項:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apt install apache2

如何在Ubuntu上安裝和配置Apache 2 Web服務器

系統可能會提示您使用y / n選項繼續安裝。 請輸入Y,然后安裝程序將開始。

第3步:驗證Apache安裝

安裝完成后,您可以檢查版本號,從而通過輸入以下命令驗證系統上是否確實安裝了Apache2:

linuxidc@linuxidc:~/桌面/linuxidc.com$ apache2 -version

如何在Ubuntu上安裝和配置Apache 2 Web服務器

輸出如下:

Server version: Apache/2.4.29 (Ubuntu)
Server built:  2018-10-10T18:59:25

配置UFW防火牆

為了配置Apache,我們首先需要允許外部訪問我們系統的某些Web端口,並在您的UFW防火牆上允許Apache。

第1步:列出UFW應用程序配置文件

為了配置防火牆,讓我們首先列出我們啟用Apache訪問所需的應用程序配置文件。 使用以下命令列出此類可用應用程序:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo ufw app list

如何在Ubuntu上安裝和配置Apache 2 Web服務器

輸出如下:

可用應用程序:
  Apache
  Apache Full
  Apache Secure
  CUPS
  OpenSSH
  Samba

在上面的輸出中,您可以看到三個Apache配置文件都提供不同級別的安全性; Apache是一個提供最大限制但端口80仍處於打開狀態的Apache。

步驟2:在UFW上允許Apache並驗證其狀態

在UFW上允許Apache將為網絡流量打開端口80,同時為服務器提供最大的安全性。 請通過以下命令配置UFW以允許Apache:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo ufw allow 'Apache'
防火牆規則已更新
規則已更新(v6)

如何在Ubuntu上安裝和配置Apache 2 Web服務器

UFW的狀態現在將在防火牆上顯示啟用Apache。

$ sudo ufw status

配置Apache Web服務器

步驟1:驗證Apache服務是否正在運行

第一步是通過以下命令驗證Apache2服務是否在您的系統上啟動並運行:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
  Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
  Drop-In: /lib/systemd/system/apache2.service.d
          └─apache2-systemd.conf
  Active: active (running) since Sun 2018-11-25 19:26:03 CST; 10min ago
 Main PID: 11590 (apache2)
    Tasks: 6 (limit: 3500)
  CGroup: /system.slice/apache2.service
          ├─11590 /usr/sbin/apache2 -k start
          ├─11610 /usr/sbin/apache2 -k start
          ├─11611 /usr/sbin/apache2 -k start
          ├─11612 /usr/sbin/apache2 -k start
          ├─11616 /usr/sbin/apache2 -k start
          └─11618 /usr/sbin/apache2 -k start

11月 25 19:26:03 linuxidc systemd[1]: Starting The Apache HTTP Server...
11月 25 19:26:03 linuxidc apachectl[11574]: AH00558: apache2: Could not reliably
11月 25 19:26:03 linuxidc systemd[1]: Started The Apache HTTP Server.

如何在Ubuntu上安裝和配置Apache 2 Web服務器

狀態:active(running)驗證apache2服務是否正在運行。

第2步:驗證Apache是否正常運行並偵聽您的IP地址

您還可以通過從Apache服務器請求頁面來驗證Apache是否正在運行。 為此,您可以使用服務器的IP來訪問Apache登錄頁面。

使用以下命令了解服務器的IP:

linuxidc@linuxidc:~/桌面/linuxidc.com$ hostname -I
192.168.182.188 172.16.43.1 172.16.238.1 172.17.0.1

如何在Ubuntu上安裝和配置Apache 2 Web服務器

然后在Web瀏覽器中逐個嘗試IP,如下所示:

http://server_IP

如何在Ubuntu上安裝和配置Apache 2 Web服務器

就我而言,http://192.168.182.188和http://172.16.43.1。 這樣做將顯示Ubuntu的以下Apache網頁,驗證Apache服務器是否正常工作。

在Apache中設置虛擬主機

虛擬主機類似於Nginx中的服務器塊。 它用於管理來自一個服務器的多個域的配置。 我們將提供一個如何通過Apache服務器設置虛擬主機的示例。 我們將使用Apache for Ubuntu 18中默認啟用的服務器塊來建立一個名為linuxidc.com的網站。

第1步:設置域名

默認情況下啟用的服務器塊能夠提供來自 /var/www/html的文檔。 但是,我們將在/var/www/創建一個目錄,保留默認目錄。

通過以下命令創建此目錄,將linuxidc.com替換為您各自的域名。

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

然后通過以下命令分配目錄的所有權:

sudo chown -R $USER:$USER /var/www/linuxidc.com/html
sudo chmod -R 755 /var/www/linuxidc.com

如何在Ubuntu上安裝和配置Apache 2 Web服務器

現在讓我們創建一個索引頁面,如果Apache運行我們的域名,我們以后可以訪問它們進行測試。 通過Nano編輯器或任何您喜歡的文本編輯器創建HTML文件。

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

為索引頁輸入以下HTML:

<html>
<head>
<title>歡迎來到Linux公社頁面 www.linuxidc.com</title>
</head>
<body>
<h1>你真是棒! 您的linuxidc.com服務器塊已啟動!</h1>
</body>
</html>

如何在Ubuntu上安裝和配置Apache 2 Web服務器

我們使用nano編輯器來創建HTML文件。

您可以使用Ctrl + X將文件保存為nano,然后輸入Y並按Enter鍵。

Apache需要一個虛擬主機文件來提供服務器的內容。 已經創建了用於此目的的默認配置文件,但我們將為自定義配置創建一個新配置文件。

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

如何在Ubuntu上安裝和配置Apache 2 Web服務器

輸入域名的以下自定義配置詳細信息:

<VirtualHost *:80>
ServerAdmin admin@linuxidc.com
ServerName linuxidc.com
ServerAlias www.linuxidc.com
DocumentRoot /var/www/linuxidc.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我們正在使用nano編輯器來創建此.conf文件。

您可以使用Ctrl + X將文件保存為nano,然后輸入Y並按Enter鍵。

步驟2:啟用域配置文件

讓我們啟用使用a2ensite工具創建的配置文件:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2ensite linuxidc.com.conf
Enabling site linuxidc.com.
To activate the new configuration, you need to run:
  systemctl reload apache2

如何在Ubuntu上安裝和配置Apache 2 Web服務器

輸出將建議激活新配置,但我們可以在運行以下禁用原始配置文件的命令后集體執行此操作:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

如何在Ubuntu上安裝和配置Apache 2 Web服務器

現在重啟Apache服務:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo systemctl restart apache2

第3步:測試錯誤

最后,讓我們通過以下命令測試是否存在任何配置錯誤:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apache2ctl configtest

如果您沒有收到任何錯誤,您將獲得以下輸出:

Syntax OK

如何在Ubuntu上安裝和配置Apache 2 Web服務器

但是,Ubuntu 18.04中常見以下錯誤

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

如何在Ubuntu上安裝和配置Apache 2 Web服務器

解決錯誤:

輸入以下命令以解決上述錯誤:

linuxidc@linuxidc:~/桌面/linuxidc.com$ echo "ServerName linuxidc.com" | sudo tee /etc/apache2/conf-available/servername.conf

如何在Ubuntu上安裝和配置Apache 2 Web服務器

然后:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2enconf servername
Enabling conf servername.
To activate the new configuration, you need to run:
  systemctl reload apache2

如何在Ubuntu上安裝和配置Apache 2 Web服務器

現在,當您再次檢查錯誤時,您將看到通過以下輸出解決了此錯誤:

linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apache2ctl configtest

Syntax OK

如何在Ubuntu上安裝和配置Apache 2 Web服務器

第4步:測試Apache是否為您的域名提供服務

Apache服務器現在配置為提供您的域名。 這可以通過在系統上運行的任何Web瀏覽器中輸入您的服務器名稱來驗證:

http://www.linuxidc.com

索引頁面應顯示如下,表示Apache現在已准備好為您的服務器塊提供服務!

通過域名訪問您的網站

中文亂碼:

如何在Ubuntu上安裝和配置Apache 2 Web服務器

Apache 2網頁中文亂碼的解決方法:

linuxidc@linuxidc:~$ sudo nano /etc/apache2/conf-available/charset.conf

修改charset.conf的AddDefaultCharset UTF-8,把AddDefaultCharset UTF-8前面的#去掉即可。

如下圖:

如何在Ubuntu上安裝和配置Apache 2 Web服務器

然后重啟apache2

linuxidc@linuxidc:~$  sudo systemctl restart apache2

再次打開,OK,中文網頁亂碼解決了。

如何在Ubuntu上安裝和配置Apache 2 Web服務器

一些常見的Apache管理命令

設置Web服務器后,您可能必須在Apache上執行一些基本的管理操作。 以下是您可以在終端應用程序中輸入的用於這些操作的命令。

sudo systemctl start apache2  //將此命令用作sudo以啟動Apache服務器。

sudo systemctl stop apache2  //將此命令用作sudo,以便在Apache服務器處於啟動模式時停止它。

sudo systemctl restart apache2  //將此命令用作sudo以便停止然后再次啟動Apache服務。

sudo systemctl reload apache2  //將此命令用作sudo,以便在不重新啟動連接的情況下應用配置更改。

sudo systemctl啟用apache2  //將此命令用作sudo,以便在每次啟動系統時啟用Apache。

sudo systemctl disable apache2  //將Apache設置為每次啟動系統時啟動

總結

通過本文,您學習了如何在Ubuntu系統上安裝和配置Apache Web服務器。 這包括對您的UFW防火牆進行一些更改,然后為您的IP地址配置Web服務器。 我們還建議您通過Apache設置虛擬主機; 這將為您提供如何使用Apache在Internet上托管文件的基礎。 基本的Apache管理命令還可以幫助您作為Web管理員以最佳方式管理Web服務器。


免責聲明!

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



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