2008年07月24日

サーバー移転するもMovableTypeでエラー

プロバイダから一通の封書が届いた。今年(2008)の9月いっぱいをもって営業を終了...なに!?ここまで積み上げてきた..(といってもたいしたことはない400にも満たない記事の)ブログは!?
当然移転させねばなるまい。

ってなわけで、6月の初旬から移転先のレンタルサーバー探しを始めた。自宅に構えても良さそうなモンだけど、うちのブロードバンドルーターがタコなのでそれはやめにした。もしも、我がブログが好評を博しでもしてアクセスが集中したら(あるのか、そんなこと!?)、それこそ、YouTubeが楽しめなくなっちゃうじゃないの(笑)
必要条件は、Movable Typeが快適に使えること。これは絶対だ。いろいろ探してみた結果「さくらのレンタルサーバー」の評判が高い。調べてみるとバックボーンも太い。それに現プロバイダでは提供していないMySQLも使える。

そこで早速契約した。ついでに、モノは試しと、独自ドメインも取得することにした。
まずは、Movable Type本体をまるまるコピー。
本文は静的に書き出されているので、閲覧そのものは問題ない。
が、当然、記事の新規作成はおろか既存記事の編集すらできない。
「まあ、あたりまえか..」とおもいつつ、mt_config.cgiとかそのあたりの設定を新しいサーバの値へ書き直してみる...なんとあっさり動くではないか。

よし、これで問題ないっと。あとは、記事内で参照している画像その他ファイルを全部(!)手作業で(!)新サーバーへと書き直すだけかぁ..しょうがないと思いつつも、次に同じ思いをしなくて良いようにするには

  1. 画像ファイルなどは外部別サーバーを利用しておく
  2. 相対参照でアドレスを記述しておく
まあ、後者でしょうな..でもこれにも難点があって、本文内では絶対参照アドレスに画像ファイルをアップしておけば、単純にHTMLとして保存してみればすぐに意図したレイアウトになっているかどうか、アップロードする前の本文で確かめられる。こういう、利便性はトレードオフですな。サーバー移転なんて滅多にないので、このまま絶対アドレスでいくことにするか。

そんなこんなで、下準備に一週間。元記事を一つ一つ参照しながら、変更しては保存を繰り返す。移転前サーバーの同名ファイルには

< META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://saiquet.com/archives/1995/09/122kmh.html" >
のように移転後のアドレスを記述したジャンプ命令だけのファイルへと変更していく。手の空いている時間すべてをこれに充てて、5日間かかった。

アクセス分析を見ても、この5日間で旧サーバーへのセッション数が漸減していき、新サーバーへのアクセスが漸増していく様子がハッキリ出てきたのでまあ、とりあえずは移転成功と言っていいだろう。

...ところが。そのうち、エラーが出るようになった。新規にエントリーを登録すると、ページは確かに生成されるのだが、それが終わって元の編集ページに戻るところで、エラー表示になる。「すべてを再構築」をすると、再構築そのものはうまくいくのだが、そのときに立ち上がる小さなウィンドウ内にエラーが表示される。

どうも原因がわからない..ページの生成そのものは全く問題がないし速い。が、最後のエラーが気持ち悪い。どうも処理の最終段階のところでサーバー側の予測していない負荷がかかっているのではないか...

しょうがないからそのまま使っていたが、データベースが原因なのではと思い当たった。今まではデフォルトのデータベースのママで使っていたが、これをMySQLにすると処理が速くなると言う記事をよく目にする。そこで必要になるのがデータベースの変換だが、これまたいろいろありそうで(汗)

いろいろ検索していると、すばらしいツールを提供してくれているサイトを発見
mt-db-convert.cgi MTデータベースの相互変換CGIスクリプト - OgawaMemoranda
ここで提供されている 「Movable TypeのデータベースをDB間で相互にコンバートするCGIスクリプト」 これがきわめて秀逸。データベースをMT側の設定をいじることなく変換できるばかりか、mt_config.cgiをどう編集すれば良いかのサゼスチョンまで自動でやってくれる。大感謝!!

データベースをMySQLに変換して後は全くエラーが出ていない。きわめて快適に編集ができるようになった。めでたしめでたし。

トラックバックURL

このエントリーのトラックバックURL:
http://saiquet.sakura.ne.jp/8869/mt-tkereb.cgi/452