[GCP 教學] 在 GCP 的 Ubuntu 架設Apache 2個 Virtual Host 網站

在 Ubuntu 架設Apache 2個 Virtual Host 網站

先開機器,一樣最小規格

作業系統改 Ubuntu,硬碟要記得改「一般」。

HTTP 和 HTTPS 都先勾,之後測試兩個都會用到。

哇!什麼時候 OPs Agent 可以一鍵勾選安裝了!(這次先不裝)

其他不用選,先建立 VM。

瞬間開好,很有效率,直接連進去看看!

點 SSH 按鈕。

連進來了,先檢查一下是否有可用的更新

sudo apt update

安裝 apache2

sudo apt install apache2 -y

沒錯誤訊息,應該是裝好了。

點 IP 的那個超連結,看能不能打開網頁。

要注意,HTTPS的 S要去掉喔!因為 HTTPS 的服務,Apache還沒設喔!

預設網頁成功進來

我們要建立 2 個網站如下:

web1.humorousaaron.com

web2.humorousaaron.com

所以先去建立存放網頁的資料夾:

cd /var/www/html
sudo mkdir -p web1.humorousaaron.com/html
sudo mkdir -p web2.humorousaaron.com/html

因為資料夾是 root 擁有的,如果要讓資料夾可以讓一般使用者進去編輯檔案,必須要改變擁有權。

sudo chown -R $USER:$USER web1.humorousaaron.com/
sudo chown -R $USER:$USER web2.humorousaaron.com/

另外也更改資料夾的讀取權限,要達到:

1.網頁可以被讀取

2.Web Server有權限提供內容出去

3.做網頁的使用者,有權限建立內容

sudo chmod -R 755 /var/www

進去 2 個資料夾,分別建立首頁

cd web1.humorousaaron.com/html/

sudo vim index.html

<html>
        <head>
                <title>Welcome to Web1</title>
        </head>
        <body>
                <h1>Welcome to web1.humorousaaron.com</h1>
        </body>
</html>

第二個也是

<html>
        <head>
                <title>Welcome to Web2</title>
        </head>
        <body>
                <h1>Welcome to web2.humorousaaron.com</h1>
        </body>
</html>

cd web2.humorousaaron.com/html/

sudo vim index.html

建立虛擬機器檔,從預設的檔案複製出來

cd /etc/apache2/sites-available

sudo cp 000-default.conf web1.humorousaaron.com.conf

sudo cp 000-default.conf web2.humorousaaron.com.conf

開始編輯這兩個檔

sudo vim web1.humorousaaron.com.conf

改成這樣

ServerName web1.humorousaaron.com
        ServerAdmin webmaster@web1.humorousaaron.com
        DocumentRoot /var/www/html/web1.humorousaaron.com/html

儲存離開

web2也是一樣地改

確認設定檔沒有問題

sudo apache2ctl configtest

啟動 web1 和 web 2網站

sudo a2ensite web1.humorousaaron.com.conf

它提示你要 reload

sudo systemctl reload apache2

如果沒有錯誤訊息就表示 reload 成功

也啟動 web2

sudo a2ensite web2.humorousaaron.com.conf

sudo systemctl reload apache2

然後再 disable 預設網站

sudo a2dissite 000-default.conf

一樣再 reload

sudo systemctl reload apache2

去設定 DNS 網域名稱解析,2個網域都指向同一個 IP

可以去 Google Admin Toolbox 確認 DNS 解析是否成功,2個網域都檢查一下喔!

輸入網址可以看到,因為是 HTTP (80 Port),所以會顯示不安全,是正常的喔!

Table of Contents
返回頂端