意外とハマりました。
<VirtualHost *:80>
ServerName ホスト名
DocumentRoot プロジェクトフォルダのパス
SetHandler mod_python
<Location />
PythonPath “[‘プロジェクトフォルダのパスのひとつ上’] + sys.path”
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE プロジェクト名.settings
PythonDebug On
</Location>
</VirtualHost>
PythonPathがわかりにくいですよね。「hoge」というプロジェクトで「c:works」の下にあったとしたら、DocumentRootは「c:workshoge」で、PythonPathは「”[‘c:works’] + sys.path”」になります。SetEnv DJANGO_SETTINGS_MODULEは「hoge.settings」ですね。
PythonDebugは、本番環境ではもちろんOffにしてください。Apache起動時にアプリケーションをメモリ上にロードするため、PHPみたいにソース差し替えただけだと修正が反映されません。
/etc/rc.d/init.d/httpd restart
で、Apacheのリスタートが必要です。
「Apacheのリスタートなんてしたらセッション切れちゃうじゃないか」と思っていたのですが、セッションをファイルベースにしたら維持されてくれました。よかったよかった。
mod_python+Django、早いです。軽快です。mod_rails+RubyonRailsとはえらい違いです。mod_wsgiだともっと早いんだろうなぁ。。。