| v2 | v3 | |
|---|---|---|
| 6 | 6 | 以下の説明は Apache2 のためのものです; まだ Apache1.3 を使用しているなら、 [http://trac.edgewall.org/wiki/TracModPython2.7 TracModPython2.7] にいくつか情報があります。 |
| 7 | 7 | |
| 8 | == 警告 == #AWordofWarning | |
| 9 | ||
| 10 | 2010 年 6 月 16 日に、 mod_python プロジェクトが正式に終了しました。もし mod_python を新しいインストールで使用することを考えているならば、 '''お願いだからしないで下さい'''! 解決されない既知の課題がありますし、今ではより良い代替手段もあります。詳細については、インストールしようとしているバージョンの TracInstall ページをチェックして下さい。 | |
| 11 | ||
| 8 | 12 | == シンプルなコンフィグレーション == #Simpleconfiguration |
| 9 | 13 | |
| … | … | |
| 21 | 25 | (Debian の続き) mod_python をインストールした後に、apache2 (上の Load Module に相当するもの) のモジュールを有効にしなければなりません : |
| 22 | 26 | {{{ |
| 23 | a2enmod |
|
| 27 | a2enmod python | |
| 24 | 28 | }}} |
| 25 | 29 | Fedora で yum を使用する場合: |
| … | … | |
| 34 | 38 | PythonInterpreter main_interpreter |
| 35 | 39 | PythonHandler mod_python.testhandler |
| 40 | Order allow,deny | |
| 41 | Allow from all | |
| 36 | 42 | </Location> |
| 37 | 43 | }}} |
| … | … | |
| 46 | 52 | PythonOption TracEnv /var/trac/myproject |
| 47 | 53 | PythonOption TracUriRoot /projects/myproject |
| 54 | Order allow,deny | |
| 55 | Allow from all | |
| 48 | 56 | </Location> |
| 49 | 57 | }}} |
| … | … | |
| 74 | 82 | }}} |
| 75 | 83 | |
| 84 | または Genshi の egg を解凍して展開することで、この問題を回避できます。 | |
| 76 | 85 | === 認証設定 === #ConfiguringAuthentication |
| 77 | 86 | |
| … | … | |
| 149 | 158 | |
| 150 | 159 | |
| 160 | === Python Egg Cache を設定する === #SettingthePythonEggCache | |
| 161 | ||
| 162 | Web サーバが Egg Cache に書き込みできない場合、パーミッションを変更するか、 Apache が書き込み可能な場所を指定する必要があります。設定しないと ''500 Internal Server Error'' や syslog へのエラー出力が発生します。 | |
| 163 | ||
| 164 | {{{ | |
| 165 | #!xml | |
| 166 | <Location /projects/myproject> | |
| 167 | ... | |
| 168 | PythonOption PYTHON_EGG_CACHE /tmp | |
| 169 | ... | |
| 170 | </Location> | |
| 171 | }}} | |
| 172 | ||
| 151 | 173 | |
| 152 | 174 | === !PythonPath を設定する === #SettingthePythonPath |
| … | … | |
| 228 | 250 | * `<Location>` の代わりに `<LocationMatch>` を使用する。 |
| 229 | 251 | * <Location /> はサーバの設定によっては、単にサーバのルートではなく完全なホスト名を参照していることがあります。このような場合、 (上記の例では下段にあたるログイン用ディレクトリを含む) 全てのリクエストが Python に送信され、認証が動かなくなります (認証を行おうとすると、認証が設定されていないというエラー画面が表示されます)。 URL を変更できるのであれば (/, /login の代わりに /web/, /web/login などのように) ルートではなくサブディレクトリを使ってみてください。 |
| 252 | * Apache の `NameVirtualHost` を設定している場合、 `<VirtualHost *>` ではなく `<VirtualHost *:80>` を使用せねばならないかもしれません。 | |
| 230 | 253 | |
| 231 | 254 | 複数のプロジェクトをサポートする仮想ホストの設定では、 "`TracEnv`" /var/trac/myproject を "`TracEnvParentDir`" /var/trac/ に置き換えて下さい。 |
| … | … | |
| 263 | 286 | |
| 264 | 287 | <Location /> で `SetHandler` を使用すると、すべてを mod_python でハンドルすることになりますが、いかなる CSS も image/icons もダウンロードできなくなります。この問題を回避するために、われわれは <Location /trac> で `SetHandler None` を使用しています。しかし、この方法がエレガントな解決方法だとは思っていません。 |
| 288 | ||
| 289 | === Zip された egg での問題 === #Problemwithzippedegg | |
| 290 | ||
| 291 | mod_python のバージョンによっては Zip された egg ファイルからモジュールを import できないことがあります。 Apache のログに `ImportError: No module named trac` が出力される場合、問題が発生している原因であると考えられます。 Python の site-packages ディレクトリを見てみてください; Trac のモジュールが ''ディレクトリ'' ではなく ''ファイル'' として配置されている場合、問題の原因と考えられます。解決するためには、下記の上に `--always-unzip` オプションと伴に Trac をインストールしてみてください。 | |
| 292 | ||
| 293 | {{{ | |
| 294 | easy_install --always-unzip Trac-0.12.zip | |
| 295 | }}} | |
| 265 | 296 | |
| 266 | 297 | === .htaccess ファイルを使用する === #Using.htaccess |
| … | … | |
| 284 | 315 | }}} |
| 285 | 316 | |
| 286 | ||
| 317 | `TracUriRoot` は Web ブラウザが取得する Trac のパスを明示的に設定するのに使用します。 (例: domain.tld/projects/trac) | |
| 287 | 318 | |
| 288 | 319 | === .htaccess 使用時の特記事項 === #Additional.htaccesshelp |
| … | … | |
| 314 | 345 | }}} |
| 315 | 346 | |
| 316 | [ |
|
| 347 | [http://subversion.tigris.org/faq.html#reposperms] も参考にして下さい | |
| 317 | 348 | |
| 318 | 349 | === FreeBSD での特記 === #FreeBSDissues |
| … | … | |
| 320 | 351 | |
| 321 | 352 | apache2 を普通にコンパイルしてインストールした場合、 apache はスレッドのサポートなしになります (これが FreeBSD 上であまりよく動かない原因)。 --enable-threads を使用して ./configure を実行することで apache にスレッドのサポートありにすることができますが、これはお勧めできません。 |
| 322 | 最良のオプションは /usr/local/apache2/bin/ennvars に下記の一行を追加することだと |
|
| 353 | 最良のオプションは /usr/local/apache2/bin/ennvars に下記の一行を追加することだと [http://modpython.org/pipermail/mod_python/2006-September/021983.html 考えられます。] | |
| 323 | 354 | |
| 324 | 355 | {{{ |
| … | … | |
| 350 | 381 | |
| 351 | 382 | Note: 上記のコンフィグが効果を発揮するためには、プロジェクトの root 位置のコンフィグ後に追加しなければなりません。つまり {{{<Location /myproject />}}} 以降です。 |
| 383 | ||
| 384 | また `PythonOptimize On` が設定されている場合、ページのヘッダとフッタの表示が乱れたり、マクロやプラグインのドキュメンテーションが表示されないことがあります ([http://trac.edgewall.org/ticket/8956 #8956] 参照)。オプションの設定によって影響を受ける箇所について充分考慮できない場合は `Off` に設定する方がよいでしょう。 | |
| 352 | 385 | |
| 353 | 386 | === HTTPS の問題 === #HTTPSissues |
| … | … | |
| 369 | 402 | |
| 370 | 403 | === php5-mhash または その他の php5 モジュールのセグメンテーションフォルト === #Segmentationfaultwithphp5-mhashorotherphp5modules |
| 371 | php5-mhash モジュールがインストールされている場合、 (debian etch について報告された) セグメンテーションフォルトに遭遇するでしょう。 php-mhash を削除して、問題が解決するかを確かめてみてください。 debian のバグレポート [ |
|
| 372 | ||
| 373 | システムライブラリの代わりに、サードパーティのライブラリでコンパイルされた php5 を使用する一部の人々にもトラブルが発生します。ここを確認してください [ |
|
| 404 | php5-mhash モジュールがインストールされている場合、 (debian etch について報告された) セグメンテーションフォルトに遭遇するでしょう。 php-mhash を削除して、問題が解決するかを確かめてみてください。 debian のバグレポート [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411487] を参考にして下さい。 | |
| 405 | ||
| 406 | システムライブラリの代わりに、サードパーティのライブラリでコンパイルされた php5 を使用する一部の人々にもトラブルが発生します。ここを確認してください [http://www.djangoproject.com/documentation/modpython/#if-you-get-a-segmentation-fault] | |
| 374 | 407 | |
| 375 | 408 | ---- |
| 376 | See also: TracGuide, TracInstall, [wiki:TracModWSGI ModWSGI], [wiki:TracFastCgi FastCGI], |
|
| 409 | See also: TracGuide, TracInstall, [wiki:TracModWSGI ModWSGI], [wiki:TracFastCgi FastCGI], [http://trac.edgewall.org/wiki/TracNginxRecipe TracNginxRecipe] |