今まで面倒で放置していたのだが、Movable Type を 5.0 から 5.02 にアップグレードしてみた。
Movable Type 5.0 から 5.0x へのアップグレード
http://www.movabletype.jp/documentation/mt5/upgrade/mt5.html
バックアップ
まずは何は無くともバックアップ。
$ /usr/local/mysql/bin/mysqldump -a -uroot -p mt | gzip > mt_backup_2010080201.gz Enter password:
これで、データベースの中身がカレントディレクトリに mt_backup_2010080201.gz
というファイル名でバックアップされる。
$ cd /Users/delphinus/Sites $ mv mt mt.bak $ mv mt-static mt-static.bak
MT を公開しているディレクトリもバックアップしておく。
MT 最新版のインストール
予めダウンロードしておいた最新版の ZIP ファイルを解凍し、以前のディレクトリから必要なものをコピーする。
$ unzip MT-5.02-ja.zip $ mv MT-5.02-ja mt $ mv mt/mt-static . $ cp mt.bak/mt-config.cgi mt/ $ cp -fR mt.bak/themes/テーマ名 mt/themes/ $ cp -fR mt.bak/plugins/プラグイン名 mt/plugins/ $ cp -fR mt-static.bak/support mt-static/ $ cp -fR mt-static.bak/plugins/プラグイン名 mt-static/plugins/
あとは上に挙げたリンクにもあるとおり、ブラウザから /mt/mt.cgi
にアクセスすれば完成……のはずが、ちょっとしたエラーが起こった。データベースをアップグレードできないのだ。
データベース構造を元に戻す
以前、記事のタイトルや本文に JIS 第三、第四水準など、Unicode の BMP(基本多言語面)外の文字を使うときにテーブル構造をいじっていた。アップグレードの前にいったん元の設定に戻そう。
【MovableType, MySQL】記事中に BMP 外の文字を使う
https://blog.delphinus.dev/2010/07/use-non-bmp-characters-in-movabletype.html
$ /usr/local/mysql/bin/mysql -uroot -p mt Enter password:
次の SQL で設定の一部を元に戻す。
alter table mt_entry modify `entry_atom_id` varchar(255) character set utf8 default null ,modify `entry_basename` varchar(255) character set utf8 default null ,modify `entry_class` varchar(255) character set utf8 default 'entry' ,modify `entry_title` varchar(255) character set utf8 default null ;
ただしこの場合、記事のタイトルやファイル名に BMP 外の文字を使っているとそのデータが消えてしまう。予め確認しておこう。
ちなみに、再び BMP 外の文字に対応させるときは次の SQL を使う。
alter table mt_entry modify `entry_atom_id` varchar(191) character set utf8mb4 default null ,modify `entry_basename` varchar(191) character set utf8mb4 default null ,modify `entry_class` varchar(191) character set utf8mb4 default 'entry' ,modify `entry_title` varchar(191) character set utf8mb4 default null ;
もう一度ブラウザから /mt/mt.cgi
にアクセスすると問題なくアップグレードが完了した。
Captcha 画像への対応
以上でアップグレードは完了したのだが、Image::Magick
のバージョンにもよるのか、相変わらず Captcha 画像が使えない。以前と同じように Captcha.pm
を修正して対応した。
【MovableType】Captcha画像の生成に異様な時間がかかる件について
https://blog.delphinus.dev/2010/03/movabletype-captcha-lag.html