Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)
- 更新日時:
-
2007/02/20 00:09:30 (18 年 前)
- 更新者:
-
weekbuild (IP アドレス: 218.110.157.68)
- コメント:
-
--
-
v4
|
v5
|
|
62 | 62 | 意図せずCamelCaseを書いても、?とか表示されなくなります。 |
63 | 63 | |
| 64 | == aa == |
| 65 | TracをApacheで動かした場合、なにも設定しないと静的リソース(PNGファイルとかCSSとか)への |
| 66 | リクエストは、一度tracがファイルを読み込んでレスポンスを生成するという動きをします。 |
| 67 | |
| 68 | 特にプラグインをいっぱい組み込んでいる場合、静的リソースへアクセスに対してもいろんなプラグインが動いてしまい、無駄なCPUリソースを使ってしまいます。レスポンスにも目に見えて影響があります。 |
| 69 | |
| 70 | これをうまく設定すると、静的リソースはTracを迂回してApacheが勝手に処理するようにでき、レスポンス向上やサーバ不可軽減が見込めます。 |
| 71 | |
| 72 | その.1 trac本体の静的リソースのパイパス |
| 73 | |
| 74 | これはTracで用意された仕組みですが、知らない人多いんじゃないかと。 |
| 75 | trac本体の静的リソースをウェブで公開しているフォルダに置いて、 |
| 76 | trac.iniのtrac/htdocs_locationsにそのURLを書くと、tracの方でHTMLに出力するURLをそこにしてくれます。 |
| 77 | |
| 78 | TracIni |
| 79 | trac本体のhtdocsフォルダをWebで公開している場所に置き(またはスタティックリンクを作り)ます。 |
| 80 | htdocsの本体がある場所は、linuxだと/usr/local/share/trac/htdocsかな?さくらの場合は、~/local/share/trac/htdocsですね。 |
| 81 | |
| 82 | さらに、trac.iniのtracカテゴリのhtdocs_locationにそのフォルダの相対URLを書きます。 |
| 83 | わからなければ、trac.iniに以下の例のように書いて、画面下のTrac POWEREDのアイコンのURLがどうなっているか |
| 84 | 見てください。このURLにうまいこと画像が来るように、htdocsを置けば(またはリンクを作れば)OKです。 |
| 85 | {{{ |
| 86 | [trac] |
| 87 | htdocs_location = /htdocsbypass |
| 88 | |
| 89 | }}} |
| 90 | |
| 91 | その2.プラグインの静的リソースのバイパス |
| 92 | |
| 93 | |
| 94 | |
| 95 | 上の方法では、trac本体の静的リソースのみで、プラグインの静的リソースはバイパスできません。 |
| 96 | さらに悪いことに、プラグインの静的ファイルはeggファイルの中にあるので、Tracはそれを展開する仕事も行います。ThemeEngineプラグインとか使っちゃうと、かなり重くなります。 |
| 97 | |
| 98 | そこで、プラグインの静的ファイルは元のソースから取り出して、 |
| 99 | かつmod_rewriteを使って無理やりバイパスします。 |
| 100 | {{{ |
| 101 | RewriteRule ^.* - [F,L] |
| 102 | RewriteRule ^$ /trac/ [R=301,L] |
| 103 | RewriteRule ^/trac/chrome/common/(.*)$ /htdocs/$1 [L] |
| 104 | RewriteRule ^/trac/chrome/theme/(.*)$ /chromebypass/theme/$1 [L] |
| 105 | RewriteRule ^/trac/(.*)$ /trac.cgi/$1 [L] |
| 106 | }}} |
| 107 | |