如何在 Ubuntu 20.04 LTS 上安装 Ghost

在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上安装 Ghost。 对于那些不知道的人,Ghost 是一个使用 Node.js 构建的轻量级开源内容管理系统 (CMS) 和博客平台。 它完全支持 Markdown,并提供易于使用的 Web 界面用于管理目的。

本文假设您至少具有 Linux 的基本知识,知道如何使用 shell,并且最重要的是,您在自己的 VPS 上托管您的站点。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo‘ 获取 root 权限的命令。 我将向您展示如何在 Ubuntu 20.04 (Focal Fossa) 上逐步安装 Ghost CMS。 您可以按照针对 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint)的相同说明进行操作。

在 Ubuntu 20.04 LTS Focal Fossa 上安装 Ghost

步骤 1. 首先,通过运行以下命令确保所有系统软件包都是最新的 apt 终端中的命令。

sudo apt update sudo apt upgrade

步骤 2. 安装 Node.Js。

运行以下命令在您的系统上安装 Node.js:

curl -sL https://deb.nodesource.com/setup_14.x | bash - sudo apt install nodejs

安装完成后,使用以下命令验证 Node 和 NPM 版本:

node -v npm -v

步骤 3. 安装 LEMP 堆栈。

需要 Ubuntu 20.04 LEMP 服务器。 如果您没有安装 LEMP,您可以在此处按照我们的指南进行操作。

步骤 4. 配置 MariaDB。

默认情况下,MariaDB 未加固。 您可以使用以下方法保护 MariaDB mysql_secure_installation 脚本。 您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB 的权限:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y

接下来,我们需要登录到 MariaDB 控制台并为 Ghost 创建一个数据库。 运行以下命令:

mysql -u root -p

这将提示您输入密码,因此请输入您的 MariaDB 根密码并点击 Enter. 登录到数据库服务器后,您需要为 Ghost 安装创建一个数据库:

MariaDB [(none)]> CREATE DATABASE ghostdb; MariaDB [(none)]> CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'your-strong-password'; MariaDB [(none)]> GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;

步骤 5. 在 Ubuntu 20.04 上安装 Ghost。

Ghost-CLI 是一个命令行工具,可帮助您快速轻松地安装和配置 Ghost 以供使用。 npm 模块可以通过 npm 或 yarn 安装:

npm install -g [email protected]

使用以下命令验证已安装的 Ghost CLI 版本:

ghost version

接下来,为 Ghost 创建一个单独的用户:

adduser user-id adduser user-id sudo adduser user-id www-data

然后,使用 user-id 登录并使用以下命令为 Ghost 创建一个目录:

su - user-id sudo mkdir /var/www/ghost

将目录的所有权设置为当前用户帐户:

sudo chown -R www-data:www-data /var/www/ghost sudo chown -R www-data:www-data /var/www/ sudo chmod 775 /var/www/ghost sudo setfacl -R -m u:user-id:rwx /var/www/ghost/

之后,将目录更改为ghost并使用以下命令安装Ghost:

cd /var/www/ghost ghost install

输出:

? Enter your blog URL: https://ghost.idroot.us ? Enter your MySQL hostname: localhost ? Enter your MySQL username: ghostuser ? Enter your MySQL password: [hidden] ? Enter your Ghost database name: ghostdb ? Configuring Ghost ? Setting up instance + sudo useradd --system --user-group ghost + sudo chown -R ghost:ghost /var/www/ghost/content ? Setting up "ghost" system user ? Setting up "ghost" mysql user [skipped] ? Do you wish to set up Nginx? Yes + sudo mv /tmp/ghost-idroot-us/ghost.idroot.us.conf /etc/nginx/sites-available/ghost.idroot.us.conf + sudo ln -sf /etc/nginx/sites-available/ghost.idroot.us.conf /etc/nginx/sites-enabled/ghost.idroot.us.conf + sudo nginx -s reload ? Setting up SSL [skipped] ? Do you wish to set up Systemd? Yes + sudo mv /tmp/ghost-idroot-us/ghost_ghost-idroot-us.service /lib/systemd/system/ghost_ghost-idroot-us.service + sudo systemctl daemon-reload ? Setting up Systemd + sudo systemctl is-active ghost_ghost-idroot-us ? Do you want to start Ghost? (Y/n)

步骤 6. 设置 HTTPS。

现在我们使用 Let’s Encrypt SSL 来保护 Ghost:

sudo apt install certbot python3-certbot-nginx

接下来,运行以下命令下载 Let’s Encrypt SSL 并配置 Nginx 以使用这些证书:

sudo certbot --nginx -d ghost.idroot.us

如果测试成功,重新加载 Apache 使更改生效:

nginx -tsudo systemctl restart nginx

现在,您可以使用以下命令验证 Ghost 网站:

ghost ls sudo systemctl status ghost_ghost-idroot-us

步骤 7. 访问 Ghost Web 界面。

成功安装后,打开您的网络浏览器并访问 Ghost admin 使用 URL 的接口 https://ghost.idroot.us/ghost/. 您应该会看到以下页面:

恭喜! 您已成功安装 Ghost。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 Ghost CMS。 如需更多帮助或有用信息,我们建议您查看 Ghost 官方网站.