mod_perl + Catalystの設定

catalystに付属している簡易サーバーを使って開発していましたが、
mod_perlを使ってapacheと合体したのでメモ。

1.Apacheのインストール。既にできている場合でもmod_perlコンパイルには

apxsファイルが必須のためhttp-develをインストール

yum install httpd
yum install httpd-devel

2.mod_perl2.0のインストール

wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz
tar zxvf mod_perl-2.0-current.tar.gz
cd mod_perl-2.0.7/
perl Makefile.PL MP_APXS=/usr/sbin/apxs
※apacheのインストール場所を指定してもOKらしい。
perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2
make
make install

3.Catalyst::Engine::Apacheのインストール

perl -MCPAN -e 'install Catalyst::Engine::Apache'

4.httpd.confの設定

vim /etc/httpd/conf.d/perl.conf

#testAppというモジュールを/var/www/TestAppに作った場合
PerlSwitches -I/home/www/TestApp/lib
PerlSetEnv CATAL_DEBUG 0
PerlModule TestApp
<Location /test-app>   
SetHandler perl-script
PerlResponseHandler TestApp
</Location>                 

5.アクセス

apacheを再起動後、
http://server/test-app/
にアクセスする

http://server/perl-status/
現在読み込まれているモジュールなどmod_perlの状態を確認できる