Movable Type 3 から Movable Type 4 へのアップグレード方法
Movable Type 4 がリリースされましたので、Movable Type 3 からのアップグレード方法を紹介致します。
アップグレードはこれまでの MT3.x → MT3.x の方法と若干異なっています。おおざっぱに申し上げますと、データベースと構成ファイル(mt-config.cgi)以外、全て潔く削除します。
以下、Movable Type 4 のドキュメントを参考に、順を追って説明します。メジャーバージョンアップということで事前準備が色々ありますので、作業内容をしっかり把握してから実施してください。
また本エントリーはアップグレードの正常性を100%保証するものではありませんので、ご自身の責任で行ってください。
注意事項
- MT3管理画面系のプラグインはMT4ではエラーになります。
- MT3のMTタグ拡張プラグインで一部利用できないものがあります(
MTPaginate/MTCollate/MTTagInvoke等)。 - インデックステンプレート等で MTSubCategories タグは動作しません(カテゴリー・アーカイブのみで有効)
1.バックアップの取得
下記のバックアップを取得(FTPツールでダウンロード)します。
- アプリケーションディレクトリ(mt.cgi があるディレクトリ)
- スタティックディレクトリ(mt-static)
- ブログディレクトリ(index.html があるディレクトリ)
- データベースディレクトリ(SQLite / Berkeley DBを利用している場合のみ)
アップグレード作業では、ダウンロードしたアプリケーションディレクトリの中にある mt-config.cgi と(サーバ上の)データベースディレクトリ(SQLite / Berkeley DBを利用している場合のみ)を使用します。
注:4項にも記していますが、FTPツールでダウンロードする手段の他、アプリケーションディレクトリとスタティックディレクトリのディレクトリを変更するだけでもいいかもしれません(その場合は3項までの作業を先に実施してください)。ただしこの場合も、データベースディレクトリ(SQLite / Berkeley DBを利用している場合のみ)・ブログディレクトリはローカルPCにダウンロードしてください。
2.データベースのバックアップ
データベースのバックアップを取得します。データベースのバックアップがあれば、アップグレードに失敗しても全てを復旧できます。
MySQL や PostgreSQL を利用している場合、レンタルサーバで提供されているバックアップ方法やシェルを利用したバックアップを行ないます。
「MySQL + phpMyAdmin によるバックアップ」も参考にしてください。
3.エントリー・コメント・トラックバックのエクスポート
データベースのバックアップが分からない場合、エクスポート機能を利用して、エントリー・コメント・トラックバックをバックアップします。
この方法では、テンプレートやログ等、全ての情報は取得できませんが、エントリー・コメント・トラックバック・カテゴリーの基本的な情報を取得できます(サブカテゴリは反映されません)。
操作方法は管理画面より「読み込み/書き出し」をクリックし、「エントリーの書き出し」をクリック。後は「XXからエントリーを書き出す」をクリックすればファイルのダウンロードに進みます。

2項が実施できない&テンプレートをバックアップしたい場合は、テンプレートの内容をテキストファイルに保存するか、「「このテンプレートにリンクするファイル」の使い方 for Movable Type」を使ってください。
4.旧バージョンのデータ削除
バックアップを作成した後、FTP ツールで、アプリケーションディレクトリとスタティックディレクトリの内容を空にします。ドキュメントによると「以前のバージョンとの混在を防ぐため」のようです。
ドキュメントにしたがって潔く削除してもいいのですが、自信がない・恐い方は、アプリケーションディレクトリとスタティックディレクトリのディレクトリ名を変更するだけでもいいのではないかと思います。変更した場合は、前と同じ名前の空のディレクトリを作っておいてください。
スタティックディレクトリがアプリケーションディレクトリ配下にある場合、つまり Movable Type のディレクトリ構成をそのまま使っている場合は、空のアプリケーションディレクトリのみ作成しておきましょう。
注:ブログディレクトリとデータベースディレクトリ(SQLite / Berkeley DBを利用している場合のみ)は削除、あるいはリネームしないでください。
5.Movable Type 4 のアップロード
予めダウンロードしておいた Movable Type 4 を以前と同じように、アプリケーションディレクトリにアップロードします。
6.構成ファイル (mt-config.cgi) の復旧
1項のバックアップから、構成ファイル (mt-config.cgi) を元の位置にアップロードします。
旧バージョンで mt-config.cgi が存在せず、mt.cfg の場合は、mt-config.cgi にリネームしたものをアップロードします。また、MySQL や PostgreSQL 利用の場合、データベースパスワード等が含まれる mt-db-pass.cgi ファイルの内容は mt-config.cgi に反映させてください。
また、MT3.3 以前のバージョンからアップグレードする場合、「3.3の新機能の1つであるログ・フィード機能で、検索の結果のフィードを出力するために、mt-config.cgi に以下を追記してください。」とドキュメントに記されています。
AltTemplate feed results_feed.tmpl
7.カスタマイズの反映 (オプション)
「default_templatesディレクトリやsearch_templatesディレクトリ内のテンプレートをカスタマイズしていた場合は、ローカル側に作成したバックアップから、それらをアップロードします。」とドキュメントに書かれています。
8.mt.cgi にアクセスしてアップグレード
これでアップグレードが開始します。ここでは MT-3.35-ja からのアップグレードした実績で説明します。
「アップグレード開始」をクリック。

ユーザー名・パスワードを入力。

アップグレードが開始します。

アップグレードが完了しました。「Movable Type に戻る」をクリック。

これで MT4 のダッシュボードが表示されれば完了です。

一定期間運営して問題がないようでしたら、4項をディレクトリ名変更作戦で作業を進めた方は、旧ディレクトリをFTPツールで削除してください。
ちなみに MT3.35-ja のアプリケーションディレクトリ・スタティックディレクトリの内容が残った状態から上書きしても、アップグレードは成功しました。参考まで。
2007.08.09
注意事項を追記しました。
2007.08.09
プラグインから MTPaginate を削除しました。
2007.08.11
注意事項に MTSubCategories を追加しました。

