MovableType3.35インストール

何ヶ月か前から、このweblogのトップページに表示される最近のエントリーの末尾の「コメント (*)」「トラックバック (*)」というリンクがおかしくなっており、辿っても何も表示されなくなっていたが、原因がわからなかった。おそらくコメントデータの不整合だろう、Berkeley DBからMySQLに移行すれば直るかも知れないと思って、少し前にSix Apartのサイトのマニュアルを参考にしてMySQLデータベースへの変換を試みたが、日本語が文字化けしてしまった。これも原因がわからなかった。

同じバージョンであるMovableType3.33と全く同じBerkeley DBのデータを用いて、予備の環境でMySQLデータベースへの変換を行うと、文字化けしなかったので、問題は本環境のMySQLにあると思い、MySQLのcharset周りを調べて色々試したが、解決しなかった。本環境と予備環境の違いは、FreeBSDのバージョンの違い(4.11/5.5)とMySQLのバージョンの違い(5.0/5.1)と、いくつかのPerlモジュールのバージョンの違いしか無い。

今日、これまでの調査結果を踏まえて再度調べていると、MySQLに移行して文字化けしたデータでもサイトの再構築はでき、「コメント」「トラックバック」のリンクの問題は全く解決しないことに気付いた。これはMovableTypeを4.xにバージョンアップするしかないか、と思ったが、4.xにバージョンアップして直らなかったら立ち直れないと思い、3.xのままでまともに解析することにした。

どうせ4.xにするとテンプレート総入れ替えになるだろうから、と思って、試しにテンプレートを3.xのデフォルトのものに戻すと、エントリー毎のコメントやトラックバックへのリンクが正常に動作した。そのことから突き詰めると、結局、この環境では、テンプレート内の<$MTCommentScript$>(mt-comments.cgiに置換される)、<$MTTrackbackScript$>(mt-tb.cgiに置換される)は無効であるらしいことがわかった。MovableType3.17の頃は問題なく使えていたのだが。
代わりに"<$MTEntryPermalink$>#comments" "<$MTEntryPermalink$>#trackback"を使うことで、リンクの問題は解決した。

文字化けの問題はもっと単純で、Six Apartのニュースによると、MovableType3.34から3.35の変更点として

convert-dbおよびmt-db2sql.cgiで別のデータベースに移行すると移行先のデータが文字化けする可能性がありました。この不具合を修正しました。
と書かれており、それで解決することを信じてMovableTypeを3.33から3.35へバージョンアップすると、文字化けせずにSQLデータベースへの移行ができてしまった。

ついでに、以前のエントリーのコメントに書いた、エントリー投稿時にエラーが発生することについても修正されていることを確認した。


データベースをMySQLに移行したことにより、総データサイズが少し減少したが、処理速度はあまり改善しなかった。このPentium 150MHzの環境では、処理時間の大半がデータ処理以外のCGIの処理時間のようで、エントリーの投稿やコメントの削除くらいだと、処理時間はほとんど変わらない。大体、ターンアラウンドタイムが14秒から1秒弱縮まったくらいか。しかし、複数のコメント(スパム)の削除やサイトの再構築にかかる時間は確実に速くなった。2分位かかっていた処理の時間が半分以下になった気がする。

ただ、DBを移行すると、バックアップが面倒になった。テキストデータ以外はDBに登録されずファイルシステムにあるので、DBの分とファイルシステムの分を別々にバックアップしないといけない。(Berkeley DBのデータはファイルシステム上のファイルとして他のファイルと一緒にバックアップできる)

MovableTypeは便利なのだが、時々思い通りに行かないことが起こり、その度に原因分析に非常に時間がかかり、とても手がかかる。きちんとした使い方を覚えれば手軽にいろんなことができて、その上で最新情報を追っていればあまりトラブルに遭わないのかも知れないのだが、以前にStyleCatcherを使っておかしなことになって懲りたので、二の足を踏んでいる。
そろそろレイアウトやスタイルの変更をしたいのだが、また様々なトラブルが発生して途轍もない時間が奪われるかも知れないので、しばらくこのままにして、変なことが起こらないことを祈ることにする。