ghost のアップグレード(0.6.4 to 0.7.0)

VPSにセットアップしたghostをアップグレードしたのでメモ。基本的に本家のドキュメント通り。

ghost.org

ghostはblogに特化したCMS。エンジン部分のNodejsを採用したことで話題になったという。 glibc脆弱性の通称GHOSTではなくghost。

下記のサイトを参考にしてセットアップしていることが前提です。

How To Create a Blog with Ghost and Nginx on Ubuntu 14.04 | DigitalOcean

あくまでもセットアップではなくバージョンアップのメモ。

環境はさくらのVPSに構築したUbuntu 15.04 です。

準備

データのバックアップ

まず、管理画面からblog記事をバックアップ

  1. <server-name>/ghost からログイン。
  2. SETTINGSタブをクリックする。
  3. 左側のメニューからLabsをクリックする
  4. EXPORTという青いボタンをクリック

すると、ドメイン名.ghost.日付.jsonという名前でエクスポート可能される。。 f:id:atuyosi:20150910014753j:plain

次に、サーバーにログインし、既存のghostフォルダをまるごとバックアップ。

$ sudo cp -r /var/www/ghost /var/www/old_ghost

最新バージョンの取得

$ curl -LOk https://ghost.org/zip/ghost-0.7.0.zip

or

$ curl -LOk https://ghost.org/zip/ghost-latest.zip

適当な場所へ展開。

$ unzip ghost-0.7.0.zip -d ghost-0.7.0

バージョンアップ

古いファイル一式を削除

まずcoreディレクトリを削除する。lsで削除対象を確認した上でrmする。

$ sudo ls /var/www/ghost/core

潔く容赦なく。

$ sudo rm -rf /var/www/ghost/core

/var/www/ghost直下の index.js ならびに、.md、.jsonファイル を削除。

対象ファイルの確認。

$ sudo ls /var/www/ghost/index.js
$ sudo ls /var/www/ghost/{*.json,*.md}

削除実行。

$ sudo rm  -i /var/www/ghost/index.js
$ sudo rm -i  /var/www/ghost/{*.json,*.md}

注意:config.jsは削除しないこと

coreディレクトリと各種ファイルをコピー

$ cd ghost-0.7.0
$ sudo cp -r core /var/www/ghost/
$ sudo cp -r index.js package.json npm-shrinkwrap.json  /var/www/ghost/

念のため更新日を確認しておく。上記でコピーしたファイルの日付が新しくなってればOK。

$ sudo ls -lh /var/www/ghost/

テーマの更新(Casperを利用している場合)

※別テーマを導入済みならそちらの配布サイトを確認する。

$ sudo cp -r content/themes/casper /var/www/ghost/content/themes/

パーミッションの変更

ファイルの所有者ならびにグループを変更する

$ sudo chown -R ghost:ghost /var/www/ghost
$ sudo ls -lh /var/www/ghost

依存しているパッケージの更新

なんらかの方法でghostというユーザーをログインできない設定にしている場合は一旦解除(環境依存)

$ sudo su - ghost
$ cd /var/www/ghost
$ npm install --production

ghost を再起動する

systemdのサービスとして設定していることが前提。

$ sudo systemctl restart ghost.service

念のためjounalctlでログを確かめておく。

ちなみにsystemdのサービス起動用の設定ファイルは下記のものをほぼそのまま。

Ghost-Config/ghost.service at master · TryGhost/Ghost-Config · GitHub

表示を確認

サイトにアクセスして問題がないことを確認。 新しくなった管理画面にログインすると、更新内容の紹介ページ(ドラフト)が作成されています。

主な新機能は、管理画面のUI刷新、特に過去に書いたブログエントリの検索機能、テーマ作成用のAPIの機能強化。

f:id:atuyosi:20150910014832j:plain

詳細は本家の方へ。

Ghost 0.7.0

他の環境については本家のドキュメント参照。

Ghostをインストールするには - Ghost日本語ガイド