Version 2 (modified by 19 years ago) (diff) | ,
---|
Trac と mod_python
Trac 0.7.1以降のバージョンではmod_pythonがサポートされています。mod_pythonはTracのレスポンスタイムを飛躍的に向上し、tracd/mod_proxyでは使用できない多くのApache機能を使えるようにします。
シンプルなコンフィギュレーション
標準的なTrac CGI/Apacheのセットアップは次のようになっています:
ScriptAlias /projects/myproject /path/to/python/share/trac/cgi-bin/trac.cgi <Location /projects/myproject> SetEnv TRAC_ENV /var/trac/myproject </Location>
上記に対応するmod_pythonのセットアップは次のようになります:
<Location /projects/myproject> SetHandler mod_python PythonHandler trac.ModPythonHandler PythonOption TracUriRoot "/projects/myproject" PythonOption TracEnv /var/trac/myproject </Location>
TracUriRoot?オプションは不要な場合もありますのでご注意ください。まずはTracUriRoot?オプションを付けずに試し、Tracが正しくURLを生成できないようであれば追加するようにしてください。
マルチプロジェクトのセットアップ
Tracのmod_pythonハンドラはサブバージョンの SvnParentPath
とよく似た TracEnvParentDir
というコンフィギュレーションオプションをサポートしています。
<Location /projects> SetHandler mod_python PythonHandler trac.ModPythonHandler PythonOption TracUriRoot /projects PythonOption TracEnvParentDir "/var/trac" </LocationMatch>
/projects
のURLをリクエストすると、TracEnvParentDir
として設定したディレクトリ配下のサブディレクトリ一覧(現行では非常にシンプルな)が表示されます。その一覧から何かプロジェクトを選択するとそれに該当するTracのインスタンスを開くことができます。設定したディレクトリの配下には必ず現在インストールされているバージョンにマッチするTrac Environmentのディレクトリのみが置かれているようにしてください。プロジェクトリストの生成前にはそのようなチェックがかからないからです。
ユーザ認証の追加
ユーザ認証の追加はどちらの場合も簡単です。次に例を示します:
<LocationMatch /projects/[[:alnum:]]+/login> AuthType Basic AuthName "Trac" AuthUserFile /var/www/passwd Require valid-user </LocationMatch>
Win32 Issues
Windows 上で mod_python から Trac を使用すると、ファイル添付機能が使用できません。
これについては(簡単な)回避策があります。 ticket#554に添付されているパッチを適用してください。