Ghost变得越来越成熟了,已跟随更新到0.11.3

因为新版Ghost已经不支持node 0.10,建在Docker上的ghost可以切换版本最新到6.9,在Openshift上可以利用@icflorescu/openshift-cartridge-nodejs另外建一个自动更新版本的node。

这里比较注意的是需要通过.openshift/NODE_VERSION_URL.openshift/NPM_VERSION_URL来自定义版本,最好是使用node自带的npm版本(更新到最新的npm貌似不行。)

https://semver.io/node/resolve/6.9.1
https://semver.io/npm/resolve/3.10.8

剩下的直接把本地安装好的Ghost通过git上传到根目录即可,可以抛弃原来的quickstart了。

»

Ghost升级到0.9后感受

首先说明的是升级后有一个明显的bug,简单说就是静态页面在网址后加edit会404。

0.9最大的升级就是解决了服务器时间问题,现在可以选择时区了,算是一大进步。

Ghost渐渐抛弃了对nodejs 0.10的支持,转而使用LTS版本。

评论系统顺便切换到了多说,因为Disqus已经DNS污染,即便是https也不能访问到了,只能通过改hosts。

»

更新到Ghost 0.8.0

最近家中装修,博客也一直荒废着,今天心血来潮打开Ghost的github,发现又更新了版本,虽然还是没有什么大的改变,但还是跟随着官方更新了,顺便更新了qn-store。

Ghost 0.8.0后台开始引入Apps了,这是否意味着插件系统即将到来。另外Labs里多了一个订阅功能,可以订阅到feedly。

唯一需要注意的是config.js需要更新一下了,另外默认模版也有更新,heartnn也正在调整中。

»

在Daocloud安装自定义的Ghost Docker

Daocloud默认赠送2x的容器,正好运行一个Ghost博客,但是Daocloud官方提供的Ghost的安装不能自定义模版和配置。所以我们必须在Docker里做一些更改。

本人对Docker也是小白一枚,所以过程是比较复杂的,但结果很简单。

首先准备一个Git仓库,最好是私密的,因为会储存个人配置和修改过的模版。

首先是修改配置,这里不用Daocloud的持久化存储(因为会占用容器),数据库使用Daocloud提供的MySQL,附件使用七牛云,邮件系统使用Mailgun,production部分配置如下:

»

紧随Ghost的官方更新

最近Ghost更新的有些频繁,0.7.7仅仅一天就被更新,每次npm instsall --production都要漫长的时间。最好的办法就是换源:

npm config set registry https://registry.npm.taobao.org

有一点疑惑,就是本地npm install --production时,会卡在preinstall这里,也就是npm install semver之后startup-check.js过不去,跳过也不影响用,heartnn安装的node版本是0.10.35,和Openshift是一样的。

»

Ghost博客修正时区的方法

最近翻看以前的文章时,偶尔发现有的文章显示时间不正确,编辑器里显示的时间是正常的,才知道Ghost里只是显示UTC时间。

我不知道调整服务器的时区的方法是否可行,因为Ghost在Github上似乎也没有给出绝对的答案,所以解决的办法只能是对应浏览者的本地时区。

Ghost官方基本给出了解决办法,利用Moment.js,只需要稍微修改即可。

»

关于Ghost下的301跳转

借着升级0.7.2,一起解决了non-www向www的域名跳转问题,本来是个很简单的问题,就因为Openshift的特殊性,变的复杂起来。

如果Google这个问题的话,会有www向non-www跳转的解决办法,并且似乎需要修改core/server/routes/frontend.js,而且容易引起重定向循环。

如果用nginx反向代理的话应该会很简答,用Apache的话也可以用.htaccess解决,但是Openshift里的Nodejs自带的Apache似乎没有mod_rewrite。

所以结论是在Openshift新建一个php 5.4,利用一下.htaccess。

»

升级Ghost到0.7.1

Ghost的升级并不像Wordpress那么方便,但也不会像网上说的那么复杂,最近成功从0.6.3的中文版升级到了0.7.1原版,简单记录下心得。

本人使用的是非正常的升级方法,本地也没有安装nodejs和npm什么的,利用了ghostchina的完整包,将node_modules复制,省掉了npm install --production的步骤(ghostchina上也有介绍)。

»