Changes between Version 1 and Version 2 of TracModPython


Ignore:
Timestamp:
2009/10/03 12:40:44 (14 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracModPython

    v1 v2  
    1 = Trac と mod_python = 
     1= Trac と mod_python = #Tracandmod_python 
    22[[TracGuideToc]] 
    33 
    44Trac では [http://www.modpython.org/ mod_python] を利用可能です。 [http://www.modpython.org/ mod_python] は Trac のレスポンスタイムを飛躍的に向上し、特に [TracCgi CGI] と比べて、 [wiki:TracStandalone tracd]/mod_proxy では使用できない多くの Apache 機能を使えるようにします。 
    55 
    6 == シンプルなコンフィグレーション == 
    7  
    8 もし mod_python をインストールしたならば、 Apache の設定ファイルに以下の一行を追加してモジュールをロードしなければなりません: 
     6以下の説明は Apache2 のためのものです; まだ Apache1.3 を使用しているなら、 [http://trac.edgewall.org/wiki/TracModPython2.7 TracModPython2.7] にいくつか情報があります。 
     7 
     8== シンプルなコンフィグレーション == #Simpleconfiguration 
     9 
     10mod_python をインストールしたら、 Apache の設定ファイルに以下の一行を追加してモジュールをロードしなければなりません: 
    911{{{ 
    1012LoadModule python_module modules/mod_python.so 
    1113}}} 
    1214 
    13  ''Note: モジュールがインストールされている正しいパスは HTTPD をどこにインストールしたかによって変わります。'' 
    14  
    15 httpd.conf に以下の記述を追加してmod_python が正しくインストールされているかどうかを確かめることができます。セキュリティ上の理由で、この記述はテストが終了したら削除すべきです。 
    16 {{{ 
     15''Note: モジュールがインストールされている正しいパスは HTTPD をどこにインストールしたかによって変わります。'' 
     16 
     17Debian で apt-get を使用する場合 
     18{{{ 
     19apt-get install libapache2-mod-python libapache2-mod-python-doc 
     20}}} 
     21(Debian の続き) mod_python をインストールした後に、apache2 (上の Load Module に相当するもの) のモジュールを有効にしなければなりません : 
     22{{{ 
     23a2enmod mod_python 
     24}}} 
     25Fedora で yum を使用する場合: 
     26{{{ 
     27yum install mod_python 
     28}}} 
     29httpd.conf に以下を加えることで、 mod_python がインストールされたかテストすることができます。セキュリティ上の理由から、テストが終わった時点で以下のコンフィグは削除するべきです。 Note: mod_python.testhandler は mod_python 3.2+ で利用可能です。 
     30{{{ 
     31#!xml 
    1732<Location /mpinfo> 
    1833   SetHandler mod_python 
     34   PythonInterpreter main_interpreter 
    1935   PythonHandler mod_python.testhandler 
    2036</Location> 
     
    2339mod_python を使用した簡単な Trac のセットアップ方法は以下のようになります: 
    2440{{{ 
     41#!xml 
    2542<Location /projects/myproject> 
    2643   SetHandler mod_python 
     44   PythonInterpreter main_interpreter 
    2745   PythonHandler trac.web.modpython_frontend  
    2846   PythonOption TracEnv /var/trac/myproject 
     
    3149}}} 
    3250 
    33 '''`TracUriRoot`''' オプションは不要な場合もあります。 `TracUriRoot` オプションを付けずに試し、 Trac が正しく URL を生成できないようであれば '''`TracUriRoot`''' を追加して下さい。 `Location` と '''`TracUriRoot`''' が同じパスになることに気づくでしょう。 
    34  
    35 === 認証設定 === 
    36  
    37 認証の設定は [wiki:TracCgi#認証を追加する CGI] と同じです: 
    38 {{{ 
    39 <Location "/projects/myproject/login"> 
     51'''`TracUriRoot`''' オプションは不要な場合もあります。 `TracUriRoot` オプションを付けずに試し、 Trac が正しく URL を生成できないか、 "No handler matched request to..." というエラーが出るようであれば '''`TracUriRoot`''' を追加して下さい。 `Location` と '''`TracUriRoot`''' が同じパスになるようにしてください。 
     52 
     53!PythonOption の一覧は以下の通りです。 
     54{{{ 
     55    # For a single project 
     56    PythonOption TracEnv /var/trac/myproject 
     57    # For multiple projects 
     58    PythonOption TracEnvParentDir /var/trac/myprojects 
     59    # For the index of multiple projects 
     60    PythonOption TracEnvIndexTemplate /srv/www/htdocs/trac/project_list_template.html 
     61    # A space delimitted list, with a "," between key and value pairs. 
     62    PythonOption TracTemplateVars key1,val1 key2,val2 
     63    # Useful to get the date in the wanted order 
     64    PythonOption TracLocale en_GB.UTF8 
     65    # See description above         
     66    PythonOption TracUriRoot /projects/myproject 
     67}}} 
     68 
     69=== Python Egg Cache === #PythonEggCache 
     70 
     71Genshi のように圧縮された Python egg は通常、実行するユーザのホームディレクトリ配下の `.python-eggs` ディレクトリに展開されます。  Apache のホームディレクトリは多くの場合、書き込みできないようになっているので、他のディレクトリを egg cache として指定しなければなりません: 
     72{{{ 
     73PythonOption PYTHON_EGG_CACHE /var/trac/myprojects/egg-cache 
     74}}} 
     75 
     76=== 認証設定 === #ConfiguringAuthentication 
     77 
     78パスワードファイルを作成して、認証を構成するには [wiki:TracCgi#AddingAuthentication CGI] と同じように行います。 
     79{{{ 
     80#!xml 
     81<Location /projects/myproject/login> 
    4082  AuthType Basic 
    4183  AuthName "myproject" 
     
    4587}}} 
    4688 
    47 === !PythonPath を設定する === 
    48  
    49 もし Trac のインストールが、通常の Python ライブラリのパスの中に無い場合、 Apache が Trac の mod_python ハンドルを見つけられるように `PythonPath` ディレクティブで指定しなければなりません: 
    50 {{{ 
     89Apache の mod_ldap 認証のコンフィグは少し扱いにくいです。(httpd 2.2.x と OpenLDAP: slapd 2.3.19) 
     90 
     911. Apache の httpd.conf に以下のモジュールをロードする必要があります 
     92{{{ 
     93LoadModule ldap_module modules/mod_ldap.so 
     94LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 
     95}}} 
     96 
     972. httpd.conf は以下のような感じになります: 
     98 
     99{{{ 
     100#!xml 
     101<Location /trac/> 
     102  SetHandler mod_python 
     103  PythonInterpreter main_interpreter 
     104  PythonHandler trac.web.modpython_frontend 
     105  PythonOption TracEnv /home/trac/ 
     106  PythonOption TracUriRoot /trac/ 
     107  Order deny,allow 
     108  Deny from all 
     109  Allow from 192.168.11.0/24 
     110  AuthType Basic 
     111  AuthName "Trac" 
     112  AuthBasicProvider "ldap" 
     113  AuthLDAPURL "ldap://127.0.0.1/dc=example,dc=co,dc=ke?uid?sub?(objectClass=inetOrgPerson)" 
     114  authzldapauthoritative Off 
     115  require valid-user 
     116</Location> 
     117}}} 
     118 
     119Microsoft Active Directory の LDAP インタフェースを使用する場合: 
     120 
     121{{{ 
     122#!xml 
     123<Location /trac/> 
     124  SetHandler mod_python 
     125  PythonInterpreter main_interpreter 
     126  PythonHandler trac.web.modpython_frontend 
     127  PythonOption TracEnv /home/trac/ 
     128  PythonOption TracUriRoot /trac/ 
     129  Order deny,allow 
     130  Deny from all 
     131  Allow from 192.168.11.0/24 
     132  AuthType Basic 
     133  AuthName "Trac" 
     134  AuthBasicProvider "ldap" 
     135  AuthLDAPURL "ldap://adserver.company.com:3268/DC=company,DC=com?sAMAccountName?sub?(objectClass=user)" 
     136  AuthLDAPBindDN       ldap-auth-user@company.com 
     137  AuthLDAPBindPassword "the_password" 
     138  authzldapauthoritative Off 
     139  # require valid-user 
     140  require ldap-group CN=Trac Users,CN=Users,DC=company,DC=com 
     141</Location> 
     142}}} 
     143 
     144Note 1: このケースでは LDAP 検索で複数の OU をまとめて取得するために、 AD のグローバルカタログサーバ (Global Catalog Server) に接続しています (ポート番号が通常 LDAP で使用される 389 ではなく 3268 であることに注意してください) 。 GCS は基本的に "平らな" ツリーであり、ユーザが、どの OU に属するか不明な場合でも検索することができます。 
     145 
     146Note 2: Active Directory は、レコードにアクセスするために user/password (AuthLDAPBindDN と AuthLDAPBindPassword) による認証を必要とします。 (訳注: GC ではなく、通常の LDAP であれば Active Directory の ACL に認証なしユーザからの読み取り許可を設定すれば不要です) 
     147 
     148Note 3: "require ldap-group ..." ディレクティブはメンバのアクセスが許可されている AD のグループを指定します。 
     149 
     150 
     151 
     152=== !PythonPath を設定する === #SettingthePythonPath 
     153 
     154もし Trac のインストールが、通常の Python ライブラリのパスの中に無い場合、 Apache が Trac の mod_python ハンドラを見つけられるように `PythonPath` ディレクティブで指定しなければなりません: 
     155{{{ 
     156#!xml 
    51157<Location /projects/myproject> 
    52158  ... 
     
    56162}}} 
    57163 
    58 !PythonPath ディレクティブを使用するときは気をつけてください。そして、 `SetEnv PYTHONPATH` は動かないので使用しないで下さい。 
    59  
    60 == マルチプロジェクトのセットアップ == 
     164!PythonPath ディレクティブを使用するときは気をつけてください。そして、 `SetEnv PYTHONPATH` は動かないので ''使用しない'' で下さい。 
     165 
     166== マルチプロジェクトのセットアップ == #Settingupmultipleprojects 
    61167 
    62168Trac の mod_python ハンドラには Subversion の `SvnParentPath` とよく似た `TracEnvParentDir` というコンフィグレーションオプションがあります。 
    63169{{{ 
     170#!xml 
    64171<Location /projects> 
    65172  SetHandler mod_python 
     173  PythonInterpreter main_interpreter 
    66174  PythonHandler trac.web.modpython_frontend  
    67175  PythonOption TracEnvParentDir /var/trac 
     
    72180`/projects` の URL をリクエストすると、 TracEnvironment の親ディレクトリ `TracEnvParentDir` として設定したディレクトリ配下のサブディレクトリ一覧が表示されます。その一覧から何かプロジェクトを選択するとそれに該当する TracEnvironment を開くことができます。 
    73181 
    74 あなたのプロジェクトのホームページとして、サブディレクトリのリストが必要ないならば、以下のようにすることができます。 
    75 {{{ 
     182あなたのプロジェクトのホームページとして、サブディレクトリのリストが必要ないならば、以下のようにすることができます 
     183{{{ 
     184#!xml 
    76185<LocationMatch "/.+/"> 
    77186}}} 
    78187 
    79 これは Apache に mod_python を使用するために !DocumentRoot フォルダの代わりのロケーションを使用することを教えます。 
     188これは !DocumentRoot フォルダの直下にカスタムホームページとして配置されていない場合には、すべてのロケーションで代わりに mod_python を使用することを Apache に教えます。 
    80189 
    81190すべてのプロジェクトに対して、 `<LocationMatch>` ディレクティブを使用することによって同じ認証の仕組みを使用することができます。 
    82191{{{ 
     192#!xml 
    83193<LocationMatch "/projects/[^/]+/login"> 
    84194  AuthType Basic 
     
    89199}}} 
    90200 
    91 == 仮想ホストの設定 == 
     201== 仮想ホストの設定 == #VirtualHostConfiguration 
    92202 
    93203以下に示す例は Trac を仮想サーバーとしてセットアップするときに必要な設定です。 (例えば、!http://trac.mycompany.com といった 
     
    95205 
    96206{{{ 
     207#!xml 
    97208<VirtualHost * > 
    98     DocumentRoot /var/trac/myproject 
     209    DocumentRoot /var/www/myproject 
    99210    ServerName trac.mycompany.com 
    100211    <Location /> 
    101212        SetHandler mod_python 
     213        PythonInterpreter main_interpreter 
    102214        PythonHandler trac.web.modpython_frontend 
    103215        PythonOption TracEnv /var/trac/myproject 
     
    113225}}} 
    114226 
     227この設定は全てのケースでうまく動くわけではありません。動かない場合は以下を試してください: 
     228 * `<Location>` の代わりに `<LocationMatch>` を使用する。 
     229 * <Location />  はサーバの設定によっては、単にサーバのルートではなく完全なホスト名を参照していることがあります。このような場合、 (上記の例では下段にあたるログイン用ディレクトリを含む) 全てのリクエストが Python に送信され、認証が動かなくなります (認証を行おうとすると、認証が設定されていないというエラー画面が表示されます)。 URL を変更できるのであれば (/, /login の代わりに /web/, /web/login などのように) ルートではなくサブディレクトリを使ってみてください。 
     230 
    115231複数のプロジェクトをサポートする仮想ホストの設定では、 "`TracEnv`" /var/trac/myproject を "`TracEnvParentDir`" /var/trac/ に置き換えて下さい。 
    116232 
    117 == トラブルシューティング == 
    118  
    119 サーバエラーのページがでたときには、 まずはApache のエラーログを確認するか、 `PythonDebug` オプションを有効にして下さい: 
    120 {{{ 
     233Note: !DocumentRoot は TracEnvironment と同じディレクトリにしないでください。 何かのバグがあった場合に TracEnvironment の内容が外部からアクセス可能になってしまうおそれがあります。 
     234 
     235== トラブルシューティング == #Troubleshooting 
     236 
     237サーバエラーのページがでたときには、 まずは Apache のエラーログを確認するか、 `PythonDebug` オプションを有効にして下さい: 
     238{{{ 
     239#!xml 
    121240<Location /projects/myproject> 
    122241  ... 
     
    125244}}} 
    126245 
    127 === フォームを送信するときの問題 === 
    128  
    129 もし、 Trac で何かしらのフォームを送信したときに、トラブルに見舞われたら(よくある問題として、送信後にスタートページにリダイレクトされてしまうという問題があります)、 {{{DocumentRoot}}} の中に mod_python をマッピングしたパスと同じフォルダやファイルが存在しないか確認してください。どういうわけか、 mod_python は静的リソースと同じところにマッピングされると混乱してしまいます。 
    130  
    131 === 仮想ホストの設定においての問題 === 
    132  
    133 もし <Location /> ディレクティブが使用されているとき、 `DocumentRoot` を設定すると ''403 (Forbidden)'' エラーになるでしょう。 `DocumentRoot` ディレクティブを削除するか、アクセスが許されているディレクトリに設定されているかどうかを確認して下さい (対応する `<Directory>` ブロックにて) 
    134  
    135 <Location /> で `SetHandler` を使用すると、すべてを mod_python でハンドルすることになりますが、いかなる CSS も image/icons もダウンロードできなくなります。この問題を回避するために、 <Location /trac> で `SetHandler None` を使用しています。しかし、この方法がエレガントな解決方法だとは思っていません。 
    136  
    137 === .htaccess ファイルを使用する === 
    138  
    139 ディレクトリの設定をほんのちょっと修正するには `.htaccess` ファイルを使用すればいいかもしれませんが、これは動作しません。 Apache が Trac URL に "/" (スラッシュ) を追加すると、正しい動作を妨げてしまいます。 
    140  
    141 それでは、 mod_rewrite を使用すればいいように見えますが、これも動作しません。とにかく、百害あって一理なしです。指示に従ってください。:) 
    142  
    143 === Win32 での特記 === 
    144 Windows 上で mod_python 3.2 より前のバージョンで Trac を動かしている場合、 添付ファイルのアップロードが '''動かない''' でしょう。この問題は 3.1.4 以降で解決されました。 mod_python をアップグレードしてこの問題を解決してください。 
    145  
    146 === OS X での特記 === 
     246複数プロジェクトの場合は、全てのプロジェクトでサーバを再起動してみてください。 
     247 
     248=== Expat-related のセグメンテーションフォルト === #expat 
     249 
     250この問題は Unix 上で Python 2.4 を使用するとき、ほぼ確実に発生します。 
     251Python 2.4 の使用する Expat (C で書かれた XML パーザライブラリ) と Apache の使用する Expat のバージョンが異なる場合に、セグメンテーションフォルトが発生します。 
     252Trac 0.11 は Genshi (間接的に Expat が使用される) を使用しているため、以前 Trac 0.10 で正常に動いていたとしても、現在のあなたの環境で問題が起こり得ます。 
     253 
     254Graham Dumpleton が、この問題について詳しく書いています。問題の [http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash 説明と回避方法] を確認してください。 
     255 
     256=== フォームを送信するときの問題 === #Formsubmissionproblems 
     257 
     258もし、 Trac で何かしらのフォームを送信したときに、トラブルに見舞われたら (送信後にスタートページにリダイレクトされてしまう、などがよくある問題です)  {{{DocumentRoot}}} の中に mod_python をマッピングしたパスと同じフォルダやファイルが存在しないか確認してください。どういうわけか、 mod_python は静的リソースと同じところにマッピングされると混乱してしまいます。 
     259 
     260=== 仮想ホストの設定においての問題 === #Problemwithvirtualhostconfiguration 
     261 
     262<Location /> ディレクティブが使用されている場合に `DocumentRoot` を設定すると ''403 (Forbidden)'' エラーになることがあります。 `DocumentRoot` ディレクティブを削除するか、アクセスが許されているディレクトリに設定されているかどうかを確認して下さい (対応する `<Directory>` ブロックにて) 
     263 
     264<Location /> で `SetHandler` を使用すると、すべてを mod_python でハンドルすることになりますが、いかなる CSS も image/icons もダウンロードできなくなります。この問題を回避するために、われわれは <Location /trac> で `SetHandler None` を使用しています。しかし、この方法がエレガントな解決方法だとは思っていません。 
     265 
     266=== .htaccess ファイルを使用する === #Using.htaccess 
     267 
     268ディレクトリの設定をほんのちょっと修正するには `.htaccess` ファイルを使用すればいいかもしれませんが、これは動作しません。 Apache が Trac の URL に "/" (スラッシュ) を追加すると、正しい動作を妨げてしまいます。 
     269 
     270それでは、 mod_rewrite を使用すればいいように見えますが、これも動作しません。とにかく、百害あって一利なしです。指示に従ってください。 :) 
     271 
     272成功した事例:  以下の設定値で成功した事例があります: 
     273{{{ 
     274SetHandler mod_python 
     275PythonInterpreter main_interpreter 
     276PythonHandler trac.web.modpython_frontend  
     277PythonOption TracEnv /system/path/to/this/directory 
     278PythonOption TracUriRoot /path/on/apache 
     279 
     280AuthType Basic 
     281AuthName "ProjectName" 
     282AuthUserFile /path/to/.htpasswd 
     283Require valid-user 
     284}}} 
     285 
     286!TracUriRoot は Web ブラウザが取得する Trac のパスを明示的に設定するのに使用します。 (例: domain.tld/projects/trac) 
     287 
     288=== .htaccess 使用時の特記事項 === #Additional.htaccesshelp 
     289 
     290.htaccess を使用している場合、 Trac のディレクトリが他のディレクトリで設定されたた .htaccess ディレクティブを継承し、問題を生じることがあります。このような場合、以下のように .htaccess ファイルに設定してみて下さい: 
     291 
     292{{{ 
     293<IfModule mod_rewrite.c> 
     294  RewriteEngine Off 
     295</IfModule> 
     296}}} 
     297 
     298 
     299=== Win32 での特記 === #Win32Issues 
     300Windows 上で mod_python 3.2 より前のバージョンで Trac を動かしている場合、添付ファイルのアップロードが '''動かない''' でしょう。この問題は 3.1.4 以降で解決されました。 mod_python をアップグレードしてこの問題を解決してください。 
     301 
     302 
     303=== OS X での特記 === #OSXissues 
    147304 
    148305OS X で mod_python を使用するとき、 `apachectl restart` コマンドで Apache の再起動ができないでしょう。これは、 mod_python 3.2 でおそらく修正されるでしょう。しかし、 [http://www.dscpl.com.au/projects/vampire/patches.html ここ] にあるパッチを適用すれば、 3.2 以前のバージョンでもこの問題を回避できます。 
    149306 
    150 === SELinux での特記 === 
    151  
    152 もし、 Trac が ''Cannot get shared lock on db.lock'' というようなメッセージが出力されたら、 
     307=== SELinux での特記 === #SELinuxissues 
     308 
     309もし、 Trac が ''Cannot get shared lock on db.lock'' というようなメッセージが出力たら、 
    153310リポジトリに セキュリティコンテキストを設定する必要があるでしょう: 
    154311 
     
    157314}}} 
    158315 
    159 See also [[http://subversion.tigris.org/faq.html#reposperms]] 
    160  
    161 === FreeBSD での特記 === 
     316[[http://subversion.tigris.org/faq.html#reposperms]] も参考にして下さい 
     317 
     318=== FreeBSD での特記 === #FreeBSDissues 
    162319mod_python と sqlite パッケージのインストールバージョンに注意して下さい。 Ports には両パッケージともいろいろなバージョンがありますが、初期の pysqlite と mod_python は組み合わせることができません。前者は python のスレッド機能サポートが必要ですし、 後者 は python のスレッド機能なしのインストールが必要です。 
    163320 
    164 === Subversion での特記 === 
    165  
    166 Trac でコマンドライン、 TracStandalone で使用しているときは動くのに、 mod_python を使用しているときのみ、 `Unsupported version control system "svn"` というエラーが出力される場合、 [wiki:"TracModPython#PythonPathを設定する" PythonPath] ディレクティブに Python bindings へのパスを追加するのを忘れている可能性があります。 (Python の `site-packages` ディレクトリに Python binding へのパスをはるか、 `.pth` ファイルを作っておくのがベターです。) 
    167  
    168 これに当てはまらない場合、使用している Subversion のライブラリが Apache が使用しているバージョンと適合性がないかもしれません。(たいてい `apr` ライブラリの不適合性が原因になります。)その場合、 Apache の svn モジュール (`mod_dav_svn`) も使用できないでしょう。 
     321apache2 を普通にコンパイルしてインストールした場合、 apache はスレッドのサポートなしになります (これが FreeBSD 上であまりよく動かない原因)。 --enable-threads を使用して ./configure を実行することで apache にスレッドのサポートありにすることができますが、これはお勧めできません。 
     322最良のオプションは /usr/local/apache2/bin/ennvars に下記の一行を追加することだと  [[http://modpython.org/pipermail/mod_python/2006-September/021983.html 考えられます。]] 
     323 
     324{{{ 
     325export LD_PRELOAD=/usr/lib/libc_r.so 
     326}}} 
     327 
     328=== Subversion での特記 === #Subversionissues 
     329 
     330コマンドラインや TracStandalone で使用しているときは動くのに、 mod_python を使用しているときのみ、 `Unsupported version control system "svn"` というエラーが出力される場合、 [wiki:"TracModPython#SettingthePythonPath" PythonPath] ディレクティブに Python bindings へのパスを追加するのを忘れている可能性があります。 (Python の `site-packages` ディレクトリに Python binding へのリンクを追加するか、 `.pth` ファイルを作っておくのがベターです。) 
     331 
     332これに当てはまらない場合、使用している Subversion のライブラリが Apache が使用しているバージョンと適合性がないかもしれません。 (たいてい `apr` ライブラリの不適合性が原因になります。) その場合、 Apache の svn モジュール (`mod_dav_svn`) も使用できないでしょう。 
     333 
     334また、ランタイムエラー ({{{argument number 2: a 'apr_pool_t *' is expected}}}) を抑止するためにも、複数のサブインタプリタを使用できる最近のバージョンの `mod_python` が必要になります。 3.2.8 では ''たぶん'' 動きますが、 [http://trac.edgewall.org/ticket/3371 #3371] に記述されている通り、メインインタプリタを使用するように強制するワークアラウンドを使用する方がおそらく良いでしょう: 
     335{{{ 
     336PythonInterpreter main_interpreter 
     337}}} 
     338これは、よく知られている mod_python と Subversion の Python バインディングの他の問題 ([http://trac.edgewall.org/ticket/2611 #2611], [http://trac.edgewall.org/ticket/3455 #3455]) について推奨しているワークアラウンドです。 [http://trac.edgewall.org/ticket/3455#comment:9 #3455] Graham Dumpleton のコメントに問題点が指摘されています。 
     339 
     340=== ページレイアウトの問題 === #Pagelayoutissues 
     341 
     342Trac のページフォーマットが奇妙に見えるなら、ページレイアウトを管理するスタイルシートが Web サーバによって適切に扱われていない可能性が考えられます。 Apache のコンフィグに以下を追加してみてください: 
     343{{{ 
     344#!xml 
     345Alias /myproject/css "/usr/share/trac/htdocs/css" 
     346<Location /myproject/css> 
     347    SetHandler None 
     348</Location> 
     349}}} 
     350 
     351Note: 上記のコンフィグが効果を発揮するためには、プロジェクトの root 位置のコンフィグ後に追加しなければなりません。つまり {{{<Location /myproject />}}} 以降です。 
     352 
     353=== HTTPS の問題 === #HTTPSissues 
     354 
     355Trac を完全に https で実行したいにも関わらず、プレーンな http にリダイレクトされる場合、 Apache のコンフィグに以下を追加してください: 
     356{{{ 
     357#!xml 
     358<VirtualHost * > 
     359    DocumentRoot /var/www/myproject 
     360    ServerName trac.mycompany.com 
     361    SetEnv HTTPS 1 
     362    .... 
     363</VirtualHost> 
     364}}} 
     365 
     366=== Fedora 7 の問題 === #Fedora7Issues 
     367必ず 'python-sqlite2' をインストールしてください。 TracModPython では必須です (tracd では必須ではありません)。 
     368 
     369 
     370=== php5-mhash または その他の php5 モジュールのセグメンテーションフォルト === #Segmentationfaultwithphp5-mhashorotherphp5modules 
     371php5-mhash モジュールがインストールされている場合、 (debian etch について報告された) セグメンテーションフォルトに遭遇するでしょう。 php-mhash を削除して、問題が解決するかを確かめてみてください。 debian のバグレポート [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411487]] を参考にして下さい。 
     372 
     373システムライブラリの代わりに、サードパーティのライブラリでコンパイルされた php5 を使用する一部の人々にもトラブルが発生します。ここを確認してください [[http://www.djangoproject.com/documentation/modpython/#if-you-get-a-segmentation-fault]] 
    169374 
    170375---- 
    171 See also: TracGuide, TracInstall, TracCgi, TracFastCgi 
     376See also:  TracGuide, TracInstall, [wiki:TracModWSGI ModWSGI], [wiki:TracFastCgi FastCGI], [wiki:TracModPython ModPython], [http://trac.edgewall.org/wiki/TracNginxRecipe TracNginxRecipe]