Ghostのバージョンアップ手順

執筆時点でのGhostのバージョンは==0.11.4==で、 割と頻繁にアップデート通知が飛んでくる。 使用しているバージョンが==0.8.0==で、 いつかはアップデート手順を踏む必要がある為、実際にアップデートを行い その手順の備忘録を残す。

バージョンの確認

現在使用しているGhostのバージョンは、 インストールディレクトリ直下の==package.json==を開いて確認する。

また、GhostはNode.jsを使用しているので、サポートバージョンを確認しておく。

Supported Node Versions

アップグレード前のバックアップ

Ghostのアップグレード手順が、本家サイトに あるので、この手順を参考に進める。

  1. 投稿記事のエクスポートを管理メニューから行う。
    [Labs]-[Export]
    ただし、ここには==画像ファイル==や==テーマ==などは含まれない。
  2. インストールディレクトリ以下のcontentディレクトリ以下に==DBデータ==や==画像ファイル==が保管 されているので、ディレクトリ丸ごとzip化してバックアップをとっておく。

     > cd [ghost directory]/content
     > zip -r backup.zip *
    

    ちなみに解凍方法は、

     > cd [ghost directory]/content
     > unzip backup.zip
    
  3. 最新版のghostイメージを取得する。

    > curl -LOk https://ghost.org/zip/ghost-latest.zip
    
  4. 稼働中のGhostと異なるテストディレクトリに展開する
    > unzip ghost-latest.zip -d ghost0114
    
  5. テストディレクトリ以下へ稼働中のデータをコピーする。 もちろんアップデート対象のGhostプログラムなどはコピーしない。投稿データとテーマのみ。
    > cd ghost
    > cp -r apps data images /.../ghost0114/content/
    > cp -r yourthema /home/web/ghost0114/content/themes/
    
  6. ==config.js==ファイルに関しては、アップデートに伴ってパラメータが変更になっている可能性がある。 必要な箇所の差分だけを反映したほうがよさそう。

  7. 作成したディレクトリおよびファイルのパーミッションを変更しておく

     > find . -exec chown [user]:[group] \{\} \;
    
  8. ghostの関連モジュールを更新する
    > npm install --production
    
  9. テスト起動してみる。注意点として、config.jsに記載するポート番号を、 本稼動しているGhostと異なる番号にしておかないと起動に失敗する。 初回起動時にDBのバックアップとDB定義の更新?が自動で行われる。 =="Migrations: Finished!"==と表示されたら、Ctrl+Cで一旦プロセスを終了する。

    > npm start --production
    

    > ghost@0.11.4 start /home/web/ghost0114
    > node index

    Migrations: Creating database backup
    Ghost is running in production... 
    :
    Migrations: No fixture migration tasks found for this version
    Migrations: Finished!
    

  10. もう一度、Ghostを起動させてブログの参照および編集ができるか確認する。