本文所述安装和配置均在 Ubuntu 16.04 系统上,假设你已经拥有一个服务器和一个域名。

安装

安装过程主要参考官方教程,下面我总结下:

1. 在系统上创建一个新用户。一般安装 Ghost 会使用一个新用户,当然这也不是必须的。创建用户可以使用 useradd 和 adduser 命令,然后使用 usermod 命令将其加到 sudo 组里,最后使用新用户登录系统。命令详细使用方法可参考其文档,假设我们创建的用户叫 price

2. 更新系统,安装 NGINX、MySQL、Node.js 和 Ghost-CLI

sudo apt update # 安装 NGINX、MySQL # 安装 MySQL 时会弹出窗口让输入 MySQL 用户名和密码 # 用户名默认 root,密码自己设置,安装 Ghost 时会用到 # 如果你的系统是 18.04,那么需要额外的一些步骤 # 参考 https://ghost.org/docs/install/ubuntu/#mysql-on-ubuntu-1804 sudo apt install nginx mysql-server # 配置防火墙 sudo ufw allow 'Nginx Full' # 安装 Node.js curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash sudo apt install nodejs # 安装 Ghost-CLI sudo npm install ghost-cli@latest -g

3. 创建安装目录,配置目录权限,安装 Ghost

# 创建并配置目录 sudo mkdir -p /var/www/ghost sudo chown price:price /var/www/ghost sudo chmod 775 /var/www/ghost cd /var/www/ghost # 安装 Ghost ghost install

4. 在 ghost install 命令执行之后,首先会下载安装 ghost,然后会让你一项一项的配置 ghost,主要有一下几项:

- 博客地址:例如 https://example.com,带上 http 或者 https,如果使用 https, Ghost 会自动帮你设置。使用 IP 地址会报错,但是这个具体怎么报错不清楚,还没遇到过,还是推荐先自己买个域名

至此,安装工作全部完成,顺利的话就可以输入你的博客地址进入博客了,也可以使用 ghost ls 来查看你的博客是否在运行。

配置

Ghost 安装好启动后,就可以输入你的博客地址进入博客了,在你的博客地址后加上 `/ghost` 进入博客后台页面。第一次进入需要先创建一个新作者(用户),然后就可以进行编辑发表文章了。

ghost使用教程手动安装(Ghost安装和配置)(1)

里面有很多项可以配置,下面我说下如何实现一些常用的功能。

代码高亮

代码高亮可以使用 Prism JS 库和 Ghost 的 Code injection 来实现,后者中的代码会加入到每个页面中。

具体做法是将 Prism 的 js(实现代码高亮) 和 css(主题) 地址分别插入到 Code injection 中的 foorter 和 header 中。地址可以使用 Cloudflare 提供的 CDN 地址。

对于 js 来说,需要至少两个:一个核心 js 和 N 个特定语言相关的 js。如果你只需要 Python 语法高亮,那么只用添加 Python 的 js 即可。首先将核心 js 放在最上面,然后依次放入你需要的语言的 js,例如我想要实现 bash 和 Python 的语法高亮,那么在 footer 中内容如下:

<script src="http://img.studyofnet.comhttps://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/prism.min.js" integrity="sha256-NFZVyNmS1YlmiklazBA TALYJlJtZj/y/i/oADk6CVE=" crossorigin="anonymous"></script> <script src="http://img.studyofnet.comhttps://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/components/prism-bash.min.js" integrity="sha256-0W9ddRPtgrjvZVUxGhU/ShLxFi3WGNV2T7A7bBTuDWo=" crossorigin="anonymous"></script> <script src="http://img.studyofnet.comhttps://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/components/prism-python.min.js" integrity="sha256-zXSwQE9cCZ8HHjjOoy6sDGyl5/3i2VFAxU8XxJWfhC0=" crossorigin="anonymous"></script>

对于 css 来说,指定了背景主题。Prism 提供 8 种主题,为了能够直观看到每个主题的样子,我汇总起来做了一个图如下,你可以选择你想要的放入 header 即可:

ghost使用教程手动安装(Ghost安装和配置)(2)

各种主题预览

例如:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/themes/prism-tomorrow.min.css" integrity="sha256-xevuwyBEb2ZYh4nDhj0g3Z/rDBnM569hg9Vq6gEw/Sg=" crossorigin="anonymous" /> import numpy as np import pandas as pd # numpy 随机数 a = np.random.rand(5, 4) df = pd.DataFrame(a, columns=list('ABCD'))

数学公式

数学公式一般使用 [MathJax](https://www.mathjax.org/) 来渲染,同样将如下代码放入 Code injection 即可:

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML' async></script>

这样会自动时刻保持最新版本。

加密博客站点

实际上是为博客设置一个密码,只能输入密码访问,并且会取消一切 SEO 优化。在 SETTINGS -> General -> ADVANCED SETTINGS` 处启用 `Make this site private 即可。

邮箱配置

邮箱配置较长,放在了一篇单独博文中,请参看 使用 Mailgun 配置 Ghost 邮箱 一文。

Reference

,