创建博客是一项激动人心的冒险,而Ghost是一个专注于简单性、速度和灵活性的强大平台。您可以选择直接在它们的 网站 上构建博客,他们将每月收取少量费用,或者在自托管实例上 安装它,这是免费的!
在接下来的部分中,我将逐步介绍这个过程,并讨论我在Debian上设置Ghost时遇到的问题:
官方安装指南请参阅:https://ghost.org/docs/install/ubuntu/
1. Apache配置
你可以复制已有的其它站点的Apache配置并进行修改,也可以直接创建一个新的空文件。我将使用vim来进行操作。
vim /etc/apache2/sites-available/ghost.conf
使用新的域名(注意把 dev.2volt.cc
替换为你自己的域名)更新文件并添加一些代理配置。
<VirtualHost *:80>
ServerName dev.2volt.cc
DocumentRoot /var/www/html/ghost
ProxyPreserveHost On
RewriteEngine On
Redirect permanent / https://dev.2volt.cc/
ErrorLog ${APACHE_LOG_DIR}/dev_error.log
CustomLog ${APACHE_LOG_DIR}/dev_access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName dev.2volt.cc
DocumentRoot /var/www/html/ghost
ProxyPreserveHost On
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/
ErrorLog ${APACHE_LOG_DIR}/ghost_error.log
CustomLog ${APACHE_LOG_DIR}/ghost_access.log combined
</VirtualHost>
更新配置后,将站点添加到Apache:
a2ensite ghost
systemctl restart apache2
要设置SSL,请使用以下命令;它将为您更新Apache配置文件:
sudo certbot --apache --domains dev.2volt.cc
2. 配置数据库
如果你和我一样使用的是MariaDB,请按照以下步骤操作:
sudo mysql -u root -p
MariaDB [(none)]> CREATE USER 'xx'@localhost IDENTIFIED BY 'ur_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit
3. 安装Ghost
将目录的所有者设置为运行apache2的用户,通常是 www-data
:
cd /var/www/html/
sudo mkdir -p ghost
sudo chown www-data:www-data ghost
sudo chmod 775 ghost
cd ghost
ghost install
Ghost安装过程将从您那里收集有关站点的信息:
- 博客网址:https://dev.2volt.cc/
- MySQL主机名:127.0.0.1
- MySQL用户名/密码:xx,ur_password
- 数据库表:ghost
跳过设置NGINX和SSL的部分。同时,记得设置防火墙:
sudo ufw allow 2368
现在,您应该能够打开 https://dev.2volt.cc/ 并查看站点。
4. 我遇到的问题
如果无法看到站点,就像我经历的那样,可以按照以下方式进行故障排除:
- 如果站点自动重定向到
localhost:2368
,请检查配置文件中的端口:
cat config.production.json
预期端口应为2368,但可能为2369。这种现象可能是以为安装了多次。
- 如果出现500错误或连接失败,请检查日志:
cat /var/log/apache2/ghost_error.log
在某些情况下,这是由于无法连接到数据库。由于Node 18将使用IPv6而不是IPv4,如果将配置文件里的数据库的主机设置为localhost,你就会看到以下错误:
Connect ECONNREFUSED ::1:3306
一个简单的解决办法是将其指定为 127.0.0.1
。