如何在Ubuntu 16.04上安装Ghost CMS

介绍

Ghost是一个开源博客平台,可以帮助您轻松创建具有专业外观的在线博客。

Ghost 1.0.0是Ghost内容管理系统(CMS)的第一个主要稳定版本。Ghost 1.0.0有一个全新的Markdown编辑器,刷新的用户界面,新的默认主题设计,改进的Ghost-CLI安装和更新过程等等。

在本教程中,您将使用NGINX,MySQL,Node.js,NPM,Ghost-CLI和腾讯云SSL证书在运行Ubuntu 16.04 LTS的腾讯云CVM服务器上设置,部署和保护Ghost 1.0.0博客。腾讯云SSL是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS /SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。您可以在腾讯云Web页面轻松获取免费的SSL证书,无论您选择哪种Web服务器软件。 想要了解更多关于腾讯云SSL证书的内容,请前往腾讯云+社区学习更多知识。

注意 本教程是为非root用户编写的。需要提升权限的命令以sudo为前缀。 将本教程中的每个example.com替换为您网站的域名。

准备

  • 您应该拥有一个Ubuntu 16.04的服务器,并使用提升的sudo权限为Ghost创建了新用户。本教程中的示例使用ghostexample。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 确保您的域名具有有效的域名和正确配置的DNS记录。您可以使用腾讯云的云解析服务做快速设置。
  • 确保您的系统是最新的:
sudo apt update && sudo apt upgrade
  • 安装build-essential
sudo apt install build-essential

安装NGINX

NGINX将用作Ghost应用程序的反向代理:

sudo apt install nginx

安装MySQL

  • 下载并安装MySQL:
sudo apt install mysql-server

出现提示时,为root用户输入强密码。

  • 运行mysql_secure_installation脚本:
sudo mysql_secure_installation

安装Node.js和NPM

Ghost建立在Node.js上,遵循Node的长期支持(LTS)计划。Ghost仅支持Node.js的LTS版本

下载并安装Node.js:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install nodejs

安装Ghost-CLI

Ghost-CLI是一个命令行界面(CLI)工具,可以轻松安装和更新Ghost。它设置数据库,将NGINX配置为反向代理,使用腾讯云SSL证书 CA启用TLS / SSL安全性,自动更新SSL,并将Ghost初始化为systemd服务。

  • 安装Ghost-CLI:
sudo npm install -g ghost-cli@latest
  • 在安装或更新Ghost时解决系统任何潜在问题:
ghost doctor
  • 获取有关ghost的帮助:
ghost help

安装Ghost

使用Ghost-CLI工具安装Ghost 1.0.0。

  • 创建文档根目录:
sudo mkdir -p /var/www/ghost
  • 使用您创建的sudo权限将/var/www/ghost目录的所有权更改为非root用户。在这个例子中,我们使用ghostexample
sudo chown ghostexample:ghostexample /var/www/ghost
  • 切换到Ghost根目录:
cd /var/www/ghost
  • 确保目录为空以避免文件冲突:
ls -a
  • 在生产模式下安装Ghost:
ghost install
  • 根据提示回答每个问题。有关每个问题的更多信息,请访问Ghost文档
? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: areallysecurepassword
? Enter your Ghost database name: exampleGhost
? Do you wish to set up Nginx? yes
? Do you wish to set up SSL? NO
? 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
  • 安装完成后,运行ghost ls以查看正在运行的Ghost进程:
ghost ls

将来发布更新版本的Ghost时,从/var/www/ghost目录运行ghost update以更新到最新版本。

配置SSL证书

第一步、申请免费的SSL证书

申请入口

进入SSL证书管理控制台

单击【申请证书】

查看申请域名型证书型号,单击【确定】

填写申请

填写申请域名,例如qcloud.com,cloud.tencent.com,demo.test.qlcoud.com。

手动DNS验证方式

证书默认支持收到DNS验证,验证方法可查看详情

提交申请后验证身份

提交申请成功后弹窗提示如下,需要前往【证书详情页】获取CName记录添加解析:

获取CName记录如Tips中显示,需要尽快成功添加解析,方可通过CA机构审核:

