现在的位置: 首页 > 新手VPS教程 > 正文

如何在Fedora 25上安装Ghost博客程序

2018年01月13日 新手VPS教程 ⁄ 共 3309字 ⁄ 字号 如何在Fedora 25上安装Ghost博客程序已关闭评论 ⁄ 阅读 8 views 次

Ghost是一个开源的博客平台,自2013年发布以来,它在开发者和普通用户中越来越受欢迎。它把焦点放在内容和博客上。Ghost最吸引人的地方是它的简单、干净、响应性的设计。你可以用手机写博客文章。Ghost的内容是用Markdown语言编写的。Ghost完全适合个人或小团体的作家。

在本文中,我们将在Fedora 25 VPS上建立一个安全的Ghost博客,使用我们的 Let's Encrypt, Certbot, Node.js, Nginx 和 PM2.。

 

前提条件:

Fedora 25服务器实例,至少有1GB RAM。

你可能需要用semanage port -a -t http_port_t -p tcp 2368.打开端口2368。

 

Let's Encrypt

在开始这个步骤之前,确保您已经为您的域设置了DNS记录。

我们将使用 Let's Encrypt CA和EFF的Certbot客户端来获得我们的Ghost博客的TLS证书。不要忘记用你的域名替换example.com的所有实例。

 

1、升级系统

dnf check-update || dnf upgrade -y

2、安装所需工具

dnf install @development-tools -y

3、安装需要的工具:安装Certbot (a.k.a Let's Encrypt客户端):

dnf install certbot -y

4、检查Certbot版本:

certbot --version# certbot 0.12.0

 

5、使用独立的“模式”获得证书:

certbot certonly --standalone --domains example.com,www.example.com --email john.doe@example.com --agree-tos --rsa-key-size 2048

经过前面的步骤,你的证书和私钥将在/etc/letsencrypt/live/example.com 目录中。

 

安装NodeJS

Ghost 目前仅支持 0.12.x, 4.2+,和 6.9+节点版本 。

我们将在撰写本文时为Ghost 安装支持版本,这是 v6 Boron LTS版本。

1、下载并安装最新的LTS版本的node.js:

dnf install nodejs -y

2、检查节点和NPM版本:

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

 

安装Nginx

1、下载并安装Nginx:

dnf install nginx -y

2、检查Nginx版本:

nginx -v# nginx version: nginx/1.10.2

3、启动并启用Nginx服务:

systemctl start nginx.service && systemctl enable nginx.service

4、将Nginx配置为一个反向代理

vi /etc/nginx/conf.d/ghost.conf

5、将下面的内容粘贴到 /etc/nginx/conf.d/ghost.conf:

server {   listen 80;  listen [::]:80;  listen 443 ssl http2;  listen [::]:443 ssl http2;   server_name example.com www.example.com;   ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   location / {    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header Host $http_host;    proxy_set_header X-Forwarded-Proto $scheme;    proxy_pass http://127.0.0.1:2368;  } }

6、检查Nginx的语法:

nginx -t

7、重载Nginx配置:

systemctl reload nginx.service

安装Ghost

如果您想在相同的VPS上托管多个Ghost博客,那么每个Ghost实例必须在一个单独的端口上运行。

 

1、制作webroot目录:

mkdir -p /var/www/

2、创建一个新的 ghost用户:

useradd -c "Ghost Application" ghost

3、下载ghost

curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip

4、解压ghost

unzip -uo ghost.zip -d /var/www/ghostrm -f ghost.zip

5、导航到webroot:

cd /var/www/ghost

6、更改webroot目录的所有权:

chown -R ghost:ghost .

7、切换到新的ghost

su - ghost

8、导航到webroot:用户:

cd /var/www/ghost

9、安装ghost

npm install --production

10、通过改变production对象内部config.js文件的url和 mail属性来配置ghost:

cp config.example.js config.jsvi config.js  var path = require('path'),       config; config = {  // ### Production  // When running Ghost in the wild, use the production environment.  // Configure your URL and mail settings here  production: {    url: 'https://example.com',    mail: {      options: {         service: '',            auth: {              user: '',              pass: ''            }          }    },        . . .        . . .    },}. . .. . .

11、开始ghost

npm start --production

现在,Ghost将会运行。博客前端和管理界面都是用HTTPS加密的,http/2也在工作。您可以在https://example.com上打开您的浏览器和访问站点。不要忘记用你的域名替换example.com。

12、通过按CTRL+C关闭 Ghost 进程,并从 Ghost 用户返回到根用户:

exit

安装PM2

如果你用你的VPS结束你的终端会议,你的博客也会被关闭。那不是很好。为了避免这种情况,我们将使用pm2的过程管理器。它将使我们的博客保持24小时的全天候。

1、安装最新稳定版的pm2过程管理器:

npm install -g pm2@latest

2、检查PM2版本:

pm2 -v# 2.4.6

 

3、再次切换到ghost用户:

su - ghost

 

4、将NODE_ENV环境变量设置为生产:

echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc

5、用pm2来启动(daemonize)ghost应用:

pm2 start /var/www/ghost/index.js --name "Ghost Blog"

6、导航到https://example.com/ghost/并创建ghost管理用户,尽快做这件事

 

结论

就是这样。我们现在有一个功能齐全的 Ghost 博客。如果你想改变默认的 Ghost主题,你可以下载并解压缩到/var/www/ghost/content/themes文件夹并选择通过位于https://example.com/ghost的 Ghost 管理界面进行管理。

抱歉!评论已关闭.

×