Movable Type 5から6へのアップグレードとトラブル解決

  • 投稿日:
  • 更新日:2015/02/28
  • by
  • カテゴリ:

Movable Typeのアップグレード(正攻法)

正攻法があるということは邪道というか裏技的な方法もあります。

最近、ブログを書くのに使っているContent Management System(CMS)であるMovable Typeのバージョンを5から6に上げました。

アップグレード自体は非常に単純です。 特に、以下の条件を満たす場合

  • これまでのバージョンが5.13以降
  • データベースにMySQLを使っている
  • プラグインを使っていない

アップグレードの作業自体はガイドに従うだけですので、それ自体は困難な作業ではありません。

はまるポイント

これまでバージョン5.13以降でMySQLを使っている場合(私はそうでした)、ほとんどファイルを入れ替えるだけでアップグレードができる...ハズなのですが、私はつまらないことではまりました。

アップグレード後、ブログ一覧やコメント一覧が出てこないのです。 「ロード中」の表示がずっと続く状態。

MySQLの設定とかいろいろ調べましたが、原因はわかってしまうと単純なものでした。

mt-staticディレクトリはcgi-bin内の(mtディレクトリの)内部を変更しても効果はない。公開ディレクトリ(htdocs等)の下にあるmt-staticを変更する必要がある。

ということです。 考えてみれば当たり前の話ですが、前のバージョンをインストールしたのははるか昔の2012年、2年前の自分は違う自分、ということで忘れていたのでした。

キャッシュにも注意

な お、この事象はWebサイトを正しくアップデートしてもブラウザのキャッシュが残っているために発生することもあります。 Movable Typeをアップデートしたときにブログ一覧やコメント一覧がロード中で出ない場合は、一回ブラウザのキャッシュをクリアするか、Ctrl+F5でリロー ドすると直ることがありますので、お試しください。

Movable Typeのアップグレード(裏技)

バックアップ・リストアによる方法

ちなみに、上記のようなアップグレード条件を満たさない場合はMySQLのインストール等、いろいろ面倒なのですが、どうしてもうまく行かない場合は、いったん旧バージョンでバックアップして新バージョンでリストアする方法があります。

Movable Typeのサイトではバックアップファイルは、必ずバックアップを行った Movable Type と同じ環境で復元してくださいと書いてあるのですが、実は私の経験では別バージョンでも復元可能でした。 こちらで実際にやっていますが、要はバックアップファイル内にMovable Typeのバージョン番号が書いてあるのでそれを書き換えてしまうのです。 少なくともMovable Type 4系から5系へのアップグレードはこれでできてしまいました。

まとめると、旧バージョンからのアップグレードは、以下の手順でも可能かと思います。

  • 旧バージョンにてブログすべてのバックアップを取る(システムモードにてツール→バックアップ)
  • Movable Typeの新バージョンをインストールする(別のディレクトリにインストールするのが安全でしょう。私の場合はマシン自体を変えました)
  • バックアップファイルの中のMovable Typeのバージョン番号を書き換える
    バックアップファイルは、"Movable_Type-2014-12-15-12-34-56-Backup-1.xml"のようなフォーマットになっています。これをテキストエディタなどで開くと、以下のような部分があります。以下はバージョン6系の場合の例です。
    <movabletype xmlns='http://www.sixapart.com/ns/movabletype'
      backup_what='6,0,0' schema_version='6.0000'>
    
    これのbackup_whatとschema_versionを復元先でチェックしているので、適当に書き換えてしまいます。 復元先となる新バージョンでもバックアップを取って、同じ部分を見れば指定すべき値がわかると思います。
  • 新バージョンにて復元を行う

私は実際にMovable Type 4系から5系にアップデートした際にこの方法を使いました。 ただし、保証はできませんのであくまで自己責任でお願いします。

こちらもよく読まれています