さくらインターネットで WordPress 2.9 へのアップグレード(Movable Typeが同居している場合)
管理画面から簡単にアップデートできる WordPress ですが、最近リリースされた WordPress 2.9 は「MySQL 4.1 以上のサーバ要件でないとインストールできない」仕様となり、以前から、さくらのレンタルサーバを使用しているユーザはデータベースの移行が必須となっていました。結構面倒な話なので、放置していましたが、来月からの長い出張の前に、すっきりするために重い腰を上げて作業することにしました。以下作業の内容と、反省点等を記述しておきます。
まずは下記を参考にデータベースの移行をします。
さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ
http://bamboostudio.tank.jp/archives/1692
さくらインターネットでWordPressを2.9にアップデートするためにMySQLをバージョンアップ
http://blogging.from.tv/wp/2010/01/10/3223
エクスポートを実行してみたところ、なんと 1.1GB にもなったので、記述にあるように下記のツールを使ってインポートします。
BigDump: The Staggered MySQL Dump Importer
http://www.ozerov.de/bigdump.php
このサイズだと転送だけでも2〜3時間かかりますので、大変な作業です。しかしよく考えると、そんなに沢山エントリがある訳でもなく、phpmyadmin で見たところ、容量が大きいのは Movable Type の mt_log というテーブルでした(spamフィルターのプラグインがエラーを大量に吐いているようです)。作業の履歴がここに残されるものだと思いますが、管理画面からログを削除することができるので、残しておく必要性はないようなので、全部削除して、再度エクスポートしてみたところ、7MBとなりました。これに気づいたのはインポートした後だったので、上記の作業時間はかなり無駄でした。バックアップするときには無駄なものは削除するのは基本ですね。
インポートは終わり、WordPress の動作確認を行い、OKだったので安心していると、一緒に入っていたMovable Type の管理画面で、入力したデータが全部文字化けに!
これは大変とググってみたところ、解決策がありました。
Movable Type + MySQL 4.1 を組み合わせると日本語が文字化けする不具合/障害の解決方法
http://iandeth.dyndns.org/mt/ian/archives/000112.html
具体的には mt-config の「SQLSetNames 1」という記述を有効にするだけでした。
また、結構な時間、参照不能だったこともあり、下記を参考にメンテ中状態にしようとしましたが、ここでもハマりました。
メンテナンス中画面を出す正しい作法と.htaccessの書き方
http://web-tan.forum.impressrd.jp/e/2009/06/16/5880
Apache 2.2系 では下記の記述がOKなのですが、さくらのレンタルサーバではApache 1.3系なので使えないようです。
RewriteRule ^.*$ - [R=503,L]
そこで、下記を参考に修正しました。
メンテナンス画面を表示させる方法(Apache 1.3対応版)
http://www.shifft.in/blog/development/maintenance-mode/
今回はシンプルな表示で行いましたが、メンテナンス中画面も色々工夫することで、サイトを見にきた人にも好印象となりますよね。
Effective Maintenance Pages: Examples and Best Practices
http://www.smashingmagazine.com/2009/06/12/effective-maintenance-pages-examples-and-best-practices/
面倒でしたが、色々と勉強にもなった作業でした。もうしばらくやりたくないですけど。
コメントをどうぞ