Ghost博客项目地址:https://github.com/tryghost/Ghost
Ghost这个博客系统可真是难装,第一次装放弃了,转而用的JustWriting,但是这个系统也太精简了。。。之后决定回归ghost!我在一个国外哥们的博客上找到了一篇Ghost安装参考教程,结合官网文档略加修改成功安装。顺便吐槽一下,官方文档写的有点混乱,第一次安装愣是没看懂。那里面还要求用浏览器打开本地2368端口进行预览,我VPS连个图形界面都没有,预览个啥。
官方文档建议使用nginx转发80端口请求,为什么不直接让ghost使用80端口呢,因为ghost需要运行在root权限上,为了避免风险,就用nginx转发一下。但是这存在一个问题,我的服务器上本来就有Apache支撑的其他网站,现在又要装nginx,好麻烦,怎么办?这篇教程就是使用Apache来作为示例,没有使用nginx,我想大部分人应该对Apache更加熟悉吧。
ghost工作总流程:ghost一直监听本地127.0.0.1:2368端口,你从外网访问www.xxx.com时,Apache从80端口接收请求,将之转发到本地127.0.0.1:2368端口,然后ghost就收到访问请求了。
ghost采用node.js编写,默认使用sqlite3数据库,非常轻量,连MySQL都不用装,还有强大的社区支持,创始人本身也在用这个软件进行商业化赚钱,不用担心这软件得不到维护,你还在使用WordPress这个大家伙吗,赶紧投奔ghost吧。
系统环境:CentOS 6.X
首先你要有一台VPS,并且有一个域名,这里不展开讲怎么购买了,本文主要针对具备Linux使用基础并且已有建站经验的朋友。
下面的步骤假设你有一个域名:www.xxx.me
Fire up your terminal !
一、依赖包安装及准备步骤
1、安装node-v0.10.40可以直接去Google搜索下载二进制包,
解压放在/usr/local/bin/node-v0.10.40中,然后把node-v0.10.40/bin里面的两个可执行文件(npm、node)软链接到/usr/local/bin
2、yum install httpd
3、mkdir /var/www/ghost-blog
4、切换到ghost-blog目录,去官网把ghost软件包下载下来,unzip ghost-xx.zip
解压后你会发现所有的文件都散在当前目录ghost-blog里了
二、正式安装
之后的步骤都在ghost-blog目录里进行!
1、npm install --production安装相关依赖模块。
因为没加-g参数,所以是本地安装,安装位置在ghost-blog/node_modules
2、npm start --production直接启动,让ghost做一些初始化操作
3、然后Ctrl+C关闭ghost
4、Edit config.js and change the url: to your URL.
编辑config.js文件,将production:代码块内的
url: 'http://my-ghost-blog.com',
改为
url: 'http://www.xxx.com',
5、打开/etc/httpd/conf/httpd.conf
#NameVirtualHost *:80这一行取消注释
再在文件末尾加上如下语句,配置请求转发,如果有请求www.xxx.me的连接,都将被Apache转发至ghost的2368端口。这也就允许你在同一台服务器上拥有其他网站,从而互不影响。
<VirtualHost *:80>
ServerName www.xxx.me
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http://127.0.0.1:2368/
</VirtualHost>
重启httpd服务,service httpd restart
现在访问域名已经能进入ghost页面了,下面实现ghost后台运行。
6、安装forever包,官网的命令带着-g参数表示全局安装,我们不带,表示安装到ghost目录下,即node_modules目录里面,方便管理
npm install forever
做个软链接方便用
ln -s node_modules/forever/bin/forever forever
启动ghost用这条命令
NODE_ENV=production ./forever start index.js
关闭ghost用这条命令
./forever stop index.js
查看运行状态用这条命令
./forever list
7、优化下邮件设置,让博客系统给自己发邮件时发件人地址更规范一些。
编辑config.js文件,将production:代码块内的
mail: {},
改为
mail: { from: '"Ghost Blog" <[email protected]>' },
8、用forever让ghost后台运行,然后浏览器访问
http://www.xxx.me/ghost
开始注册吧,注册后就能使用你自己的博客了
9、系统重启后先启动Apache,其实httpd应该设成开机自启。
然后用forever后台启动ghost
备注:为什么不直接让ghost监听80端口,而要Web服务器转发请求。
参见:http://support.ghost.org/basic-nginx-config/
其他资料:
官网安装步骤:http://support.ghost.org/installing-ghost-linux/
基本配置:http://support.ghost.org/getting-started/#step-3:-basic-ghost-configuration
后台运行:http://support.ghost.org/deploying-ghost/#making-ghost-run-forever
邮件设置:http://support.ghost.org/mail/#from-address
第一次运行注册:http://support.ghost.org/ghost-first-run/
鸣谢:
本文主要参考了
https://www.centosblog.com/install-ghost-blog-platform-centos-linux/
这文章里面的1-4步和第6步很有用
第五步写的有点怪异,我们不参考了,而是按照官网的做法,先启动ghost让其初始化配置文件,再对配置文件进行编辑Edit config.js and change the url: to your URL.