如何在 Ubuntu 20.04 或 22.04上安装 Ghost博客系统以及Ghost博客平台的简介

Ghost简介:

Ghost 博客系统简称Ghost,Ghost是一款功能强大的应用程序,供专业出版商围绕其内容创建、共享和发展业务。它配备了现代化的工具,可以构建网站、发布内容、发送新闻通讯和向会员提供付费订阅。

Ghost安装:

在 Ubuntu 20.04 或 22.04 服务器上配置和运行 Ghost安装 以用于生产环境的完整指南

概述

这是使用我们推荐的 Ubuntu 20.04 或 22.04 堆栈自托管 Ghost 的官方指南。如果您愿意安装、维护和更新自己的软件,那么这里就是您的最佳选择。在本指南结束时,您将使用 MySQL 在生产环境中运行完全配置的 Ghost 安装。

安装不适合本地使用对 core 有贡献

先决条件

官方推荐的生产安装需要以下堆栈:

  • Ubuntu 20.04 或 Ubuntu 22.04
  • NGINX(SSL 最低为 1.9.5)
  • 受支持的 Node.js 版本
  • MySQL 8 版本
  • Systemd 系统
  • 具有至少 1GB 内存的服务器
  • 已注册的域名

在开始之前,您应该从您的域设置一个有效的 DNS A 记录,指向服务器的 IP 地址。这必须提前完成,以便可以在设置期间配置 SSL。


服务器设置

本指南的这一部分将确保满足安装 Ghost-CLI 的所有先决条件。

创建新用户

打开您的终端并以 root 用户身份登录您的新服务器:

# Login via SSH
ssh root@your_server_ip

# Create a new user and follow prompts
adduser <user>

注意:使用用户名会导致与 Ghost-CLI 冲突,因此使用备用名称非常重要。ghost

# Add user to superuser group to unlock admin privileges
usermod -aG sudo <user>

# Then log in as the new user
su - <user>

更新包

确保软件包列表和已安装的软件包是最新的。

# Update package lists
sudo apt-get update

# Update installed packages
sudo apt-get upgrade

按照任何提示输入您刚刚在上一步中创建的密码。

安装 NGINX

Ghost 使用 NGINX 服务器,SSL 配置需要 NGINX 1.9.5 或更高版本。

# Install NGINX
sudo apt-get install nginx

如果已激活,则防火墙允许 HTTP 和 HTTPS 连接。打开防火墙:ufw

sudo ufw allow 'Nginx Full'

安装 MySQL

接下来,您需要安装 MySQL 以用作生产数据库。

# Install MySQL
sudo apt-get install mysql-server

在较新版本的 Ubuntu 上,默认情况下,安装 MySQL 时创建的 root 用户将配置为使用基于套接字的身份验证,这意味着只有 root Unix 用户才能进行身份验证。Ghost 不支持这种身份验证,因此您必须将 root MySQL 用户更改为具有密码。运行以下命令以使 root 用户具有密码:

# Enter mysql
sudo mysql
# Update permissions
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '<your-new-root-password>';
# Reread permissions
FLUSH PRIVILEGES;
# exit mysql
exit

安装 Node.js

您需要按照下述方式在系统范围内安装受支持的 Node 版本。如果您有不同的设置,您可能会遇到问题。

# Download and import the Nodesource GPG key
sudo apt-get update
sudo apt-get 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

# Create deb repository
NODE_MAJOR=18 # Use a supported version
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

# Run update and install
sudo apt-get update
sudo apt-get install nodejs -y

安装 Ghost-CLI

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

sudo npm install ghost-cli@latest -g

安装后,您始终可以运行以查看可用命令的列表。ghost help


安装 Ghost

正确设置并安装服务器后,您就可以安装 Ghost 本身。以下步骤是建议的设置。如果您需要更精细的控制,CLI 提供了一些标志和选项,允许您分解和自定义安装步骤。ghost-cli

创建目录

Ghost 必须安装在自己的目录中,并具有适当的所有者和权限。

# Create directory: Change `sitename` to whatever you like
sudo mkdir -p /var/www/sitename

# Set directory owner: Replace <user> with the name of your user
sudo chown <user>:<user> /var/www/sitename

# Set the correct permissions
sudo chmod 775 /var/www/sitename

# Then navigate into it
cd /var/www/sitename

运行安装过程

现在我们使用最后一个命令安装 Ghost。

ghost install

安装问题

在安装过程中,CLI 将询问一些问题来配置您的站点。

博客 URL

输入您的出版物将可用的确切 URL,并包括 HTTP 或 HTTPS 的协议。例如。如果您使用 HTTPS,Ghost-CLI 将为您设置 SSL。使用 IP 地址会导致错误。https://example.com

MySQL 主机名

这决定了可以从何处访问 MySQL 数据库。当 MySQL 安装在同一服务器上时,请使用 (按下可使用默认值)。如果 MySQL 安装在另一台服务器上,请手动输入名称。localhostEnter

MySQL 用户名/密码

如果您已经有一个现有的 MySQL 数据库,请输入 username.否则,请输入 。然后为您的用户提供密码。root

Ghost 数据库名称

输入数据库的名称。它将自动为您设置,除非您使用的是 root MySQL 用户/密码。在这种情况下,数据库必须已存在并具有正确的权限。

设置 ghost MySQL 用户?(推荐)

如果您提供了根 MySQL 用户,则 Ghost-CLI 可以创建自定义 MySQL 用户,该用户只能访问/编辑您的新 Ghost 数据库,而不能访问/编辑其他数据库。

设置 NGINX?(推荐)

自动设置 NGINX,使您的网站能够被外界查看。手动设置 NGINX 是可能的,但你为什么要选择艰难的生活呢?

设置 SSL?(推荐)

如果您使用了博客 URL 并且已经将您的域指向了正确的位置,Ghost-CLI 可以使用 Let's Encrypt 自动为您设置 SSL。或者,您可以稍后通过随时运行来执行此操作。httpsghost setup ssl

SSL 证书设置需要一个电子邮件地址,以便在证书出现任何问题时(包括在续订期间)随时通知您。

设置 systemd?(推荐)

systemd是推荐的进程管理工具,可保持 Ghost 平稳运行。我们建议选择,但可以设置自己的流程管理。yes

启动 Ghost?

选择将运行 Ghost,并使您的网站正常工作。yes


未来维护

正确设置 Ghost 后,请务必对其进行正确维护和更新。幸运的是,使用 Ghost-CLI 相对容易做到这一点。Run 获取可用命令列表,或浏览完整的 Ghost-CLI 文档ghost help


如果安装失败该怎么办

如果安装出现严重错误,请使用 将其删除并重试。这比删除文件夹更可取,以确保不会留下任何项目。ghost uninstall

如果安装中断或连接丢失,请使用 重新启动配置过程。ghost setup

有关故障排除和错误,请使用站点搜索和常见问题解答部分查找有关常见错误消息的信息。


下一步是什么?

一切就绪!现在您可以开始自定义您的网站。查看我们的一系列教程或 Ghost API 文档,具体取决于您接下来想参加此“自选冒险”体验的哪个页面。

THE END