Ubuntu部署ghost博客所踩的小坑

Ubuntu部署ghost博客所踩的小坑
Photo by Growtika / Unsplash

Ghost 6.0 发布后,我就被它宣传的“联邦宇宙(Activitypub)”和“内置 Web 分析”功能狠狠吸引了。可惜一直用的 1Panel 面板并没有 Ghost 的升级选项,考虑到 Ghost 6 改动幅度较大,盲猜1Panel里的Docker需要重建,再加上想要尽快体验ghost的联邦宇宙等功能,所以打算用官方推荐的方式“一劳永逸”。


换系统,换方式

我挑了个快要过期的 VPS 练手,把系统换成了 Ubuntu 24.04。结果部署异常顺利,Ghost 6.0 安装一气呵成。于是果断把主 VPS 也重装,迁移博客数据,正式切换新架构。

Ghost 官方推荐部署环境如下:

  • ✅ Ubuntu 22.04 或 24.04
  • ✅ MySQL 8+
  • ✅ Node.js v22(仅支持这个版本
  • ✅ Nginx
  • ✅ Ghost-CLI 工具
  • ✅ 一个非 root 的 sudo 用户

安装步骤(Ubuntu 24.04)

创建非 root 用户

adduser ghostuser
usermod -aG sudo ghostuser
su - ghostuser

安装系统依赖

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mysql-server -y
sudo ufw allow 'Nginx Full'

配置 MySQL 密码认证

Ghost 不支持 auth_socket 模式,需要切换为 mysql_native_password

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your-password';
FLUSH PRIVILEGES;
EXIT;

建议运行:

sudo mysql_secure_installation

安装 Node.js v22

sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | \
  sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

NODE_MAJOR=22
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | \
  sudo tee /etc/apt/sources.list.d/nodesource.list

sudo apt update
sudo apt install -y nodejs

node -v && npm -v

👻 安装 Ghost-CLI

sudo npm install -g ghost-cli

创建网站目录并设置权限

sudo mkdir -p /var/www/ghost
sudo chown ghostuser:ghostuser /var/www/ghost
cd /var/www/ghost

正式安装 Ghost

ghost install

安装过程会提示:

  • 博客域名(输入完整的 https://xxx.com
  • 数据库配置
  • 是否自动配置 nginx / SSL / systemd 服务

踩坑记:Let’s Encrypt 安装失败

安装 SSL 证书这一步卡住了,错误信息如下:

Message: Command failed: /bin/sh -c sudo -S -p '#node-sudo-passwd#'  ./acme.sh --install ...
[Wed Aug 6 04:16:11 UTC 2025] It is recommended to install crontab first.
[Wed Aug 6 04:16:11 UTC 2025] Pre-check failed, cannot install

原因:

系统没装 cron,Ghost-CLI 在安装 Let’s Encrypt 时依赖 acme.sh,它需要用 cron 来自动续签证书。

解决方法:

sudo apt install cron

然后重新运行安装:

ghost install ssl

或干脆执行:

ghost setup ssl

问题顺利解决。


联邦宇宙 & Web 分析体验反馈

原以为 Ghost 6.0 的“联邦宇宙”和“内置分析”是开箱即用的神器,实际用下来有点不如预期:

🌐 联邦宇宙(ActivityPub)

  • ✅ 博主可以被 Mastodon 等联邦平台关注,也可以关注他人
  • ❌ 目前不支持客户端功能
  • ⚠️ 功能还稍微有点粗糙

如果你指望 Ghost 成为一个真正“联邦社交平台”,目前还差点火候。


📊 Web Analytics

  • ✅ 轻量级内置分析功能(无需 GA)
  • 并不是完全“内建”,依赖第三方的统计分析
  • ⚠️ 需要额外配置

期待的“零配置可视化分析面板”暂时没有出现。


🧾 日常维护命令

ghost status       # 查看服务状态
ghost restart      # 重启 Ghost
ghost upgrade      # 升级 Ghost 和依赖
ghost doctor       # 健康检查
ghost setup ssl    # 重新配置 SSL

后台管理地址默认是:https://yourdomain.com/ghost


总结与建议

  • Node.js v22 是硬要求,Ghost 6 只支持它
  • 安装 cron 是配置 SSL 的必要步骤
  • 联邦宇宙 和 Web 分析 功能目前还有较大改进空间
  • Ghost 依然是一款优秀的写作平台,但不要期望太多“即插即用”社交功能

最后的话

这次从 1Panel 回归 Ghost 官方部署,虽然中间踩了个 SSL 的坑,整体过程依然算顺利。对我这种写作者来说,Ghost 的速度和极简风格依旧无可替代。

如果你也打算部署 Ghost 6,不妨按照这篇流程一步步来,踩的坑我已经帮你趟过了 😄。

Read more

说话,是世界上最轻易的事,也是最难的事

说话,是世界上最轻易的事,也是最难的事

昨天继续研习南怀瑾先生的《易经杂说》,看到《易经·系辞上传》的一段话: 子曰:君子居其室,出其言善,则千里之外应之,况其迩者乎? 居其室,出其言不善,则千里之外违之,况其迩者乎? 言出乎身,加乎民;行发乎迩,见乎远; 言行,君子之枢机。枢机之发,荣辱之主也。 言行,君子之所以动天地也,可不慎乎? 这段话放在两千多年前,已经算是对信息传播极限的高度描写了——在一个没有网络、没有印刷术的时代,孔子就已经意识到:话是有传播力的,而且可以影响到你看不见的人。 他用“枢机”来比喻言行的重要性。枢机是门轴,平时不起眼,但门的开合全在它一动之间。言行之于一个人,也是这样——不经意的一句话,可能成就一生的名誉,也可能带来一世的羞辱。 佛家讲“不妄语”,涵义更广:不仅不能撒谎,还要避免虚夸、恶口、

By laoliu
佛门变与不变:从释永信案说起

佛门变与不变:从释永信案说起

最近网上又热闹了,释永信的事成了热门话题。7月27日晚,少林寺发布通报,说他涉嫌刑事犯罪,被有关部门带走调查。挪用、侵占寺产、私生活混乱——这些原本只在坊间流传的质疑,如今一个个被坐实。紧接着,中国佛教协会也迅速表态,注销了他的戒牒,意思是:他不再是出家人了。 这事儿引发了很多讨论,有人骂佛教变质,有人说和尚怎么都这样。但我觉得,问题不在佛教,而在人。宗教本无错,错的是人心。古人早就说了,“道高一尺,魔高一丈”,这世上真正能守住本心的,少。 释永信掌管少林几十年,把一个千年古刹搞成了商业帝国,景区票、武僧团、文创、演出、电商、甚至医疗、地产,一个都没落下。少林寺一年进账上亿,方丈出访,排场比国宾都阔气。这哪里像是修行?更像是一场包装精良的文化资本秀。说到底,是被这个时代的名利场裹挟了。 说释永信是个极端个案,其实也不尽然。从历史到文学,从《

By laoliu
陪女儿读《复活》

陪女儿读《复活》

暑假刚开始,我给女儿买了一堆高中语文推荐阅读的名著:狄更斯的《大卫·科波菲尔》、夏洛蒂的《简·爱》、还有列夫·托尔斯泰的《复活》。 这些书的名字对我来说都不陌生,但也仅仅知道名字罢了,因为那时候的教育认为这些都是闲书,是耽误学习的存在。小的时候想读,而长大了之后没心情去读,如今换了一个身份,成了陪女儿一起走这段路的人,我觉得我应该也读一下这些书,最起码能和孩子一起聊聊,培养一下她的阅读兴趣,毕竟,对于现代孩子来说,手机以及现代风格的文学作品要比一个俄国贵族的忏悔、一个农家女的命运有趣的多。 《复活》被我先拿了起来。 其实当年我对这本书没什么印象。只是当年在背作者简介的时候了解过,是托尔斯泰晚年的作品,很厚,是讲一个人的忏悔和救赎。现在重新读起来,却像打开了一扇旧门,门后不是陌生的世界,而是我们一直生活着,却未曾深究的现实。 托尔斯泰的语言和平实,甚至有些直白和啰嗦,对细节的刻画很详细。但那些啰嗦里藏着一种力量,一种几乎令人不安的诚实。他把上层贵族的虚伪写得赤裸裸,把法律的冷漠、教会的空洞、监狱的压抑、底层人民的麻木,一样样摊开来让你看。 可真正打动我的,

By laoliu
热浪记:从乾隆八年吹来的风

热浪记:从乾隆八年吹来的风

郑州的风,已经很久没有凉意了。 中午走出家门,热浪扑面而来,仿佛不是在街头行走,而是在一个被烤熟的城市里艰难穿行。脚下的地砖仿佛在冒烟,树叶也蔫头蔫脑的,天上的云像是被阳光蒸发了似的,连影子都不敢投下来。 我看了看天气预报,未来七天,最高气温在39℃到42℃之间徘徊,最低气温也在29℃以上,甚至有天的低温是33℃。再加上高达60多的湿度。这个城市,像一口沸腾的大锅,白天蒸,夜里焖。 这样的热,让人喘不过气来。更让想起了以前看过的一段历史 那是乾隆八年的夏天——1743年,一样是在中原大地,气温也曾达到过44.4℃。那时没有空调,没有冰箱,连电扇都还没影儿,百姓靠着蒲扇和井水熬过一个个闷热的夜晚。 据史书记载,那年夏天“暑气熏蒸,草木皆焦”、“土石皆焦,桅顶流金”、“铅锡销化”、“墙壁重阴亦炎如火灼”,短短几日间,因酷暑暴毙者过万。乾隆皇帝不得不下令开仓放药,设凉棚、发汤药、赈济百姓。这是中国历史上,

By laoliu