最近想使用Ghost搭建自己的博客网站,网上搜索了下大多都是1.0之前版本搭建的文章,但是Ghost1.0版本已经可用好一段时间了,所以决定根据官方文档搭建Ghost1.0版本的博客系统。

下面开始一步步讲解在自己服务器上搭建、安装、配置Ghost的过程。

搭建准备

  • Ubuntu 16.04服务器
  • 至少 1GB 内存
  • 域名认证成功

不要被这么多清单吓到,基本上只需要一个内存1GB的Ubuntu 16.04系统服务器、一个备案成功的域名就行了,其他的会在后面的步骤中安装完成。

服务器设置

安装Ghost之前先安装一些必须软件

登录

使用ssh方式登录你的服务器

ssh root@your_server_ip

创建一个新用户

当您首次登录到新服务器时,强烈建议您创建具有常规帐户权限的新用户,并进行一些基本的系统设置,比如我这里创建了名为yangqiangyu的用户

adduser yangqiangyu

回车之后会提示你输入几个问题,重要的问题比如密码你就输,不重要的你可以直接Enter。

运行以下命令将我们创建的新用户加入 sudo组,这样才能拥有超级用户的命令权限。

usermod -aG sudo yangqiangyu

接下来切换到我们新建的用户

su - yangqiangyu

更新包管理器和软件包

为了确保软件包管理器和安装的软件包是最新的,我们需要执行以下命令

更新包管理器

sudo apt-get update

更新已安装的软件包

sudo apt-get upgrade

安装Nginx

执行以下命令安装Nginx

sudo apt-get install nginx

打开HTTP / HTTPS的防火墙

我们需要确保防火墙允许HTTP和HTTPS,执行以下命令。

sudo ufw allow 'Nginx Full'

安装MySQL

Ghost推荐的数据库是Mysql,执行以下命令安装

sudo apt-get install mysql-server

安装Node.js

执行以下代码安装Node.js

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

安装Ghost-CLI

sudo npm i -g ghost-cli

通过CLI安装Ghost

执行以下命令创建文件夹

sudo mkdir /var/www/ghost

执行以下命令让该文件夹归新用户所有

sudo chown yangqiangyu:yangqiangyu /var/www/ghost

进入文件目录

cd /var/www/ghost

执行以下命令安装Ghost

ghost install

Ghost安装说明

执行ghost install成功之后,接下来会出现一堆以下的问题。

Enter your blog Url:

这是您的博客将提供的URL,并且必须包含该协议。例如http://myblog.com for HTTP或https://myblog.com for HTTPS。

Enter your MySQL hostname:

在这种情况下我们直接输入localhost。

Enter your MySQL username:

输入您的MySQL用户名。默认是root或者如果您已经创建了一个自定义MySQL用户,可以使用这个。

Enter your MySQL password:

接下来输入你安装Mysql时的密码。

Ghost database name:

Ghost用来存储的数据库名,随便输入就可以了,比如我输入的是ghost。

Do you wish to set up a ghost MySQL user?

问我们是否同意单独创建一个Ghost用户只做Ghost数据库表的操作,输入y回车。

Do you wish to set up nginx?

直接yes,之后会为您的博客设置NGINX配置等等。

Do you wish to set up ssl?

如果你要让你们网站支持https,可以输入y回车,这样就会使用Ghost加密认证服务。否则你就要自己设置ssl。

Do you wish to set up automatic ssl renewal?

SSL证书只能持续90天,接受让Ghost-CLI将帮我们尝试认证更新。

Do you wish to set up systemd?

这里直接yes,否则安装会失败。

所有问题回答完毕之后,就可以通过域名访问你的Ghost博客啦!

Ubuntu 搭建Ghost1.0博客系统的更多相关文章

  1. 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云

    1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...

  2. Mac下搭建hexo3.0博客

    Mac下搭建hexo3.0博客(文章同步自个人博客站点以及Github博客https://xingstarx.github.io/) window环境下搭建hexo博客 详细内容能够參考这一篇文章怎样 ...

  3. 讲解开源项目:5分钟搭建私人Java博客系统

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...

  4. 从零开始搭建solo个人博客系统

    目录 1.博客系统的搭建流程 2.服务器选购 2.1阿里云学生主机 2.2普通云主机 3.域名购买与备案(可选) 3.1域名购买 3.2域名服务器备案 3.3域名服务器解析 4.solo安装 4.1 ...

  5. LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统

    概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...

  6. 基于ubuntu搭建 WordPress 个人博客

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 准备 LAMP 环境:(LAMP 是 Linux.Apache.MySQL 和 PHP 的缩写,是 Wordpress 系统依赖的基础 ...

  7. docker 搭建一个wordpress 博客系统(4)

    安装lnmp ()下载镜像 [root@server ~]# docker pull mysql:latest #下载mysql镜像 [root@server ~]# docker pull rich ...

  8. 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...

  9. 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些 ...

随机推荐

  1. shell 无限循环输出时间

    #!/bin/bash while(true) do date >> /home/k/a.log sleep done 查看 tail -f /home/k/a.log

  2. C++ Boost在VS2015中的使用

    1.下载包 目录结构: 切换到上面的目录,然后运行 bootstrap.bat 执行完毕后会生成两个exe文件 继续执行 bjam.exe 结束后,目录如下 2.设置路径 测试 #include &q ...

  3. c++ 查找数组或者容器元素是否存在(find)

    #include <iostream> // cout #include <algorithm> // find #include <vector> // vect ...

  4. 学以致用 ---- vue子组件→父组件通信

    之前写过一篇关于 vue2.0中v-on绑定自定义事件 的随笔,但是今天实际应用的时候才发现根本就不理解,下面是实际工作中遇到的问题: [情景描述]页面中的[下拉搜索组件],因为多个页面中用到,所以抽 ...

  5. kali 下程序卸载方法

    ali中主要为2种卸载方法:1.apt2.dpkg 使用apt的方式有:apt-get remove [package]apt-get remove --purge # ------(package ...

  6. Freemarker生成HTML静态页面

    这段时间的工作是做一个网址导航的项目,面向用户的就是一个首页,于是就想到了使用freemarker这个模板引擎来对首页静态化. 之前是用jsp实现,为了避免用户每次打开页面都查询一次数据库,所以使用了 ...

  7. [可能没有默认的字体]Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename...

    Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename... [可能没有默认的字体] 例: //putenv('G ...

  8. 12月3日周日,关联:has_many(dependent::delete_all和destroy的区别) 注意看log; where等查询语句的用法。 layout传递参数❌

    错误❌: 1.belongs_to :job, dependent: :destroy //尝试删除一条resumen后,job没有同步删除?? 答:建立一对多的关系,如job和resume.应该在j ...

  9. python-day41--数据库---数据类型

    一.存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 二.mysql 数据类型 1.数字:(宽度指的是显示宽度,与存储无关)     不用指定宽度, ...

  10. JDBC连接SQLSERVER

    package xhs;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; im ...