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

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

大部分架站小白可能沒聽過 VPS 或者聽過但沒用過,因此本篇文章中涉及到的一些專業術語都會用小白也能懂的方式去解釋,還請專業人士見諒。

什麼是 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)

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

mjPFG17

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

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

2FDq3ER

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

啟動自動快照(Enable Automatic Snapshots)

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

5Wl2II7

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

這部分就根據個人需求選擇即可,如果只是單純要架設 blog 的話,最基礎的 $3.5, $5 就夠了,若後續網站流量提高也可以再升級到 $10…或更多。

zhey0rR

Identify your instance 就是你的實例名稱,只是個人識別用,不用太過認真的取。

取得 WordPress 後台密碼

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

pFqGYIp

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

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

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

cat $HOME/bitnami_application_password
NyDYFZq
A6v1CqC

登入 WordPress 後台

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

  • Username: 預設為 user
  • Password: 剛剛 SSH 輸入指令獲取的預設密碼
C50p1c9

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

修改後台語言

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

fFHsKm2

修改後台密碼

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

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

U8bQUVm

創建實例靜態 IP

是不是覺得到這一步就結束了?其實並沒有。當你把實例重啟之後會發現 IP 位址改了,所以現在我們需要讓 IP 固定,即使重啟後也使用同一個 IP 位址。

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

JcFPbfj

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

成功之後 IP 就會固定了,可以嘗試重啟實例,會發現 IP 還是一樣不變。

nFpjcIK

使用自定義域名

雖然現在 IP 已經固定,可以直接透過 IP 訪問網站,但是 IP 網址實在是太難記了,想像一下和別人分享自己的網站時丟一串 IP 位址過去,下次人家還要訪問你的網站時會記得你的 IP 位址嗎?

所以我們需要購買域名並將域名和 IP 位址對應上,使大家都可以透過這個自定義的域名來訪問到你的網站。

購買域名

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

域名比價

要知道想申請的域名在哪個網站購買最便宜,可以參考這個網站:Domcomp,直接將想要的域名輸入後就可以查看在各個網站的價格:

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

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

綁定域名

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

UhL9CQZ

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

6PyuehN

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

43BGReb

回到實例中找到 Domains – Assign domain

fH58vTV

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

Q8SIti3

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

iungUFi

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

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

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

UDPI6Ma

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

r1gaZhj

輸入指令:

sudo /opt/bitnami/bncert-tool

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

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

Domain list []: yourdomain.com
X6GXbdr

若和我一樣出現下方的 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
NqDEUYp

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

GQGTyMK

大功告成

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

留言

目前沒有留言。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *