Site icon May's Notes

AWS Lightsail 低成本、快速建置 WordPress(含域名綁定/安裝SSL憑證)

wordpress

什麼是 AWS Lightsail?

AWS Lightsail 是 AWS 提供的 虛擬私有伺服器(VPS) 服務。

如果不理解 VPS 是什麼的話可以將 VPS 想像成一個租用的電腦主機,但這台電腦並不是實際的硬體,而是存在雲端的虛擬電腦。這台電腦擁有自己的作業系統,你可以在這台電腦上運行軟體、存取檔案甚至將你的網站放在上面,所以 AWS Lightsail 服務就類似租用一個虛擬電腦

而虛擬電腦是在一個大型的伺服器上運行的,這個大型的伺服器可能同時運行許多類似的虛擬電腦,但它們之間是獨立的不會互相影響。

VPS 通常用於託管網站、應用程式、資料庫等。它們比自己擁有一台完整的伺服器來得便宜,同時也比共享主機方案提供更多的自由度和性能,並且不必擔心硬體維護和管理的問題。

建立 Lightsail 實例:https://lightsail.aws.amazon.com/ls/webapp/create

首先需要擁有一個 AWS 帳號,註冊流程非常簡單所以就跳過了。

建立實例(Select your instance location)

首先我們需要建立一個實例(instance),實例是指你在VPS上運行的一個虛擬伺服器,它擁有自己的作業系統、應用程式和資源,就像一台獨立的實體伺服器一樣。

選擇實例位置(Select your instance location)

離實例距離越近延遲就越低,因此如果人在台灣的話建議選擇 首爾、東京、新加坡, 我個人是選擇東京,東京連線速度相較來說更快一些。

選擇實例鏡像(Pick your instance image)

鏡像(image)是一種虛擬伺服器的快照或模板。它是你設定好的虛擬伺服器的複本,包括作業系統、應用程式和配置。你下載某個軟體時的安裝檔和安裝作業系統時要用到的 .iso 檔都是鏡像。

旁邊的 WordPress Multisite 是大多數企業和機構使用的方案,允許你建立子網域子目錄,比如說你的域名是 example.com,你就可以建立多個子域 site1.example.com, site2.example.com 或者子目錄 example.com/site1, example.com/site2,如果有這種需求可以選 Multisite,但如果你純粹只是要一個 Blog 的話選 WordPress 就夠了。

啟動自動快照(Enable Automatic Snapshots)

自動快照(automatic snapshot) 就是可以幫你的網站做鏡像備份,可以選擇在台灣時間凌晨來進行快照,免費的備份功能不要白不要,記得打勾。

選擇實例計畫(Choose your instance plan)

這部分就根據個人需求選擇即可,如果只是單純要架設 blog 的話,最基礎的 $3.5, $5 就夠了。

Identify your instance 就是你的實例名稱,單純用於個人識別。

取得 WordPress 後台密碼

創建完實例後會自動跳轉到 Lightsail 的實例頁面,左下角可以修改語言。

登入 WordPress 後台的默認密碼存儲在實例中,如果要獲取的話需要透過 SSH 連線才能獲取。

SSH(Secure Shell)連線是一種用於遠程安全訪問(虛擬)伺服器的方式。

點擊 SSH 圖示後會開啟 SSH terminal,輸入指令後即可獲取密碼:

cat $HOME/bitnami_application_password

登入 WordPress 後台

在你的公開 IP 後面加上 /wp-login.php 即可打開 WordPress 後台

公開 IP 就是實例下面顯示的 IP,以我的為例就是:18.183.216.250/wp-login.php

修改後台語言

如果需要修改後台的語言,可以在左側菜單找到 Settings – General – Site Language 在最下方選擇繁體中文

修改後台密碼

現在的後台密碼是隨機生成的,如果需要更改可以在左側菜單找到 使用者 – 全部使用者 – 編輯 user

最下方找到「設定新密碼」:

創建實例靜態 IP

是不是覺得到這一步就結束了?其實並沒有。當你把實例重啟之後會發現 IP 位址改了,總不可能每次訪問網站都需要換新的 IP,所以現在我們需要做的是建立靜態 IP。

在 Lightsail instances 中點擊實例進入實例的詳細頁面,上方標籤頁選擇「Networking」,在 PUBLIC IP 的下方點擊「Attach static IP

輸入 static IP 的 ID,只要確保它是唯一即可:

建立之後可以嘗試重啟實例,確認IP是否不變。

使用自定義域名

目前我們需要透過 IP 來訪問網站,但 IP 實在是太難記了,所以我們需要使用自定義域名來代替 IP。

購買域名

AWS 就有提供域名註冊:AWS 域名註冊,不過我個人是在 spaceship 購買的域名。

域名比價

要想知道域名在哪個網站購買最便宜,可以參考這個網站:Domcomp,直接輸入想要的域名後就可以對比不同域名商的價格:

要特別注意的是,有的域名廠商初次購買折扣價續約價會差滿多的,比如我想購買的域名在 GoDaddy 折扣價是 $4.99/年,但是續約價是 $11.99/年,這就差了 7 塊美金,所以建議購買之前要先中和考量折扣價和續約價。

  1. 如果域名是灰底的話就代表無法註冊。
  2. 域名比價網的價格不一定準確,建議大致比較後再去域名商官網查詢二次確認。

綁定域名

在 Lightsail 左側菜單找到 Domains & DNS,點擊 Create DNS zone

如果你不是在 Amazon Route 53 購買域名的話要選擇 Use a domain from another registrar,然後輸入購買的域名(不包括 https://www/):

在 DNS records 新增一筆 A 紀錄,record name 為 www,resolves to IPv4 的位址:

回到實例中找到 Domains – Assign domain

選中剛剛新增的 DNS zone 後按 Assign

建立完成後,在域名供應商管理域名,添加 A 紀錄為實例的 IPv4

添加完紀錄之後等待約幾分鐘就可以正常訪問了,久一點的話可能需要到一天。

安裝 SSL 憑證,使用 HTTPS 訪問網站

現在訪問網站會提示我們的網站連線不安全,這是因為目前使用的是 HTTP 協議而不是 HTTPS:

為了使網站能夠更安全的訪問,我們需要安裝 SSL 憑證(免費的 Let’s Encrypt),憑證每 90 天會更新(它會自動更新),安裝的方式需要透過 SSL Terminal

輸入指令:

sudo /opt/bitnami/bncert-tool

這個指令代表使用最高權限執行 bitnami 底下的 bncert-tool,透過 bncert-tool 來安裝 SSL 憑證。

接著它會詢問你域名,輸入你的域名後按 Enter:

Domain list []: yourdomain.com

若和我一樣出現下方的 error 就代表域名還沒有傳播完成(可以在這裡查詢)

The domain 'www.yourdomain.com' does not resolve, please fix its DNS entries or remove it.

如果確定 DNS 配置都正常的話可以輸入指令強制跳過:

sudo /opt/bitnami/bncert-tool --perform_public_ip_validation 0 --perform_dns_validation 0

過程中會詢問你幾個問題,按照以下順序回答即可:

Enable HTTP to HTTPS redirection [Y/n]: Y
Enable non-www to www redirection [Y/n]: Y
Enable www to non-www redirection [y/N]: N

Do you agree to these changes? [Y/n]: Y 

E-mail address []: 輸入你的 email

Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: Y

完成之後訪問網站就會是安全連線了:

大功告成

至此網站的建置已經完成,剩餘的部分就交給各位自行探索啦!

Exit mobile version