mod_pythonを使って稼働させる
Introduction
このドキュメントは mod_python を使ってTurboGearsを稼働させる良い方法をあなたにお届けします。mod_pythonがインストールされ、 Apache が利用可能になっていることが前提となります。
セットアップと設定
Jamie Turner's mpcp スクリプトをインストールします:
sudo easy_install -Z mpcp
mod_python との互換性のために、 ProjectName?-start.py ファイルのハイフンを削除あるいは置換しなければなりません。ここではハイフンをアンダースコアに置換することにします:
mv ProjectName-start.py ProjectName_start.py
プロジェクトディレクトリに以下のような .htaccess ファイルを作成します:
SetHandler mod_python PythonHandler mpcp PythonDebug On PythonOption cherrysetup ProjectName_start::mp_setup
ProjectName?_start.py に以下の変更を加えます:
- 直接呼ばれた場合にのみCherryPyサーバを起動させるようにします:
if __name__ == "__main__":
cherrypy.server.start()
- mp_setup() メソッドを作成します:
def mp_setup():
'''
mpcp.py looks for this method for CherryPy configs but our *.cfg files handle that.
'''
pass
Apacheを再起動すればmod_pythonでTurboGearsを動かすことができるでしょう。
Linux Users
Linuxマシンで実行するにはもう少し作業が必要です。スタートスクリプトを編集してファイルパスを正しくする必要があります:
import pkg_resources
pkg_resources.require("TurboGears")
import cherrypy
from os.path import *
import sys
def mp_setup():
pass
if exists(join(dirname(__file__), "setup.py")):
cherrypy.config.update(file=join(dirname(__file__),"dev.cfg"))
else:
cherrypy.config.update(file=join(dirname(__file__),"prod.cfg"))
from ProjectName.controllers import Root
cherrypy.root = Root()

