Movable Type 4への道〜ネタフルをMT3からMT4にアップグレード

Movable Typeのバージョンアップ時にDBが壊れないか心配で‥‥というようなことを書いていたのですが、最悪、MySQLのバックアップデータから復帰できそうなので、とりあえずMT4へのアップグレードを実施してみることにしました。

2009-01-14_1206-1.png

ネタフルはサーバで自動的にMySQLのバックアップをしてもらっているのですが、普通はそうでないと思いますので、小粋空間: MySQL + phpMyAdmin によるバックアップなどを参考にしてください(インポート方法もあり)。

ただし、phpMyAdminを使うというのもそれはそれでハードルが高いので、使わなくてもいけそうな方法を最後にご紹介しますね。

ということで、まずはアップグレードの参考にするサイトをば。

Movable Type 3.x から Movable Type 4 へのアップグレード | Movable Type 4 ドキュメント

アップグレードでテンプレートがややこしくなるという話を聞きますので、とりあえず使用しているテンプレートを全てテキストとしてバックアップしておきます。

2009-01-14_1206.png

続いて、アーカイブマッピングの設定が引き継がれないということなので、ネタフルはカスタマイズしているのでこちらもテキストでバックアップしておきます(設定→公開)。

2009-01-14_1207.png

いよいよMovable Type 4をダウンロードします。

最初に「以前のバージョンのデータの削除」するそうです。

バックアップを作成した事を確認したら FTP プログラムで、アプリケーションディレクトリとスタティックディレクトリの内容を空にします。これは、以前のバージョンとの混在を防ぐためです。

アプリケーションディレクトリとスタティックディレクトリは削除せずに、いずれもリネームして残し、新たにインストール用の同名のフォルダを作成しました(「mt-static2」「cgi-bin2」みたいな感じにリネーム)。

ということで、削除せずに新規に作成したフォルダにMovable Type 4をインストールします。Movable Type 4への道〜インストール編を改めて読み返します。

アプリケーション本体と静的ファイルを、それぞれ所定の場所にアップロードします。

(サーバの調子が良くなかったのか、ここだけで数時間を要してしまいました‥‥)

そして「構成ファイル (mt-config.cgi) の復旧」ということで、使っていた「mt-config.cgi」をアップロードしてやります。

それでは、いざMovable Typeにログインですよ‥‥(すげー、ドキドキする!)。

2009-01-14_1605.png

おお、なんだかうまくインストールはできたらしい!

「以下のコンポーネントのアップグレード、またはインストールが必要」という、これはなんだろう?

・Professional Pack バージョン 1.21
・Widget Manager Upgrade Assistant バージョン 1.1

まあ、後で調べれば良いかな。

引き続いてデータベースのアップグレードを実行します! 南無三!

2009-01-14_1607.png

なにやらいろいろと「更新」しているっぽい。

2009-01-14_1613.png

5分ほどで無事に完了! 胸をかきむしるほどになで下ろします。良かったよぉ、良かったよぉ。

(あ、Professional Packがインストールされてる)

そして、新しい管理画面キター!

2009-01-14_1615.png

いよいよ作業も終盤に(だと思います)。

解説によると、Movable Type 4ならではの機能を利用するためにテンプレートを初期化した方が良い、と書かれているのですが、いろいろテストする余裕はないので、もし書き変わってしまっていたら、先ほど書き出しておいたテンプレートに戻すことにします。

ということで、テンプレートを確認してみます。

2009-01-14_1618.png

おや? ざっと見たところ、タグを書き換えるとか、そういう無茶はしていないっぽい?

なんと、テンプレートのプレビュー機能が搭載されているよ! これは簡単だ。

2009-01-14_1621.png

うん、なんか大丈夫っぽい。この調子で、他のテンプレートも確認してみマッスル。

いかん!

と、その前に引き継がれないというアーカイブマッピングの設定をしておきます。

2009-01-14_1624.png

と思いきや、引き継がれているっぽい??

ああ、

上記手順にてテンプレートを初期化した場合、初期化したテンプレートにはアーカイブマッピングの設定が引き継がれません

ということなので、通常は心配しなくても良いのかもしれませんね。勘違いしていたみたいです。でも、万が一に備えてバックアップしておくのは大切でしょう。

ということで、なんかうまくいっちゃったカモ?

おっと、そういえば<MTRelatedEntries>タグが使えないことが判明していたので、対応策として教えてもらっていた「TagSupplementalsプラグイン」をインストールしてみました。

ウッホ、問題解消らしい!

よーし、とりあえずエントリーを一つ!

(アップグレード作業をしている間もローカル環境でブログを書けるのが「ecto」のメリットですね)

2009-01-14_1638.png

ecto」からも更新成功! 全く問題なし!

と思ったら、トップページのサイトマップが表示されなくなってしまいました。まあ、このくらいはナントカなるでしょう。

でも、それ以外のテンプレート部分も、問題なく更新されているのを確認しましたので、ひとまずアップグレード作業はうまくいったようです。

追々、テンプレートの見直し等、細かい部分を調整していけたらと思っています。本も読んで勉強しようっと。いやー、本当に無事に終わって良かったー!

結論としては、

・思っていたようなトラブルは起きなかった
・思っていたより簡単だった

となります。でもあくまでも結果論ですので、ブログの大切なデータのバックアップは必須ですよー。

(サイト全リビルドが待っているのですが、時間がかかるのでそれは改めてご報告します)

//////

さて、最初に、

・MySQLのバックアップはハードルが高いよね

という話を書いたのですが、テンプレート機能を利用してエントリーを書き出し、MT4にバージョンアップ後にそれをインポートするという方法を教えてもらったのでご紹介です。

MT3→MT4へタグやbasenameを引き継いで(インポート&エクスポートで)簡単に移行する方法。 (Junnama Online (Mirror))

MT3のエクスポート形式で書き出してMT4へインポートすると「出力ファイル名(basename)」とか「タグ」とかが引き継がれないので、その対処法。つまり、「書き出し」の代わりののテンプレートを作ってしまえないかな、というお話。

「出力ファイル名(basename)」つまりパーマリンクを引き継いでアップグレードできるようにするテンプレートです。

MySQLのアップグレードは心配という方は、この方法を試してみると、けっこう簡単にアップグレードができてしまうかもしれませんよ。

また、この方法でバックアップを取っておけば、DBが壊れた時も戻せるのではないでしょうか。MT4環境を一つ用意して、ぜひ実験してみてください。インストールもさほど難しくないですので。

//////

ブログのエントリー、はてなブックマークを始め、いろいろな方から助言を頂きました。本当にありがとうございました。無事にアップグレードしましたよ!

ということで、遅ればせながらネタフルもMovable Type 4に突入であります!

■関連エントリー

Movable Type 4への道~インストール編
Movable Type 4への道〜アップグレード編