Ghost 安装和配置

本文所述安装和配置均在 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 地址会报错,但是这个具体怎么报错不清楚,还没遇到过,还是推荐先自己买个域名

  • MySQL hostname:如果 Ghost 和 MySQL 在一个服务器上的话,这一项默认 `localhost` 即可
  • MySQL 用户名密码:前面安装 MySQL 的时候你设置的用户名密码
  • Ghost 数据库名:默认即可
  • 是否设置一个 Ghost MySQL 用户:默认是,前提是你前面提供的 MySQL 用户是 root 用户
  • 是否设置 NGINX:默认是
  • 是否设置 SSL:如果你前面提供的博客地址是 https,那么就选是,Ghost 会自动帮你用 Let's Encrypt 设置 SSL。你也可以之后手动执行 ghost setup ssl 来设置
  • 你的邮箱:输入你的邮箱地址,万一你的证书有问题(比如到期了),Let's Encrypt 就会通知你,这个是和上面的 SSL 相关的
  • 是否设置 systemd:默认是
  • 是否启动 Ghost:默认是

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

配置

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

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

代码高亮

代码高亮可以使用 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="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/prism.min.js" integrity="sha256-NFZVyNmS1YlmiklazBA+TALYJlJtZj/y/i/oADk6CVE=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.16.0/components/prism-bash.min.js" integrity="sha256-0W9ddRPtgrjvZVUxGhU/ShLxFi3WGNV2T7A7bBTuDWo=" crossorigin="anonymous"></script> <script src="https://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 即可:

例如:

<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

  • [Adding code highlighting to Ghost blog](https://www.grzegorowski.com/adding-code-highlighting-to-ghost-blog)
  • [Prism](https://prismjs.com/#basic-usage)
  • [How to Add Syntax Highlighting to Ghost | Biron Themes](https://bironthemes.com/blog/how-to-add-syntax-highlighting-to-ghost/)
  • [prism - cdnjs.com - The best FOSS CDN for web related libraries to speed up your websites!](https://cdnjs.com/libraries/prism)
  • [MathJax | Beautiful math in all browsers.](https://www.mathjax.org/#gettingstarted)

版权声明:

作者: freeclashnode

链接: https://www.freeclashnode.com/news/article-1256.htm

来源: FreeClashNode

文章版权归作者所有,未经允许请勿转载。

免费节点实时更新

热门文章

最新文章

归档