Posts Tagged ‘MovableType’

BlogをMovableTypeからWordpressに変更

水曜日, 10 月 15th, 2008

このサイトで使っているBlogのシステムをMovableTypeからWordpressに変更してみました。過去のエントリを含めて、URLはそのままで移行出来ているんじゃないかと思います。細かいところはボチボチと修正していきます。

MovableTypeは高機能で使い勝手もそれなりに良かったのですが、バージョンアップするごとに重くなってきた気がしていたのと、個人向けというより、もっと大規模な企業向けを意識した作りになってきた気がしていました。なので、もっと気軽に使えそうなWordpressに乗り換えです。

移行作業は思ったよりもスムーズにいきました。もちろん先人の知恵を借りていますが(個別記事のURLをそのまま移行とか)。移行手順は別途エントリーしたいと思います。

カテゴリアーカイブを変更

日曜日, 1 月 6th, 2008

記事が増えてきて、カテゴリ別の表示が重くなってきていたので、MT4から標準で使えるようになった月別カテゴリに変更しました。

いままではカテゴリをページで分割していましたが、これからは月毎の表示になります。

本当は動的(ダイナミック・パブリッシング)に作るといいのだと思いますが、使っていたプラグインが軒並みエラーとなってしまった為の苦肉の策です。

いろいろバージョンアップ

金曜日, 1 月 4th, 2008

今日は1日サーバを弄ってました。

とりあえずの成果は、
-Apache 1.3.27 → 2.2.6
-MySQL 3.23 → 5.0.51
-PHP 4.3.3 → 5.2.5
という感じ。

MySQLとPHPは素直にあげられたんだけど、やっぱりApacheは大変でした。この辺もちゃんとまとめておかないと後で困るんですよね(自分が)。

んで、なんで今更バージョンアップをしているのかというと、このサイトで使っているMovableTypeが重くなってきたので、どうにかできないものかと試行錯誤をしているうちに、「いろいろバージョンアップしたら多少はよくなるんじゃね?」と思いついた次第。結果はかわんなかったけど。やっぱりmod_perlなりFastCGIなりを導入した方がいいのだろうか。

MT4をMySQL3.23で無理やり動かす

木曜日, 9 月 13th, 2007

なんとか過去ログのURLも含めて復旧終了。過去ログは98%くらいは以前のままのURLになったと思います。

事の発端はデザインを変えた後の再構築。再構築をかけてもまったく終わる気配がない。っていうか再構築されていない。一晩かけてもまったく終わらないのでいろいろいじってる内に完全におかしくなってしまったのでした(私が悪いんだけど)。

これとは別に、MT4に上げてから管理画面の記事一覧で、最初の20件は表示できるけど次の20件とかが表示できないという現象が発生していました。だけでもデフォルトの表示行数を100件とかにするとちゃんと表示できるのでDBが壊れているわけではなさそうだから、そのうち調べようと放置していました。

で、結果的には再構築できなかったのも記事一覧がちゃんと機能しなかったのも同じ原因でした。

再構築中のウィンドのソースを見ると、

mt.cgi?__mode=rebuild&blog_id=1&type=index&next=0&offset=&limit=~

という部分があり、このoffsetとlimitがあやしいんじゃないかとあたりをつけました。理由は、再構築したときも個別記事の最初の何件かはちゃんと再構築できていたから。

で、MovableTypeのソースからあやしそうな部分を探していったら、lib/MT/ObjectDriver/SQL.pmの263行目に

return sprintf "LIMIT %d%s\n", $n,
          ($o ? " OFFSET " . int($o) : "");

という部分がありました。SELECTの条件となるOFFSETの値を返すSQLを発行しているようですが、このサイトで使っているMySQLの書式では、

SELECT * FROM Table名 LIMIT offset値, 件数

だったはず(前にPHP+MySQLでいろいろ作っていた時に調べました)。しかし上記の書き方では、

SELECT * FROM Table名 LIMIT 件数 OFFSET offset値

になってしまいます。

で、さらに調べたところ、PostgreSQLでは後者の書式になっていて、MySQL4.0以降では互換性の為に後者の書式もサポートしているとのこと。そういえば、MovableType4の動作環境ってMySQL4.0以上でしたね。でもうちのMySQLは前に4.0.~に上げたはず・・・っと思って調べたら3.23.53でしたよ。あれ~?

いまさらMySQLのバージョンアップはメンドクサイので、SQL.pmの問題の個所を

return sprintf "LIMIT %s%d\n",
          ($o ? int($o) ." , " : ""), $n;

と書き換えて、無理やり書式を合わせてみました。とりあえずこれでちゃんと動くようなりました。

だけども、MySQLをバージョンアップしたほうがいいんだろうなぁ。

Movable Type 4にアップデート

水曜日, 8 月 15th, 2007

アップデートしてみたので投稿テスト。

それにしても、管理ページが随分と様変わりしてますね。