apache2設定virtual host


在 Ubuntu 中使用 Apache2 新增 Virtual Host 可以讓你在一台伺服器上運行多個網站或應用程式。以下是設定 Apache2 Virtual Host 的步驟:

1. 準備目錄結構

首先,你需要為每個網站創建一個目錄來存放網站文件。例如,如果你想設置一個名為 example.com 的網站:

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

為了便於管理,你還可以設置適當的權限:

sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com

2. 創建一個示例的 index.html 文件

為了測試,你可以在新建的網站目錄中創建一個簡單的 index.html 文件:

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

在文件中添加以下內容:

<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success! The example.com virtual host is working!</h1>
    </body>
</html>

保存並退出。

3. 創建 Virtual Host 設定文件

現在,我們需要創建一個新的 Virtual Host 設定文件。在 /etc/apache2/sites-available/ 目錄下創建一個文件,例如 example.com.conf

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

在文件中添加以下內容:

<VirtualHost *:80>
    ServerAdmin webmaster@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>
  • ServerAdmin: 設置網站管理員的電子郵件。
  • ServerName: 設置主要的域名(如 example.com)。
  • ServerAlias: 設置其他的域名別名(如 www.example.com)。
  • DocumentRoot: 指定網站的根目錄。

保存並退出。

4. 啟用新建的 Virtual Host

使用 a2ensite 命令來啟用新創建的 Virtual Host 配置文件:

sudo a2ensite example.com.conf

接著,重新加載 Apache2 使更改生效:

sudo systemctl reload apache2

5. 更新 hosts 文件(本地測試時)

如果你在本地測試而不是在正式的網域環境中,可能需要更新你的 /etc/hosts 文件,讓你的瀏覽器知道 example.com 指向你的伺服器:

sudo nano /etc/hosts

添加以下行:

127.0.0.1   example.com

保存並退出。

6. 測試配置

在瀏覽器中訪問 http://example.com,如果一切正確,你應該會看到之前創建的 index.html 文件內容。

7. 禁用預設的 Virtual Host (可選)

如果你希望禁用預設的 Apache 虚拟主机,可以运行以下命令:

sudo a2dissite 000-default.conf
sudo systemctl reload apache2

這樣就設置完成了 Apache2 的 Virtual Host。你可以使用類似的步驟來配置其他網站,只需為每個網站創建對應的配置文件和網站目錄。


WordPress Appliance - Powered by TurnKey Linux