升级Ghost小记

Ghost 2.x的升级可谓是有不少坑,本文记述我将Ghost 2.6.0升级至2.9.1的过程。

首先,启用用作管理Ghost的用户,将其加入sudo组,设置密码并提供Shell。

切换到这个用户并切换到ghost安装的目录(/home/ghost)

# adduser hr98 sudo
# passwd hr98
# usermod hr98 -s /bin/bash
# su hr98

$ cd /home/ghost

运行 ghost update 并输入管理用户的密码后,可能会出现错误。我遇到了两个错误:

  • Node版本错误
  • 文件权限错误

Ghost还不支持NodeJS 11.x,因此需要(降级)安装10.x。Ubuntu 18.04可如此解决:

# cat << EOF > /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_10.x bionic main
deb-src https://deb.nodesource.com/node_10.x bionic main
EOF
# apt clean
# apt update
# apt install --reinstall nodejs=10.14.2-1nodesource1

此外,权限问题可根据升级程序提供的提示解决,比如 sudo find ./ ! -path "./versions/*" -type f -exec chmod 664 {} \; 将问题都解决后再次运行 ghost update 即可完成升级。


完成升级后,将NodeJS升级回11.x版本:

# cat << EOF > /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_11.x bionic main
deb-src https://deb.nodesource.com/node_11.x bionic main
EOF
# apt clean
# apt update
# apt upgrade