MovableType3.1へアップグレード

いろいろやったついでにMovableTypeもV3.121にアップグレードしてみた。いままでより重くなったような気がする(泣)。折角こつこつ速くなるようやってきたけど、ここに来て五歩ぐらい後ろに下がった感じ。

ここまでやったらMySQLにDBを移さねばなるまい。さて、取り掛かるか。

mod_perlによる高速化の顛末2

なんだかとても悔しいのであれこれやってみたところ、mod_perlで動かすcgiを制限すればどうにかなるんじゃないかと思いついた。

そこで

<Files *.cgi>

のところを

<Files mt-*.cgi>

とやってMovableType用のcgiだけに適用させるようにしてみた。こうするとmt4.cgiは除かれるはず。ついでにmt-blacklist.cgiはmtblacklist.cgiと名前を変更。これでmtblacklist.cgiがうまく動作するか疑問なのだが…

やってみるとうまくいっているようだ。エラーも出ていない。よかったよかった。

おっと、これだと肝心なmt.cgiが無効にされてしまうじゃないか。ということで

<Files mt.cgi>
・・・

って奴も付け加えた。結果は…全て再構築するのに8分から7分弱へ短縮。

そんなに劇的な効果なし。さぶい結果だ。まぁ、PHP化とかしてない時は40分以上かかっていたから、それから比べると劇的に速くはなっているがここいらが多分このPCの限界だろうな。あとはMySQLに移行するしかないのかな。泣けるぜ、全く。

エントリ引越し

少し思うところがあってエントリのアーカイブフォルダを移動させた。PHPでモジュール化したのをすっかり忘れそのまま再構築しちゃったもんだから、INDEXやらなにやらのテンプレートでモジュール呼び出しに失敗してこんなおバカな状態になっちまった。

obaka.jpg

いやぁやるな俺、ってほとんどバカじゃん(泣)。この状態でアクセスされた方、さぞびくーりしたことでしょうな。

mod_perlによる高速化の顛末

さて、mod_perlによる高速化をしてみたわけだが、どういうわけかMT4iとMT-Bloacklistがエラーになってしまう。

MT4iはInternal Server Errorが出るしMT-BlacklistはCan’t locate object method “h1” via package “Apache::Request” (perhaps you forgot to load “Apache::Request”?) at home/httpd/html/extlib/jayallen/Blacklist.pm line 2438.なんてことをぬかしやがる。

おまけにApacheの起動時に[warn] Loaded DSO modules/libperl.so uses plain Apache 1.3 API, this module might crash under EAPI! (please recompile it with -DEAPI)なんて注意も出る。これは単なる警告だからいいとして、MT4iとMT-Blacklistは困った。

と言うことで、一旦中止。こうなればやはりDBをMySQLとかにするしかないかなぁ。

mod_perlによる高速化

エントリをPHPモジュール化してそれなりに高速化できたのだが、まだまだ遅い。金がない奴は工夫して速くするしかない。どうにかならんのかと思っていたら、Movable Type を mod_perl で高速化する – Apache::Registry 編という記事があるじゃないか。

このページではApacheもソースからmakeした状況での話しなのでVineの場合はこのままやってもうまくインストールできない。ということで、Vineでの導入方法を書いておく。

まず、mod_perlをインストールする。これはVinePlusに置いてあるのでaptでインストールすればいい。

apt-get install mod_perl

次にApache::Registryをインストールする。rootになって

perl -MCPAN -e shell
cpan> install Apache::Request

とやればよろしい。

次に/etc/httpd/conf/httpd.confにおまじないを付け足す。

<IfModule mod_perl.c>
<Perl>
use lib ‘/home/httpd/html/opentype/lib’;
use lib ‘/home/httpd/html/opentype/extlib’;
</Perl>

PerlModule Apache::Registry
<Directory /home/httpd/html/opentype>
<Files *.cgi>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
PerlSendHeader Off
</Files>
</Directory>
</IfModule>

これで/etc/rc.d/init.d/httpd restartとやればOKなはずなんだが、これじゃまだダメ。理由はmod_perl で DB_File が動かない に詳しく書いてあるが、管理画面が開けないのだ。これには/etc/sysconfig/apacheファイルを作り対処する。
/etc/sysconfig/apache

export LD_PRELOAD=/lib/libdb.so

これで/etc/rc.d/init.d/httpd restartとやれば、高速化している(ハズ)。

携帯端末が欲しい

こんなどうしようもないサーバでもとりあえずサーバを管理しているので、どこからでもサーバを操作できるようにしたいと思うのは俺だけか?

できればssh接続が出来て端末になるような携帯電話ってないのかなぁ。そうすればちょっとした不具合なんて移動中でも対処できるし何かと便利なんだが。

今の携帯はそこそこ性能がいいから、JAVAとかで誰か作ってくれたら幸せ>他力本願な俺

あまりニーズが無いから無理か…しくしく

TextFormatプラグインとMT4i

TextFormatプラグイン「助六」がとっくの昔にV1.00になっていたんだが、前のままでも何ら不都合無いのでそのままにしていた俺。しかし、「助六」を使うとMT4iでべたになってしまうのが気になってはいた。

今日改めてMovableType用TextFormatプラグイン mt-sukeroku-plus.pl Ver.1.00公開を見てみると、なんだ、ちゃんとMT4iの対策が書いてあるじゃないか。よく読め>俺。

と言うことで、MT4iの修正と「助六」もV1.00にしてみた。いい感じだ。donadonaさん、ごっつあんです。

管理者失格だな

30日の4:33からダウンしてたのに全く気がつかなかった。気が付いたのは1日の夜中で、その時はもう家から遠く離れたところにいて対処できず3日の18:14までシステムが死んでた。システムごとぶっ飛んでいたのだけど、そういう事態は情けないことに想定していなかった。愚かじゃ。

システム自体がダウンしてしまえばどうしようもないのであるが、1日以上気が付かなかった愚かさは反省せねばなるまい。こんなエントリ書いておいて俺もこいつらと大差ないことを実証してしまったわけだな。

ダウンした原因は大体わかっておりその対策も施したのだが、おなじ状況にならなければ対策が正しいものであるかどうかはわからない。ADSLのリンク切れも多くなっているし、つながらない状況が長くならないよう対策しなくちゃダメだな。ミラーサーバでも置くか?