在Ubuntu 16.04上安装和配置Ghost v1.0.0博客

Ghost是基于Node.js构建的现代开放源代码发布平台,具有Ember.js管理客户端,JSON API和由Handlebars.js支持的主题API 。Ghost团队最近发布了具有许多新功能和改进功能的Ghost新版本:带有工具栏的新markdown编辑器,可帮助您设置帖子的样式,改善UI / UX,拖放多个图像,改进安装和更新流程工具Ghost-CLI,新的默认主题Casper v2.0.0等。安装后,我留给您探索更多。

在本教程中,我们将使用MySQL,Let's Encrypt,Node.js,NPM,Ghost-CLI和NGINX在Ubuntu 16.04 LTS上安装,设置和配置Ghost v1.0.0。

注意Ubuntu 16.04 LTS是唯一受官方支持的Linux发行版。无法在其他Linux发行版上安装Ghost v1.0.0。将来,当他们在Ghost-CLI工具中添加对其他发行版的支持时,可能会安装它。

Ghost团队建议以下服务器堆栈和安装程序用于Ghost v1.0.0博客的生产安装:

  • Ubuntu 16.04作为具有至少1GB RAM的操作系统(可以使用交换)
  • Systemd(管理Ghost进程)
  • MySQL作为推荐的数据库引擎
  • NGINX(SSL最低为1.9.5)
  • 通过NodeSource存储库安装的Node.js v6
  • NPM或纱线包管理器
  • C ++编译器
  • 非根供正在运行的用户ghost命令

在你开始之前

  1. 检查Ubuntu版本:

    lsb_release -ds
    # Ubuntu 16.04.3 LTS
    
  2. 创建一个具有访问权限的新非root用户帐户sudo并切换到该帐户:

    注意:替换johndoe为您的用户名

    adduser johndoe --gecos "John Doe"
    usermod -aG sudo johndoe
    su - johndoe
    
  3. 设置时区:

    sudo dpkg-reconfigure tzdata
    
  4. 确保您的系统是最新的:

    sudo apt update && sudo apt upgrade -y
    
  5. 安装build-essential包:

    sudo apt install -y build-essential
    

第1步-安装MySQL

首先,我们将需要安装MySQL数据库,因为Ghost建议将其作为生产环境的数据库。

  1. 下载并安装MySQL:

    sudo apt install -y mysql-server
    

    注意:将提示您输入MySQL“ root”用户的密码。输入强密码!

  2. 检查MySQL版本:

    mysql --version
    # mysql  Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using  EditLine wrapper
    
  3. 通过运行mysql_secure_installation脚本来强化MySQL Server :

    sudo mysql_secure_installation
    

第2步-安装NGINX

接下来,我们需要安装NGINX软件。它将用作我们的Ghost应用程序的反向代理。Ghost-CLI可以自动将NGINX配置为反向代理。

  1. 下载并安装NGINX:

    sudo apt install -y nginx
    
  2. 检查NGINX版本:

    sudo nginx -v
    # nginx version: nginx/1.10.3 (Ubuntu)
    

步骤3-安装Node.js和NPM

Ghost v1.0.0当前仅支持Node.js版本6.9+4.5+。目前,建议与Ghost v1.0.0一起使用的Node.js版本是Node.js v6 Boron LTS

Ghost建立在Node.js之上。Ghost遵循Node的LTS计划,仅支持Node.js的LTS版本。因此,我们将需要安装最新的LTS版本的Node.js。

  1. 下载并安装Node.js和NPM:

    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
    sudo apt install -y nodejs
    
  2. 检查Node.js和NPM版本:

    node -v && npm -v
    # v6.11.3
    # 3.10.10
    

步骤4-安装Ghost-CLI

Ghost-CLI是用于安装和更新Ghost的CLI工具。它使安装和更新Ghost变得容易。它可以为您设置数据库,将NGINX配置为反向代理,使用Let's Encrypt设置TLS安全性,自动进行SSL更新,并将ghost设置为systemd服务。通过创建称为ghost运行Ghost博客的专用系统用户,它将为您照顾基本的安全性。

  1. 通过npm安装Ghost-CLI:

    sudo npm install -g ghost-cli@latest
    
  2. 检查Ghost-CLI版本:

    ghost version
    # Ghost-CLI version: 1.1.1
    
  3. 运行ghost doctor命令以检查您的环境是否与Ghost-CLI兼容:

    ghost doctor
    ✔ Checking system Node.js version
    ✔ Checking current folder permissions
    ✔ Checking operating system
    ✔ Checking MySQL is installed
    ✔ All install checks passed
    
  4. 获取有关ghost命令的帮助:

    ghost help
    
  5. 要获得有关ghost子命令的更多特定帮助,可以运行ghost help <command>。例如,要获取有关ghost config命令的帮助,请运行:

    ghost help config
    

第5步-安装Ghost

注意:确保为您的域设置了DNS记录。本教程使用示例域blog.example.tld。替换blog.example.tld为您的域名/主机名。