下载我们在第一步中生成的密钥,我们将其命名为selfsigned.keyselfsigned.crt将这两个文件移动到/etc/ssl/private/,然后我们打开nginx配置文件,增加如下配置。

server {  
    listen 80;
    listen [::]:80 ssl ipv6only=on; 
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;
    server_name example.com;
​
    ssl on;
    ssl_certificate /etc/ssl/private/selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/selfsigned.key;
}

完成设置

要完成设置过程,请通过添加/ghost到博客URL或IP的末尾切换到Ghost配置页面。本例中,我们使用https://example.com/ghost

  • 在欢迎屏幕上,点击创建您的帐户
  • 输入您的电子邮件,创建用户,密码和博客标题:
  • 邀请其他成员加入您的团队。如果您希望跳过此步骤,请点击在页面底部的稍后再执行此操作,转到我的博客!
  • 切换Ghost管理区域以创建您的第一篇文章,更改您网站的主题或配置其他设置:

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

自建服务器难免会遇到问题,但是如果您在生产环境使用,我还是建议您直接使用云关系型数据库,云关系型数据库让您在云中轻松部署、管理和扩展的关系型数据库,提供安全可靠、伸缩灵活的按需云数据库服务。腾讯云关系型数据库提供 MySQL、SQL Server、MariaDB、PostgreSQL 数据库引擎,并针对数据库引擎的性能进行了优化。云关系型数据库是一种高度可用的托管服务,提供容灾、备份、恢复、监控、迁移等数据库运维全套解决方案,可将您从耗时的数据库管理任务中解放出来,让您有更多时间专注于您的应用和业务。


参考文献:《How to Install Ghost CMS on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Docker网络解决方案-Calico部署记录

Calico简单简介 Calico是一个纯三层的协议,为OpenStack虚机和Docker容器提供多主机间通信。Calico不使用重叠网络比如flannel和...

97210

使用Helm将应用程序部署到IBM Cloud上的Kubernetes

Helm是Kubernetes的包管理器。借助Helm,您可以非常方便地将应用程序,工具和数据库(如MongoDB,PostgreSQL,WordPress和A...

3179
来自专栏地方网络工作室的专栏

打造前端MAC工作站(六)MAC上的压缩软件,keka和atool

打造前端MAC工作站(六)MAC上的压缩软件,keka和atool 前言 在MAC下面对于windows重度用户来说,可能最不适应的就是压缩软件了。因为没有一款...

3169
来自专栏杂文共赏

使用DCHQ自动部署和管理Docker Cloud /虚拟Java微服务

本文演示了一个在云或虚拟平台上,用于自动化部署和管理Docker Java微服务应用程序的解决方案。我们通过扩展现有项目Chris Richardson的示例—...

2024
来自专栏张善友的专栏

Minikube之Win10单机部署

Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作。如果你曾经用过Docker部署容器,那么可...

5436
来自专栏云计算教程系列

如何为Ubuntu 16.04设置Ghost一键式应用程序

使用腾讯云的一键式Ghost应用程序,您可以预先安装带有Ghost的腾讯CVM。有一些命令行可以完成安装,然后您就可以使用一个简单而强大的安全博客工具,让您可以...

2155
来自专栏云计算教程系列

如何在CentOS 7上使用Docker安装Prometheus

Prometheus是一个开源监控系统和时间序列数据库。它涉及监控的许多方面,例如度量标准的生成和收集,在仪表板上绘制结果数据以及针对异常情况发出警报。为实现这...

9630
来自专栏张善友的专栏

Minikube之Win10单机部署

5243
来自专栏坚毅的PHP

CoreOS Linux引入了Kubernetes kubelet

CoreOS Linux引入了Kubernetes kubelet     作者:Kelsey Hightower 2015年8月14日  这周我们在 Core...

3767
来自专栏云计算

Kubernetes服务网格(第8部分):Linkerd作为入口控制器

Linkerd旨在使应用程序内部服务间的通信安全,快速和可靠。但是,这些目标同样适用于网络的接入层(应用程序对外的服务)。在这篇文章中,我们将展示Linkerd...

5298

扫码关注云+社区

领取腾讯云代金券