エントリを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とやれば、高速化している(ハズ)。