Ghost 博客平台安装和配置
Ghost 是一個博客發布平臺,和 Hexo 等類似。本文簡要介紹如何安裝和配置 Ghost,環境為 Ubuntu 16.04 系統上,假設你已經擁有一個服務器和一個域名。
安裝
安裝過程主要參考官方教程,下面我總結下:
在系統上創建一個新用戶。一般安裝 Ghost 會使用一個新用戶,當然這也不是必須的。創建用戶可以使用 useradd 和 adduser 命令,然后使用 usermod 命令將其加到 sudo 組里,最后使用新用戶登錄系統。命令詳細使用方法可參考其文檔,假設我們創建的用戶叫 price
更新系統,安裝 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創建安裝目錄,配置目錄權限,安裝 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在 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 即可:
例如:
數學公式
數學公式一般使用 MathJax 來渲染,同樣將如下代碼放入 Code injection 即可:
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML' async></script>這樣會自動時刻保持最新版本。
E=mc2E = mc^2E=mc2
加密博客站點
實際上是為博客設置一個密碼,只能輸入密碼訪問,并且會取消一切 SEO 優化。在 SETTINGS -> General -> ADVANCED SETTINGS 處啟用 Make this site private 即可。
郵箱配置
郵箱配置較長,放在了一篇單獨博文中,參見使用 Mailgun 配置 Ghost 郵箱一文。
Reference
- Adding code highlighting to Ghost blog
- Prism
- How to Add Syntax Highlighting to Ghost | Biron Themes
- prism - cdnjs.com - The best FOSS CDN for web related libraries to speed up your websites!
- MathJax | Beautiful math in all browsers.
END
總結
以上是生活随笔為你收集整理的Ghost 博客平台安装和配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 安装网易云音乐
- 下一篇: 【尚硅谷_数据结构与算法】十二、算法