在 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),所以會顯示不安全,是正常的喔!
