---
title: "用 Ghost 架設自己的部落格和電子報：網域、電子郵件、會員與備份"
description: "用 Zenavo 的範本部署 Ghost，綁定 HTTPS 網域，建立管理員帳號，設定寄信讓會員註冊和電子報正常運作，再把 MySQL 和內容資料夾都備份起來。"
date: 2026-11-12
language: zh-TW
url: https://zenavo.app/zh-TW/blog/self-host-ghost
---

# 用 Ghost 架設自己的部落格和電子報：網域、電子郵件、會員與備份

[Ghost](https://ghost.org) 是一個開源的出版平台：文章、付費或免費會員、電子報都在同一個後台管理，編輯器乾淨，佈景主題對搜尋引擎友善。如果你想要一個屬於自己的部落格，又不想照顧 WordPress 的外掛，Ghost 是很適合的選擇。

本文用 Zenavo 的 Ghost 範本，把 Ghost 和 MySQL 部署到你租用或自有的伺服器上，然後設定網域、電子郵件和備份。

## 開始之前

- 一台已[連接到 Zenavo](https://docs.zenavo.app/zh-TW/servers/add-a-server) 的 Linux 伺服器。範本標示約需 1 GB 記憶體，也要替 MySQL 留點空間。
- 一個部落格用的網域，例如 `blog.example.com`。
- 一個電子郵件服務商的 SMTP 帳號（稍後會用到）。會員註冊、登入連結和員工邀請都是透過電子郵件寄送。

## 從範本部署

打開 [Ghost 範本](https://zenavo.app/deploy?template=ghost)。部署前會要求填寫 **Site URL**，也就是讀者造訪部落格的完整網址，例如 `https://blog.example.com`。範本會建立兩個服務：

| 服務 | 存放內容 |
|---|---|
| mysql | MySQL 8.4，磁碟區 `/var/lib/mysql`，root 密碼自動產生 |
| ghost | `ghost:5-alpine`，HTTP 連接埠 `2368`，內容資料夾 `/var/lib/ghost/content`（圖片和佈景主題） |

Site URL 會成為 ghost 服務的 `url` 變數。Ghost 的每個連結都由它產生，所以它必須和你最終使用的網域完全一致，包括 `https://`。

## 綁定網域，建立管理員

在 ghost 服務的 **Networking** 頁為 `2368` 連接埠綁定**同一個**網域，新增指向伺服器的 A 記錄，等待 HTTPS 生效（見[網域與 HTTPS](https://docs.zenavo.app/zh-TW/networking/domains)）。

開啟 `https://blog.example.com/ghost`，依照步驟為網站命名並建立第一個管理員帳號。後台永遠在 `/ghost`。和其他自架應用一樣，網域一生效就請自己完成這一步。

之後要換網域，就修改 `url` 變數、重新部署，再綁定新網域。只換網域而不改 `url`，連結還是會指向舊網址。

## 設定電子郵件

Ghost 寄送兩種郵件：

- **交易郵件**：員工邀請、重設密碼、會員註冊和登入連結。任何 SMTP 服務都可以。
- **大量寄送的電子報**：把文章寄給所有訂閱者。Ghost 目前只能透過 Mailgun 寄送，在後台 **Settings → Email newsletter** 中填入你的 Mailgun 網域和 API 金鑰。

交易郵件在 ghost 服務的 **Variables** 中設定。Ghost 用雙底線表示巢狀設定：

| 變數 | 範例 |
|---|---|
| `mail__transport` | `SMTP` |
| `mail__options__host` | `smtp.example.com` |
| `mail__options__port` | `465` |
| `mail__options__secure` | `true` |
| `mail__options__auth__user` | 你的 SMTP 使用者名稱 |
| `mail__options__auth__pass` | 你的 SMTP 密碼 |
| `mail__from` | `"部落格名稱" <noreply@example.com>` |

重新部署 ghost 服務，然後邀請一位員工，或用另一個信箱註冊會員，確認收得到信。

有些伺服器供應商會封鎖對外的 SMTP 連接埠，症狀是寄信逾時。請改用電子郵件服務商提供的其他連接埠（例如 `2525`），或請伺服器供應商解除封鎖。另外也請依照電子郵件服務商的說明，為你的網域設定 SPF 和 DKIM，否則郵件很容易被丟進垃圾郵件匣。

## 開始寫作前的幾項設定

- **Settings → General**：網站名稱、描述、時區和語言。
- **Settings → Design**：挑選佈景主題或上傳自己的主題；主題檔案存放在內容資料夾裡。
- **Settings → Membership**：讀者能否註冊，以及是否有部分文章只開放給會員。
- **Settings → Code injection**：可以放流量分析腳本，例如[自架的 Umami 或 Plausible](https://zenavo.app/zh-TW/blog/umami-vs-plausible)。

## 備份

Ghost 的資料存在兩個地方：文章、會員和設定在 MySQL 裡；圖片、佈景主題和上傳的檔案在 ghost 服務的 `/var/lib/ghost/content` 磁碟區。兩者都要備份。

- 隨時可以在 mysql 服務的 **Backup & Restore** 頁備份資料庫。
- 內容資料夾是磁碟區：備份時先停止專案，完成後再啟動。

Ghost 本身的匯出功能（在後台設定中）會把文章和設定存成 JSON，方便搬到另一個 Ghost，但不包含圖片。重要的資料，請下載一份備份自行保存，並在新專案中還原一次來確認。詳見[備份與還原](https://docs.zenavo.app/zh-TW/operations/backups)。

## 升級

範本使用 `ghost:5-alpine`，所以重新部署時會拉取最新的 Ghost 5。升級前先備份 MySQL 和內容資料夾，並閱讀版本說明。大版本升級可能會遷移資料庫，換回舊映像檔不一定能復原，需要還原升級前的備份。

## 常見問題

**網站上的連結指向 `localhost` 或舊網域？**
`url` 變數和你實際使用的網址不一致。把它改成正確的完整網址，再重新部署。

**會員收不到登入郵件？**
在 ghost 服務的日誌裡找寄信錯誤。通常是 SMTP 連接埠被封鎖、使用者名稱或密碼錯誤，或 `mail__from` 的網域沒有通過電子郵件服務商的驗證。

**可以從 WordPress 或其他平台搬過來嗎？**
Ghost 有官方的遷移工具和指南，支援 WordPress、Substack 等平台。匯入的圖片會存進內容資料夾，所以備份時記得把它包含進去。

**Ghost 還是 WordPress？**
著重寫作和電子報、想要少點維護，選 Ghost；需要大量外掛、線上商店或複雜頁面，WordPress 比較合適。Zenavo 也有 [WordPress 範本](https://zenavo.app/deploy?template=wordpress)。

從 [Ghost 範本](https://zenavo.app/deploy?template=ghost)開始：先讓網域和 `url` 一致，再建立管理員、設定電子郵件，最後把資料庫和內容資料夾都備份起來。
