Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 4 ManualMovable Type 4 マニュアル

Movable Type を mod_perl 1.x で高速化する

最終更新日: 2009.05.29

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つを設定する必要があります。

  1. Movable Type をインストールします。
  2. mt-static ディレクトリを、cgi ファイルとは別の場所に置きます。
  3. Apache の設定ファイル httpd.conf を編集します。
  4. 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