从零开始的博客搭建

一 · 服务器

工欲善其事,必先利其器。

我在此博客使用的的服务器是在阿里云通过云翼计划购置的轻量应用服务器,每月费用9.5¥,配置大概是单核心E5-2682V4+2GB RAM+4GB SSD,可选择安装Ubuntu 16.04 LTS(个人建议使用来自萌咖的脚本重装到18.04.2 LTS),带宽5Mbps,1000G流量/月。

  • 2019.4.2更新:现在可以选择直接安装Ubuntu18.04.2 LTS了,但就我个人而言还是推荐重装来自USTC/Tuna的Ubuntu。
  • 云翼计划的门槛为24岁下自动获得学生身份,或绑定学生证通过学生验证。

二 · 域名

好风凭借力,送我上青云。

我的域名同服务器一样也是在阿里云(万网)注册的.cn域名,一个.cn+同域名的.top,首年29元,不过貌似活动已经结束了。

  • 阿里云的新用户可以以首年1元的价格注册一个.top/.work/.store域名。

三 · 开工

万事俱备,只欠东风。

1.账户设置

创建一个新用户(如果服务器以root为默认账户):

打开终端并以root用户登录服务器:

# 通过SSH登录
ssh root@your_server_ip

# 创建一个新用户并按照提示操作
adduser <user>
  • 使用用户名ghost会与Ghost-CLI冲突,故不能使用。
# 将用户添加到超级用户组以使能sudo
usermod -aG sudo <user>

# 登录新创建的账户
su - <user>

2.安装Nginx/Node.js/Ghost-CLI

在SSH下执行

# 安装Nginx
sudo apt-get install nginx

# 添加Node 8的NodeSource APT存储库
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash

# 更新包列表
sudo apt-get update

# 安装Node.js
sudo apt-get install -y nodejs

#设置npm源为淘宝源
npm config set registry https://registry.npm.taobao.org/

# 安装Ghost-CLI
sudo npm install ghost-cli@latest -g

3.建立相应的安装目录并安装Ghost

创建目录:

# 创建一个名为"ghost"的文件夹来存放Ghost博客
sudo mkdir -p /var/www/ghost

# 设置用户权限
sudo chown <user>:<user> /var/www/ghost

# 设置文件夹权限
sudo chmod 775 /var/www/ghost

# 导航到文件夹
cd /var/www/ghost

安装Ghost:

# 在此目录下进行Ghost安装(使用SQLite3作为数据库)
ghost install --db=sqlite3

这时就可以看见Ghost的安装进程了,在安装完成后,设置过程中询问域名的位置填入注册的域名;确认自动设置Nginx,略过SSL证书的安装并安装systemd,整个安装过程大概需要几分钟,安装完毕后确认启动Ghost,这时访问刚刚填入的域名便可以看见已经安装完毕的默认状态的Ghost了。

4.安装CertBot以启用SSL

我之所以跳过Ghost内置的SSL证书申请而单独使用CertBot,是因为CertBot支持Let's encrypt证书的自动续签。

安装CertBot:

# 安装PPA
sudo apt-get install software-properties-common

# 添加软件仓库
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot

# 更新包列表
sudo apt-get update

# 安装CertBot及其Nginx插件
sudo apt-get install certbot python-certbot-nginx 

注册域名证书并自动配置Nginx:

# 注册域名证书并自动配置Nginx
sudo certbot --nginx

注册过程中需要选择域名并询问邮箱,填入即可。

设置自动续签:

# 设置自动续签
sudo certbot renew --dry-run

至此SSL配置完毕。

5.大功告成

现在,绝大部分的工作已经完成了,只需要访问博客的后台(你的域名/ghost)来注册管理员账号即可。

恭喜,一个全新的Ghost博客大功告成了。

四 · 后记

这篇文章主要的参考来源于Ghost官方文档,并结合我在搭建过程中的一些经验而写成的。在最后还要感谢一下我的朋友@RG在我纠结该使用WordPress还是HEXO的时候及时地向我推荐了Ghost使我弃暗投明(笑)。
博客的目的是为了更好地记录,而记录的目的是为了更好的思考。

辽公网安备21130202000408号 / 辽ICP备19004157号-3 Copyright © 2018-2019 Langdon Lin. All rights reserved.