« Apacheとmod_perlとCatalyst | メイン | 9月15日の行動 »
2005年09月14日
[技術] Apache2.0 + mod_perl2環境でCatalystアプリ実行
【覚書】
Catalystアプリをmod_perl環境で実行するためにApacheのhttpd.confの設定
とりあえず、Webサーバへのアクセスがmod_perlで処理されるようにするには以下のようにhttp.confに設定を追加もしくは書き換えする。(つまり、http://localhostにアクセスするとCatアプリが呼ばれる)
-------------------begin
DocumentRoot "/var/www/TR"
LoadModule perl_module modules/mod_perl.so
<IfModule mod_perl.c>
PerlSwitches -I/var/www/TR/lib
PerlLoadModule TR
<Location />
PerlSetEnv TR_DEBUG 0
SetHandler modperl
PerlResponseHandler TR
</Location>
</IfModule>
-------------------end
TRはCatalystのアプリ名
http://localhost/tr以下にアクセスしたときだけ、mod_perlで処理されるようにしたければ、httpd.confは以下のようにする。
-------------------begin
DocumentRoot "/var/www/html"
LoadModule perl_module modules/mod_perl.so
<IfModule mod_perl.c>
PerlSwitches -I/var/www/TR/lib
PerlLoadModule TR
<Location /tr>
PerlSetEnv TR_DEBUG 0
SetHandler perl-script
PerlResponseHandler TR
</Location>
</IfModule>
-------------------end
Documentルートが、/var/www/htmlになったので、CatアプリのTRは、/var/www/html/TRに置く。
ただし、Cat内でのサブルーチン内で別のサブルーチンにredirectするときは、'/hogehoge'ではなくて、'hogehoge'としておかければならない。
※LoadModule perl_module modules/mod_perl.so すでに取り込まれている場合はなくてもよいかも、あってもスキップされるだけなので問題ない。
投稿者 nekobara : 2005年09月14日 16:17
トラックバック
このエントリーのトラックバックURL:
http://www.ishihara.ne.jp/mt/mt-tb.cgi/585