« 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

コメント