Movable Type を mod_perl 1.x で高速化する
Movable Type は、mod_perl の環境下、Apache::Registry または完全な mod_perl ハンドラとして実行できます。
Apache::Registry による高速化
mod_perl 下で実行するには Apache::Request と Apache::Cookie がインストールされている必要があります。これらのモジュールは、次のリンクからダウンロードできる libapreq 配布パッケージの一部です。
mod_perl2には対応していないため、Apacheのバージョンは1.x系である必要があります。
Apache::Registry 下で Movable Type を設定することは、Apache:: Registry 下で他の CGI スクリプトを設定する作業とほぼ変わりません。Apache の設定ファイル httpd.conf に以下の記述を加えます。例は /usr/local/apache/perl/mtにインストールした場合。
PerlModule Apache::Registry
<Location /usr/local/apache/perl/mt>
SetHandler perl-script
PerlHandler Apache::Registry
Options +ExecCGI
</Location>
mt-static ディレクトリは、StaticWebPath を指定して cgi ファイルとは別の場所に置く必要があります。
mod_perl ハンドラによる高速化
より高速な処理を望む場合は、Movable Type を mod_perl ハンドラとして実行できます。その際は、メインアプリケーション用のハンドラと、フロントエンドのコメント、トラックバック用などのハンドラ2つを設定する必要があります。
- Movable Type をインストールします。
- mt-static ディレクトリを、cgi ファイルとは別の場所に置きます。
- Apache の設定ファイル httpd.conf を編集します。
- mt-config.cgi を編集します。
Apache の設定ファイル httpd.conf を編集
/usr/local/apache/perl/mt にインストールした場合
<Perl>
use lib '/usr/local/apache/perl/mt/lib';
use lib '/usr/local/apache/perl/mt/extlib';
必要に応じて、プラグインの lib へのパスも追加設定します。
use lib '/usr/local/apache/perl/mt/plugins/StyleCatcher/lib';
use lib '/usr/local/apache/perl/mt/plugins/GoogleSearch/lib';
</Perl>
PerlModule MT::App::CMS
<Location /mt/app>
SetHandler perl-script
PerlHandler MT::App::CMS
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
PerlModule MT::App::Comments
<Location /mt/comments>
SetHandler perl-script
PerlHandler MT::App::Comments
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
PerlModule MT::App::Trackback
<Location /mt/trackback>
SetHandler perl-script
PerlHandler MT::App::Trackback
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
PerlModule MT::App::Search
<Location /mt/search>
SetHandler perl-script
PerlHandler MT::App::Search
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
PerlModule Apache::XMLRPC::Lite
PerlModule MT::XMLRPCServer
<Location /mt/xmlrpc>
SetHandler perl-script
PerlHandler Apache::XMLRPC::Lite
PerlSetVar dispatch_to "blogger, metaWeblog, mt"
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
PerlModule MT::AtomServer
<Location /mt/atom>
SetHandler perl-script
PerlHandler MT::AtomServer
PerlSetVar MTConfig /usr/local/apache/perl/mt/mt-config.cgi
</Location>
use lib の代わりに以下も使えます。
PerlSetEnv PERL5LIB /usr/local/apache/perl/mt/lib:/usr/local/apache/perl/mt/extlib
必要に応じて、プラグインの lib へのパスも設定します。
PerlSetEnv PERL5LIB /usr/local/apache/perl/mt/plugins/StyleCatcher/lib:/usr/local/apache/perl/mt/plugins/GoogleSearch/lib
mt-config.cgi の編集
mt-config.cgi の以下の項目を設定します。StaticWebPath は、手順2で mt-static ディレクトリをアップロードした URL と一致させてください。
CGIPath http://www.example.com/mt/
StaticWebPath http://www.example.com/mt-static/
AdminScript app
CommentScript comments
TrackbackScript trackback
SearchScript search
XMLRPCScript xmlrpc
AtomScript atom