= TracIniの詳細カスタマイズ = Tracの標準ドキュメントと、より詳細な記載を合わせて紹介します。 テーブルで表示されているものが詳細ドキュメントで、Trac-0.10.3-ja標準添付のもの(つまり、インタアクト社の方が翻訳したドキュメント)です。その下にあるのは私が書いたコメントです。 [[TOC(inline,heading=目次)]] == 大きな添付ファイルをアップロードしたい == 添付ファイルの最大サイズは デフォルトでは262144バイトです。小さいですね。 イントラネットで使うなら3MB位にしといたほうがいいかと。 trac.iniを以下のように指定します。(参照:TracIni) {{{ [attachment] max_size = ファイルの最大サイズ(バイト単位) }}} サーバのリソースやイントラかインターネットか を含めて変更しましょう。 ちなみに[wiki:TracDoc/MailArchivePlugin MailArchive]プラグインでも、添付ファイルのサイズはこの指定に従います。 [[TracIni(attachment)]] ==== max_sizeについて ==== 添付ファイルの最大サイズを指定します。 デフォルトでは262144バイトです。小さいですね。 イントラネットで使うなら3MB位にしといたほうがいいかと。 サーバのリソースやイントラかインターネットか を含めて変更しましょう。 ちなみに[wiki:TracDoc/MailArchivePlugin MailArchive]プラグインでも、添付ファイルのサイズはこの指定に従います。 [[TracIni(browser)]] ==== downloadable_pathsについて ==== Trac0.10からの機能で、リポジトリブラウザからファイルをzip形式でダウンロードできるように なっています。 どのフォルダをダウンロード可能にするかをここで指定します。[[BR]] 設定しておくと、リポジトリブラウザでフォルダを開いたときに、下のほうに「Zip Archive」というリンクができます。 デフォルトでは/trunkはダウンロードできますが、/trunkの下はダウンロードできません。 このサイトのように/trunkの下に機能別にフォルダを作っている場合や、/trunkではサイズが大きすぎる場合は、 /trunkの下のフォルダを指定しておくといいでしょう。[[BR]] たとえば、/trunk/*と指定すると、trunk自体はダウンロード不可になり、trunkの下のフォルダ(その配下も)がダウンロード可能になります。 /trunk/mailarchiveと指定すると、指定したフォルダのみがダウンロード可能になります。 ちなみに、[wiki:TracLinks Tracリンク]ではダウンロード用の直リンクをつくることはできないようです。 http...と書いて外部リンクのようにするのが嫌なら、[http://trac-hacks.org/wiki/DownloadsPlugin DownloadsPlugin]を使ってみるといいかもしれません。 [[TracIni(header_logo)]] 左上に表示されるロゴの画像をここで変更できます。heightとwidthに-1を指定すると、画像ファイルのサイズがそのまま使われるようです。 [[TracIni(logging)]] log_type=fileにしておき、log_fileに出力パスを指定すると、ログがファイル出力されます。 プラグインを入れたのに表示されない場合などは、ログ出力するよう指定しておくと、原因がつかめたりします。 [[TracIni(wiki)]] ==== ignore_missing_pagesについて ==== wikiを理解している人が少ない環境でTracを使う場合は、ignore_missing_pages = trueにするのがオススメ。 意図せずCamelCaseを書いても、?とか表示されなくなります。 == aa == TracをApacheで動かした場合、なにも設定しないと静的リソース(PNGファイルとかCSSとか)への リクエストは、一度tracがファイルを読み込んでレスポンスを生成するという動きをします。 特にプラグインをいっぱい組み込んでいる場合、静的リソースへアクセスに対してもいろんなプラグインが動いてしまい、無駄なCPUリソースを使ってしまいます。レスポンスにも目に見えて影響があります。 これをうまく設定すると、静的リソースはTracを迂回してApacheが勝手に処理するようにでき、レスポンス向上やサーバ不可軽減が見込めます。 その.1 trac本体の静的リソースのパイパス これはTracで用意された仕組みですが、知らない人多いんじゃないかと。 trac本体の静的リソースをウェブで公開しているフォルダに置いて、 trac.iniのtrac/htdocs_locationsにそのURLを書くと、tracの方でHTMLに出力するURLをそこにしてくれます。 TracIni trac本体のhtdocsフォルダをWebで公開している場所に置き(またはスタティックリンクを作り)ます。 htdocsの本体がある場所は、linuxだと/usr/local/share/trac/htdocsかな?さくらの場合は、~/local/share/trac/htdocsですね。 さらに、trac.iniのtracカテゴリのhtdocs_locationにそのフォルダの相対URLを書きます。 わからなければ、trac.iniに以下の例のように書いて、画面下のTrac POWEREDのアイコンのURLがどうなっているか 見てください。このURLにうまいこと画像が来るように、htdocsを置けば(またはリンクを作れば)OKです。 {{{ [trac] htdocs_location = /htdocsbypass }}} その2.プラグインの静的リソースのバイパス 上の方法では、trac本体の静的リソースのみで、プラグインの静的リソースはバイパスできません。 さらに悪いことに、プラグインの静的ファイルはeggファイルの中にあるので、Tracはそれを展開する仕事も行います。ThemeEngineプラグインとか使っちゃうと、かなり重くなります。 そこで、プラグインの静的ファイルは元のソースから取り出して、 かつmod_rewriteを使って無理やりバイパスします。 {{{ RewriteRule ^.* - [F,L] RewriteRule ^$ /trac/ [R=301,L] RewriteRule ^/trac/chrome/common/(.*)$ /htdocs/$1 [L] RewriteRule ^/trac/chrome/theme/(.*)$ /chromebypass/theme/$1 [L] RewriteRule ^/trac/(.*)$ /trac.cgi/$1 [L] }}} = a = #158の続きです。 Apacheのmod_rewriteを使えば、!TracEnvにあるhtdocsへも Ptyhonを経由せずにアクセスできます。 ここからは、tracで用意された方法ではないので、自己責任で。 (1)!TracEnvの静的リソースのフォルダ(htdocs)を、Apacheで公開します。 これもセキュリティに注意。!TracEnv全体を公開したりしないように。 [[BR]] 前回と同様に、公開するURLは他のURLとかぶらないようにしてください。 TracのURLが{{{http://サーバ名/trac/}}}にしているなら、 {{{http://サーバ名/tracenvhtdocs/}}}にするとか。 例:[[BR]] !TracLight(C:\!TracLightにインストール)の場合: httpd.confに以下を追加 {{{ Alias /tracenvhtdocs/ "C:/TracLight/project/trac/htdocs/" AllowOverride None Order allow,deny Allow from all }}} [wiki:TracDoc/SakuraInternet さくらインターネット]の場合:スタティックリンクを張って しまいましょう。シェルで以下のコマンドを実行。 {{{ ln -s ~/local/var/trac/repo/htdocs ~/www/tracenvhtdocs }}} (2).htaccessにて、mod_rewriteの設定をします。 もちろん、Apacheがmod_rewriteを使えるようになっていることが必要。 !TracEnvのhtdocsのURLは、{{{http://TracのURL/chrome/site/}}}なので、 このURLが{{{http:/サーバ名/tracenvhtdocs/}}}に返還されるように設定します。 例:[[BR]] .htaccessに以下のように記載。(TracのURLが{{{http://サーバ名/trac/の場合}}}) {{{ RewriteRule ^/trac/chrome/site/(.*)$ /tracenvhtdocs/$1 [L] }}}