Apache2 + mod_pythonでDjangoアプリを動かす

DjangoアプリをLinuxサーバ上で動かすテストを行う。これまでなんとかMacサーバでは動かすことができたので、今度はLinuxでの設定手順を確認する。

環境

Djangoのインストール

yumで探しても見つからず。ソースをダウンロードする。
Django-1.2.4.tar.gzを持ってきて、setup.py installとする。/usr/lib/python2.4/site-packages/django/にインストールされた。

httpd.confファイルに追記

/etc/httpd/conf/httpd.confファイルに、mod_pythonを使うための設定を追記。

...
LoadModule python_module modules/mod_python.so
...
<Location "/test/">
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  PythonOption django.root /test
  PythonPath "['/home/hoge/Django', '/home/hoge/Django/myproj', '/home/hoge/Django/myproj/myapp', '/usr/lib/python2.4/site-packages/'] + sys.path"
  SetEnv DJANGO_SETTINGS_MODULE myproj.settings
  PythonDebug On
</Location>

Apacheの起動

CentOSで自宅サーバー構築を参考に。rootで、

# /etc/rc.d/init.d/httpd start

を実行すると起動する。以下のメッセージが表示される。

httpd を起動中: [Tue Jan 18 16:15:08 2011] 
[warn] module python_module is already loaded, skipping

mod_pythonのLoadModule設定は必要なかったかな?warningなのでこのままで。ブラウザで接続してみると、Apache2のテストページが表示される。次に、http://(ホスト名)/test/に接続してみる。すると、

Mod_python error:
...
ImportError: Could not import settings 'myapp.settings'

となる。settings.pyファイルが読めていない。permissionの問題はないように、既にchmodしてある。置き場所が問題か?