このブログは WordPress を使っています。
それと、このサイトのブログ以外のページは MODx という CMS を使っています。
あと、プライベートブログとして Movable Type も使っています。
WordPress は昨年12月にバージョンが2.9になり、MODx は昨年8月に MODx Evolution 1.0 正式版としてリリース(それまでは、0.9.6とベータ版扱いだったようです。)され、Movable Type は昨年11月に5.0になりました。
WordPress の動作環境は MySQL のバージョン4.1.2(バージョン5.0.x以上を推奨)以上、MODx の動作環境は MySQL のバージョン4.0.2(バージョン5.0.x以上を推奨)以上、Movable Type は MySQL 5.0ということになっています。
で、私のサーバはどうなっているかというと MySQL 4.0.27。
MODx は大丈夫ですが、WordPress、Movable Type ともアウトです。
ということもあり、すべてアップグレードせずにず〜っと放置していたのですが、先月、やっとこさ MODx、WordPress、Movable Type のすべてをアップグレードしました。
もちろん、MySQL のバージョンが今のままではダメなので、MySQL 5.1へと移行しました。
移行といっても『旧データベース(MySQL 4.0.27)を削除して、新たにデータベース(MySQL 5.1.42)を作成』という手順です。
phpMyAdmin にてデータをエクスポートして、新データベース作成後にインポートすれば問題ない。
今までも毎回ではないけど WordPress などをアップグレードするときには、phpMyAdmin でデータをエクスポートしてバックアップをしていたので、それほど難しい作業ではないです。
ただ、一端データベースを削除するのでちょっとだけ不安でしたが… 🙂
作業自体は、数分で終わります。
無事、MySQL も5.1になったので、 MODx、WordPress、Movable Type をそれぞれアップグレード。
Movable Type は別のサーバなので、こちらもデータベースを MySQL 5.1に移行。
以下は、そのときに気付いたことをちょっとした備忘録として…
まず、データベースの『MySQL 接続の照合順序』が『utf8_unicode_ci』となっているのを確認。
●MODx
バージョン0.9.6がインストールされていても『通常アップデート』が選べず、新規インストールになるようです。
ということなので、いつでも元に戻せるようにサーバの旧『assets』フォルダなどは別名でサーバに残してあります。
あと、新規インストール扱いなので『Tableプリフィックス』を設定するときに、データベース上にある『Tableプリフィックス』の名前が使えない。
まぁ、あとから『config.inc.php』を書き換えれば済むことなので気にせず適当な名前の『Tableプリフィックス』を設定。
その後『config.inc.php』を書き換えたあとで、新規の『Tableプリフィックス』をデータベース上から削除。
これでとりあえず、MODx のインストールは終了です。
サイトを確認すると文字化けを起こしていたので、MODx 日本公式サイト|日本語版インストール方法を見てみると『MySQL の接続照合順序』が『utf8_general_ci』となっている。
データベースの『MySQL 接続の照合順序』を『utf8_unicode_ci』としたので、MODx のインストール時には
『utf8_unicode_ci』となっているのを確認したから問題ないと思っていたのですが…
ちなみに『utf8_general_ci』に変更しても変化なし。
phpMyAdmin をよく見てみると、テーブルの照合順序が『ujis_japanese_ci』となっているので、『utf8_unicode_ci』にしてみると文字化けは解消したみたい。
これが原因だったのかなぁ…
これ以外は、今のところこれといった問題はありません。
スニペットやプラグインも当サイトで使用しているものは問題なく動作しているようです。
●WordPress
WordPress は、『自動アップグレード』を使えばアップグレードも簡単です。
ただ、前にも書きましたがデザイン的にスタイルシートだけではどうにもならない部分があり、ちょこっとファイルを書き換えているので、それだけを上書きアップロード。
以上でアップグレードは完了 😀
各プラグインの動作も問題ないと思っていたのですが、スパム対策用プラグインの SK2(Spam Karma 2)がエラーを吐き出している。
特に SK2 が WordPress 2.9で動作がおかしくなるということは聞いていない。
よくわからないまま管理画面をひとつひとつ見ていくとおかしなことに気付きました。
投稿に下書きが3つほどあったのですが、最終編集日が日付ではなく『Unpublished(英語版なので…)』となっている。
ちなみに2.9にアップグレード後の下書きはちゃんと日付になっています。
気になったのでデータベースを見てみると下書きの『post_date』、『post_date_gmt』両テーブルとも『0000-00-00 00:00:00』という日付になっている。
その他は『2010-01-28 11:07:44』などという通常の日付です。
3つあった下書きがすべてが『0000-00-00 00:00:00』となっていましたので、エラーになっていたのではないかと…
秒まで同じタイムスタンプというのはおかしいですからね。
3つの下書きのうち2つを保存し直すと現在の日付に変更されました。
3つとも保存しなかったのは『0000-00-00 00:00:00』という表示が原因なのか、同じタイムスタンプが原因なのか確認したかったので…
結果、予想通りエラーが表示されなくなりました。
元々、『0000-00-00 00:00:00』のような日付になることはないと思いますので、いつこのような日付になったのかなぁ。
MySQL のバージョンアップ時?
WordPress のバージョンアップ時?
どちらなんでしょう。
それとも以前のバージョンは、下書きの場合はこういう日付だったのかなぁ…
●Movable Type
Movable Type には特に問題はないような気がしていたのですが、アーカイブインデックスのページがおかしい。
コンテンツを表示していない。
ちょっとややこしいことをしているので、一番シンプルなリスト表示になるようにテンプレートを変更してみるとちゃんと表示します。
ということは、書き方が間違っているのかテンプレートタグが使用不可(非推奨)になったのか…
テンプレートは Movable Type 4.2のままなので書き方が間違っていたとは思えない。
Movable Type 4.2ではちゃんと表示していましたからね。
かといって、アーカイブインデックスのテンプレートで使っているテンプレートタグが使用不可になったということもなさそうです。
これもよくわからないので、ひとつひとつテンプレートタグを確認していくと『MTIfArchiveTypeEnabled』を削除すると今まで通りのアーカイブページが表示された。
う〜ん、よくわかりません。
今までは、このテンプレートで表示していたのに…
すっきりとしませんが、とりあえず表示しているので OK ということにします。
あと、プラグインで『GoogleSitemapsPing』というのを使用していますが、このプラグインがエラーになります。
これは、MT5・プラグインの皆さん動いてますか – WolaWola に対処法が書いてありましたので、解決。
ただ、上記のサイトでは「動作したっぽい。コレであってるのかな?」と書いてありますが、気にしない 😀
そうそう、インストール時にダイアログが英語だったのとユーザーダッシュボードの『ニュース』が英語なのはなぜ?
ダイアログが英語だったのは、mt-config.cgi に DefaultLanguage ja を設定していなかったからのようですね。
新規インストールだとウィザードで設定されるみたいですけど、Movable Type 4.2からのアップグレードだと mt-config.cgi が変更されないからなんですね。
あとから、『mt-wizard.cgi』を実行してもいいみたい。
ユーザーダッシュボードの『ニュース』が英語なのは、どこかに URL の記述があるはずだからそのうち探してみよう。
以上、MODx、WordPress、Movable Type のアップグレードで気になったことでした。