mod_perl2を動かす

Leopard(Mac OS X 10.5)のApachemod_perlを有効にしていなかったので、今さらながら動かしてみた。Apacheのバージョンが2.2になっているので、mod_perl2を使うことになる。動作が違うかも。

httpd.conf の設定

/etc/apache2/httpd.conf に以下の行を追加するだけ。

LoadModule perl_module     libexec/apache2/mod_perl.so

perl-status を有効にしてみた。

<IfModule perl_module>
    <Location /perl-status>
        SetHandler  perl-script
        PerlHandler Apache2::Status
    </Location>
</IfModule>

/perl-status にアクセスすると、mod_perlがロードしたモジュールとかの情報が見れる。

動作の違い

以前 mod_perlから200以外のステータスコードを返す - koba::blog で書いた問題がなくなっています。これはおそらくApache2側の変更(Apacheがエラードキュメントを出さなくなった)。CGI.pmのheader()で-nph=>1を指定してもNPHにならないようなので、mod_perlか否か気にしない方が吉。