mod_perlとcatalystでハマったpert4
catalystをmod_perlで処理する場合、apacheがcatalystアプリにアクセルできるようにしとかなければならない。
以下http://wata-jp.ldblog.jp/archives/1616964.htmlの続きの設定
$ sudo vi /usr/local/httpd/conf/extra/perl.conf PerlSwitches -I "/var/www/Sn/lib" PerlSetEnv SN_DEBUG 0 PerlModule MyApp <Location /> SetHandler modperl PerlResponseHandler MyApp </Location> Alias /src /var/www/MyApp/root/src <Directory /var/www/MyApp/root/src> allow from all </Directory> <Location /src> SetHandler None </Location>
として/var/www以下にMyApp(Catalystアプリ)を置いて、apacheに見てもらえるようにする。しかし、
error_log トップページにアクセスすると [error] Couldn't render template "index: file error - index: not found" cssやimageを置いてる場所にアクセスすると(host/src) 13)Permission denied: access to /src denied
というえらーがでた。テンプレートが見つからないといってるのだが、確かにある。
解決方法は/var/wwwにapacheがアクセスできるようにパーミションを755に、MyAppはapacheと同じユーザーにしましょうということです。
chmod 755 /var/www #700になってること多し chgrp -R apacheユーザー /var/www/MyApp chown -R apacheユーザー /var/www/MyApp
で解決。いやー時間かかった。