7年近く放置したままだった Movable Type のブログをアップグレードした顛末です。
Movable Type 3.4 のブログを、アップグレードしないままでまずサーバーの引っ越しを行なった(→自炊自賛:ロリポップからエックスサーバー へ MT 3を移転 #1〜)。
ここからようやくMTのアップグレードだ。アップグレードはいったんMT3.4からMT5へ、その後MT6へという2段階で行う。
Movable Type 3.4 から
Movable Type 5 へアップグレード
アップグレードの方法には、既存のデータベースを残す方法と、既存のデータベースを上書きする方法があるが、前者の方がリスクが少なそうなので前者の方法で行う。サーバーを引っ越したのはこの方法をとるためでもある。
既存環境のバックアップ
バックアップが必要なのが、「ディレクトリ」と「データベース」であることは、サーバーを引っ越した時と同じだ。
ディレクトリのバックアップ
サーバーを引っ越した時に移行元のディレクトリのデータはダウンロードしてある。
ダウンロードしたデータのうち、テンプレートと画像のポップアップ表示用のHTMLファイルは移行先のサーバーに合わせて修正済みだ(→自炊自賛:放置していたMovable Type 3 のブログをアップグレードする(6))。
エントリーやコメントなどのデータはMTの管理画面で検索・置換の作業を行ったので(→自炊自賛:放置していたMovable Type 3 のブログをアップデートする(6):サイト内リンクの修正)、ダウンロードしてあるデータは検索・置換を行う前の以降元のデータのままだが、何か問題が生じたら、改めて検索・置換を行えばなんとかなるだろう。
ということでディレクトリのバックアップは省略した。
データベースのバックアップ
サーバーのユーザーページから「phpmyadmin」を開いてダンプデータをダウンロード。
新しい環境の作成
新しいディレクトリ(フォルダ)の作成
新しいバージョンのMT用に、リモートサーバーの既存のMT用フォルダ(自分の環境では「cgi」フォルダの中にある「mt」)と同じディレクトリに新しいフォルダを作成する。フォルダ名はなんでもいいが「mt5」としておいた。
「mt-static」が「mt」内にない場合は、「mt-static」用のフォルダも同様に新規作成。
リモートサーバー上のブログディレクトリは現バージョンのデータのままで弄らなくていい。
MT5 のアップロード
ダウンロードしてあった「MT-5_◯◯.zip」ファイルを解凍して展開されたフォルダの中身を作成した「mt5」にアップロード。(「mt-static」が別ディレクトリならそれらは当該のディレクトリにアップロード)
時間がかかるのでしばし放置。
アップロードが完了したら、cgiファイルの権限を「700」に変更。
(※ 通常は「755」にするが「mt-check.cgi」を実行して「cgiwrap または suexec 環境下で動作していると思われます。」というメッセージが表示されたら「700」にしといたらセキュリティが高まるとのことなのでそうした→MovableType.jp:MovableTypeの設置:パーミッション(権限)の設定)
データベースの複製
新しいバージョンのMT用に、新しいデータベースを作成して、ダウンロードしておいたダンプデータをインポートする。
ここで作成するデータベースにつけるデータベース名だが、開発元のシックスアパートの解説ページでは、例として「mt5」というデータベース名にしている。しかしこのデータベースはMT6にアップグレードする時にそのまま利用するので、あとあとややこしくなるので別の名前にしておいた方がいい。まあ、データベース名の変更はphpmyadminであとからできるみたいだけど時間がかかるようだから、はじめから変更しなくてもいいようにしておいた方がいい。
アップグレードウィザードの実行
ブラウザで新しい環境の「mt.cgi」にアクセスし、アップグレードウィザードを開始。
指示に従って進み「アップグレードを完了しました!」まで表示されたら完了。
プラグインなどの複製
対応状況などを確認してプラグインやテーマなどを複製(→「アップグレード時に、新しいディレクトリにコピーするファイル」)。
テーマは使っていなかったので、とりあえず自分が追加したプラグインをコピー。
アップグレード後の作業
MT5.13へのアップグレード後にはテンプレートの初期化の作業が必要とのことだが、自分がアップグレードしたのはMT5.12 だったので、これは省略。
全てのファイルの再構築
管理画面にログインし、ブログ毎に全てのページを再構築。
Movable Type 5.12 から
Movable Type 6 へアップグレード
既存環境のバックアップ
データベースは既存のをそのまま利用するので大丈夫(多分)。
他はなにかあったらMT3→MT5(MT3からMT5へアップグレードした時)と同じように、サーバー引っ越し時にバックアップしたデータでなんとかすることにして省略。
新しい環境の作成
新しいディレクトリ(フォルダ)の作成
MT3→MT5と同じように、新しいバージョンのMT用に、リモートサーバーの既存のMT用のフォルダと同じディレクトリに新しいフォルダを作成する。
MT6のアップロード
MT3→MT5と同様、ダウンロードしてあった新しいバージョンのMTファイルを解凍して展開されたフォルダの中身を作成したMT用フォルダにアップロード。(「mt-static」が別ディレクトリならそれらは当該のディレクトリにアップロード)
アップロードが完了したら、cgiファイルの権限を変更するのもMT3→MT5と同様。
既存のMT5から必要なファイルをMT6用ディレクトリへコピー
主にコピーが必要なのは以下のファイル。自分の場合は、「mt-config.cgi」と追加したプラグイン。
- mt-config.cgi
- plugins/追加したプラグイン
- mt-static/plugins/追加したプラグイン
- mt-static/support
- themes/追加したテーマ
mt-config.cgiの修正
新しいバージョンのMTをアップロードした後、新しいバージョン用のMT用フォルダのフォルダ名と既存のMT用フォルダのフォルダ名との置き換えを行えば、この修正は不要(mt-staticが別ディレクトリならそちらも)。
自分の場合、既存のMT用フォルダが「mt5」で新しいバージョンのMT用のフォルダを「mt」としたかったので、「mt-config.cgi」の書き換え(①)を行なった。
アップグレードウィザードの実行
ブラウザで「mt.cgi」にアクセスし、アップグレードウィザードを実行。
アップグレード後の作業
アップグレード前のバージョンによっては下記のテンプレートの初期化作業が必要となる(→MovableType.jp:5.12、5.06、4.37以前のバージョンからアップグレードした後に必要な作業)。
- JavaScriptテンプレート
- グローバルテンプレート
- コミュニティブログのテンプレート
- クラシックブログ(ウェブサイト)とPicoテーマのコメントプレビュー
全てのファイルの再構築
管理画面にログインし、ブログ毎に全てのページを再構築。
問題なければ完了!
自分の場合、アップグレード後、いくつかのエラーが発生したがその解決については次のエントリーで。
-
【Movable Type】アップグレード時に発生したエラーとその解決
6年間ほったらかしだったMovable Typeで構築たブログをアップグレードした結果。
格別大きなトラブルはなかったと言って良いと思うが、それでもいくつか発生したエラーについて、それをどう修復したかを記す。