coding Movable Type

【Movable Type】放置していたMovable Type 3 のブログをアップグレードする(7)完結

2018年5月14日

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で構築たブログをアップグレードした結果。
格別大きなトラブルはなかったと言って良いと思うが、それでもいくつか発生したエラーについて、それをどう修復したかを記す。

-coding, Movable Type