现在,我们准备安装Ghost CMS。安装Ghost v1.0.0的唯一方法是使用Ghost-CLI工具。

  1. 创建文档根目录:

    sudo mkdir -p /var/www/ghost
    
  2. 使用在本教程开始时创建的特权,将/var/www/ghost目录的所有权更改为非root用户sudo

    sudo chown <johndoe>:<johndoe> /var/www/ghost
    
  3. 导航到文档根目录:

    cd /var/www/ghost
    

    注意/var/www/ghost在安装Ghost之前,请确保目录为空,并且您的用户必须拥有此目录。

  4. 在生产模式下安装Ghost:

    ghost install
    
  5. 回答提示的问题。有关提示问题的更多信息,请访问Ghost docs

    ? Enter your blog URL: https://blog.example.tld
    ? Enter your MySQL hostname: localhost
    ? Enter your MySQL username: root
    ? Enter your MySQL password: [Enter password you created when you installed MySQL]
    ? Enter your Ghost database name: [Whatever you want]
    ? Do you wish to set up Nginx? yes
    ? Do you wish to set up SSL? yes
    ? Enter your email (used for Let's Encrypt notifications) [Your email for Let's Encrypt]
    ? Do you wish to set up "ghost" mysql user? yes
    ? Do you wish to set up Systemd? yes
    ? Do you want to start Ghost? yes
    

    注意:安装后,NGINX配置文件将位于/var/www/ghost/system/files目录中。Ghost-CLI会询问您Do you wish to set up Nginx?,如果您的答案是yes,那么它将自动将NGINX配置为反向代理。您的NGINX配置文件将位于{your_ghost_installation_dir}/system/files目录中。

  6. 安装完成后,您可以运行ghost ls以查看正在运行的Ghost进程:

    ghost ls
    
  7. 另外要检查是否已安装Ghost,可以ghost version/var/www/ghost目录再次运行:

    ghost version
    # Ghost-CLI version: 1.1.1
    # Ghost Version (at /var/www/ghost): 1.8.4
    
  8. 将来,当发布较新版本的Ghost时,只需ghost update/var/www/ghost目录中运行命令以更新ghost。另外,在更新之前,请从管理界面备份您的博客。

  9. 要完成设置过程并创建Ghost管理员帐户,/ghost请在博客的URL末尾附加到Ghost配置页面。本示例使用https://blog.example.tld/ghost

结论

我们已经成功安装并配置了新的Ghost v1.0.0博客以进行生产。Ghost-CLI工具消除了旧版v0.11.xGhost的手动操作,使我们的生活更加轻松。您也可以在没有Ghost-CLI工具帮助的情况下手动完成所有操作,但是您将失去��用ghost update命令轻松更新博客的功能。手动执行所有操作很费力,不建议这样做。唯一的缺点是,目前不支持其他Linux发行版。



Leave a Comment

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在OpenBSD 6上设置Ghost Professional发布平台

在OpenBSD 6上设置Ghost Professional发布平台

Ghost是与WordPress竞争的最新,最大的暴发户。主题开发既快速又容易学习,因为Ghost开发人员决定同时使用

如何在Fedora 25上部署Ghost v0.11 LTS

如何在Fedora 25上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

在Ubuntu 16.04 LTS上安装Fork CMS

在Ubuntu 16.04 LTS上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在Debian 8上部署Ghost v0.11 LTS

如何在Debian 8上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

如何在CentOS 7上安装排字机CMS

如何在CentOS 7上安装排字机CMS

Typesetter是一个用PHP编写的开源CMS,专注于True WYSIWYG编辑和平面文件存储的易用性。在本文中,我们将安装

如何在Debian 9(Stretch)上安装Dotclear

如何在Debian 9(Stretch)上安装Dotclear

使用其他系统?Dotclear是一个非常简单的博客引擎。它是开源的,易于使用。本教程将通过以下方式进行安装

如何在Ubuntu 16.04上使用Virtualmin和Ansible部署多个Wordpress网站

如何在Ubuntu 16.04上使用Virtualmin和Ansible部署多个Wordpress网站

Vultr虚拟服务器的常见用法是托管Wordpress网站。本指南向您展示如何从头开始自动配置虚拟服务器

如何在CentOS 7 LAMP VPS上安装MODX Revolution

如何在CentOS 7 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在OpenBSD 6.2上安装WordPress

在OpenBSD 6.2上安装WordPress

简介WordPress是互联网上占主导地位的内容管理系统。它通过动态内容为从博客到复杂网站的一切提供支持

如何在Debian 9 LAMP VPS上安装MODX Revolution

如何在Debian 9 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

在Fedora 28上安装Fork CMS

在Fedora 28上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在CentOS 7上安装Neos CMS

如何在CentOS 7上安装Neos CMS

Neos是一种创新的开源内容管理系统,非常适合创建和编辑在线内容。考虑到作者和编辑,Neo

如何在Ubuntu 16.04上安装Dotclear

如何在Ubuntu 16.04上安装Dotclear

使用其他系统?Dotclear是一个非常简单的博客引擎,已在PHP之上构建。在本教程中,我们将在Ubunt上安装Dotclear

如何在Ubuntu 16.04 LAMP VPS上安装MODX Revolution

如何在Ubuntu 16.04 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 16.04上部署Ghost

如何在Ubuntu 16.04上部署Ghost

使用其他系统?自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。一世

如何在CentOS 7.3上部署Ghost v0.11 LTS

如何在CentOS 7.3上部署Ghost v0.11 LTS

使用其他系统?Ghost是一个开放源代码博客平台,自201年以来一直在开发人员和普通用户中广受欢迎。

在Debian 9上安装Fork CMS

在Debian 9上安装Fork CMS

使用其他系统?Fork是用PHP编写的开源CMS。Forks源代码托管在GitHub上。本指南将向您展示如何安装Fork CM

如何在Debian 8.7上部署Ghost

如何在Debian 8.7上部署Ghost

使用其他系统?自2013年发布以来,Ghost是一个开源博客平台,在开发人员和普通用户中越来越受欢迎。一世

在CentOS 7上创建Jekyll博客

在CentOS 7上创建Jekyll博客

使用其他系统?Jekyll是WordPress的不错替代品。它不需要任何数据库,并且可以使用许多人熟悉的机智语言

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。