Ghost架站歷程
歷經千辛萬苦(?),本部落格的第一篇文誕生了...
不管是一些值得記錄的事情,或是關於音樂遊戲的想法,總之很早之前就萌生了要架部落格寫點東西的念頭,並且追求輕量化,降低效能使用(省點錢)。
一路走來,用過typecho、看了一下Hugo,卻因為技術門檻,導致自己屢屢碰壁,就算現在是AI時代,精準提問也是一個學問,在技術基礎越低的狀況下,也越難向AI描述自己所遇到的問題,或是越難讀懂AI所提供的解法。
因此,這個念頭持續了少說兩三年,都僅只是念頭。
直到1/12的回家路上,我想著「不對,我覺得我好像拖太久了」,於是問了強者我朋友...
「你知道有什麼Hugo的替代品嗎,前置作業成本不用那麼高(?)的」
「哦哦哦,我會想到這個(https://ghost.org/)」
於是回家開始了長達三個半小時的設定之旅(踩了一些坑,實際上根本不用那麼久):
提醒:本部分可能會隨官方教學更新而失效
設定之旅
尋找教學
Ghost的官網上面主要提供的是直接使用官方的付費懶人服務,而最下面有個「How to install Ghost」的位子,可以自行安裝Ghost

(當然也可以直接點下面的連結直接跳到教學頁,但我覺得,告訴各位要如何從官方首頁找到這個入口,是我的義務)
各位可以選擇使用Ubuntu或是Docker安裝,我是用Ubuntu因為我不懂Docker

不過,假如你需要使用內建的統計功能,你需要用Docker進行安裝

先看看安裝需求:

其中,比較重要的是以下幾項:
- Ubuntu 22.04或24.04版
- 最少1GB的伺服器記憶體:雖然官方說1GB的就夠了,但我在網路上看這篇文章說1GB常常閃退,所以我後來用2GB的
- 已經註冊A Record的域名:系統會在安裝流程自動申請域名SSL證書
其餘需求會在安裝時進行
開始動手
我看完整篇英文教學的想法是
這也太無腦了吧
原因是這篇安裝教學完全不會有「你安裝這個B工具之前,你要先去A的網頁去看A工具如何安裝」,或是「要自己判斷這個工具要不要裝」等等的狀況,基本上只要照著步驟,一條龍做下去,應該不會遇到什麼大問題(?)
需要額外注意的地方
- 新增使用者:
由於Ghost會需要一個自己的使用者去執行指令,因此要手動新增一名使用者。需要注意的是,不能使用ghost作為使用者名稱,會與後面使用的ghost指令衝突

- 安裝MySQL
在手動設定MySQL的root密碼時,要記得把後面的'<your-new-root-password>'改成'你的密碼',我因為這邊沒改到,在安裝流程卡了兩三次

- 輸入安裝指令後會有一連串的問題,有一項是「MySQL username / password」,這邊帳號就輸入「root」,密碼則是輸入剛剛設定的密碼,其餘看過之後,都只要輸入Y(Yes)就可以了

安裝完成後,就可以到https://你的網址/ghost去設定你的網頁了
一點變化球
由於我在同一台主機上設定了兩個ghost系統,你只要從安裝Ghost這個段落開始再跑一次流程就好了,系統會自動更改內部的設定,避免設定檔衝突
安裝後的一些檢查
可以用用看你的其他裝置(例如手機)登入你的ghost後台,一樣可以打https://你的網址/ghost看看能不能正常登入,像我在設定完兩個ghost後就遇到這個問題:

後來問了一下AI,一步步Debug之後,發現是連線逾時的問題:連線超過60秒無回應,伺服器自動吐了504的訊息。以下節錄AI的回答:
- 看到504錯誤的推論:到這邊就能發現為什麼是在其他裝置登入時才會發生問題,因為需要驗證是否為本人登入

- 為什麼會跳出錯誤:因為要在其他裝置發電子郵件驗證登入時,port被封鎖

後續AI提供的解法為:
取得 Google 「應用程式專用密碼」
- 進入Google 帳號設定。
- 點擊左側「安全性」。
- 確保已開啟「兩步驟驗證」。
- 搜尋「應用程式密碼」(App Passwords)。
- 應用程式名稱填入
Ghost-Blog,點擊「產生」。 - 記下這組 16 位元的密碼(這是唯一的顯示機會)。
修改 Ghost 設定檔
- 透過 SSH 連線到您的伺服器。
- 進入 Ghost 安裝目錄(通常是
/var/www/ghost)。 - 使用編輯器打開設定檔:
nano config.production.json
- 找到
mail區塊,將其修改為以下內容(請替換括號內的資訊):
"from": "'您的名稱' <您的信箱@gmail.com>",
"transport": "SMTP",
"options": {
"host": "smtp.gmail.com",
"port": 587,
"auth": {
"user": "您的信箱@gmail.com",
"pass": "剛才產生的16位元應用程式密碼"
}
}
},```
重啟與測試
- 儲存檔案並離開編輯器 (
Ctrl+O,Enter,Ctrl+X)。 - 重啟 Ghost 讓設定生效
ghost restart
- 重新嘗試登入:現在去那台「新電腦」嘗試登入,Ghost 應該能在不到 1 秒內透過 Gmail 發出通知信,您的 504 錯誤就會徹底消失。
我在設定完這些內容後,在新裝置登入時,就沒有遇到問題了,會自動發驗證信到我的信箱
自始,我總算有一個自己的部落格了!
