Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)
バージョン 6 (更新者: weekbuild, 18 年 前)

--

TracIniの詳細カスタマイズ

Tracの標準ドキュメントと、より詳細な記載を合わせて紹介します。 テーブルで表示されているものが詳細ドキュメントで、Trac-0.10.3-ja標準添付のもの(つまり、インタアクト社の方が翻訳したドキュメント)です。その下にあるのは私が書いたコメントです。

Error: Failed to load processor TOC
No macro or processor named 'TOC' found

大きな添付ファイルをアップロードしたい

添付ファイルの最大サイズは デフォルトでは262144バイトです。小さいですね。 イントラネットで使うなら3MB位にしといたほうがいいかと。 trac.iniを以下のように指定します。(参照:TracIni

[attachment]
max_size = ファイルの最大サイズ(バイト単位)

サーバのリソースやイントラかインターネットか を含めて変更しましょう。

ちなみにMailArchiveプラグインでも、添付ファイルのサイズはこの指定に従います。

[attachment]

max_sizeチケットと Wiki の添付ファイルの最大サイズをバイト数で 指定します。
render_unsafe_content添付ファイルをブラウザ上に表示するか、 単にダウンロード可能にしておくかどうかを設定します。 ブラウザがほとんどのファイルを HTML として解釈することがあるため、 悪意のあるユーザにクロスサイトスクリプティング攻撃を可能にするファイル の添付を許すことになります。 誰でもファイルを添付できるような公開サイトでは、このオプションを無効に 設定しておくことを推奨します (デフォルトは、無効に設定されています)。

max_sizeについて

添付ファイルの最大サイズを指定します。 デフォルトでは262144バイトです。小さいですね。 イントラネットで使うなら3MB位にしといたほうがいいかと。 サーバのリソースやイントラかインターネットか を含めて変更しましょう。

ちなみにMailArchiveプラグインでも、添付ファイルのサイズはこの指定に従います。

[browser]

color_scaleage 列に色付けされます。 ソースコード注釈と同じカラースケールが使用されます: 青が古く、赤が新しいものを指します。 (0.11 以降)
downloadable_pathsダウンロード可能なリポジトリのパスをリストします。 このオプションに何も設定しない場合、全てのダウンロードを禁止されます。 部分的に許可する場合は、カンマ区切りでダウンロードを許可するパスを設定します (パスには "*" をワイルドカードとして扱うような glob パターンを使用できます) (0.10 以降)
hide_propertiesカンマ区切りでバージョン管理の属性を設定すると、その属性は リポジトリブラウザで表示されなくなります。 (0.9 以降)
intermediate_color(r,g,b) の 3 色で指定します。この色は中間を指す 色として、 2 色の間のカラースケールとして使用されます (intermediate_point 参照)。 intermediate color をセットしない場合、 oldest_colornewest_color の中間の色が使用されます。 (0.11 以降)
intermediate_point0 から 1 (最大) の間で値を設定します。 この値は intermediate_color に設定したポイントへの補間に 使用されます。 (0.11 以降)
newest_color(r,g,b) の 3 色で指定します。この色は新しいものを指す 色として 注釈 (blame) や、 color_scale が有効に設定されていれば ブラウザの age 列のカラースケールに使用されます。 (0.11 以降)
oldest_color(r,g,b) の 3 色で指定します。この色は古いものを指す 色として 注釈 (blame) や、 color_scale が有効に設定されていれば ブラウザの age 列のカラースケールに使用されます。 (0.11 以降)
oneliner_propertiesカンマ区切りでバージョン管理の属性を設定すると、その属性は リポジトリブラウザ上で 1 行スタイルの Wiki コンテンツとして表示されます。 (0.11 以降)
render_unsafe_content添付ファイルをブラウザ上に表示するか、 単にダウンロード可能にしておくかどうかを設定します。 ブラウザがほとんどのファイル種別を HTML として解釈することがあるため、 悪意のあるユーザにクロスサイトスクリプティング攻撃を可能にするファイル の添付を許すことになります。 誰でもファイルを添付できるような公開サイトでは、このオプションを無効に 設定しておくことを推奨します (デフォルトは無効に設定されています)。
wiki_propertiesカンマ区切りでバージョン管理の属性を設定すると、その属性は リポジトリブラウザ上で Wiki コンテンツとして表示されます。 (0.11 以降)

downloadable_pathsについて

Trac0.10からの機能で、リポジトリブラウザからファイルをzip形式でダウンロードできるように なっています。 どのフォルダをダウンロード可能にするかをここで指定します。
設定しておくと、リポジトリブラウザでフォルダを開いたときに、下のほうに「Zip Archive」というリンクができます。

デフォルトでは/trunkはダウンロードできますが、/trunkの下はダウンロードできません。 このサイトのように/trunkの下に機能別にフォルダを作っている場合や、/trunkではサイズが大きすぎる場合は、 /trunkの下のフォルダを指定しておくといいでしょう。
たとえば、/trunk/*と指定すると、trunk自体はダウンロード不可になり、trunkの下のフォルダ(その配下も)がダウンロード可能になります。 /trunk/mailarchiveと指定すると、指定したフォルダのみがダウンロード可能になります。

ちなみに、Tracリンクではダウンロード用の直リンクをつくることはできないようです。 http...と書いて外部リンクのようにするのが嫌なら、DownloadsPluginを使ってみるといいかもしれません。

[header_logo]

altヘッダロゴに使用する alt テキストを設定します。
heightヘッダロゴの高さを pixel で設定します。
linkヘッダロゴがリンクする URL を設定します。
srcヘッダロゴに使用するイメージファイルの URL を設定します。
widthヘッダロゴの幅を pixel で設定します。

左上に表示されるロゴの画像をここで変更できます。heightとwidthに-1を指定すると、画像ファイルのサイズがそのまま使われるようです。

[logging]

log_filelog_typefile のときのログファイルへのパスを設定します。
log_formatログのフォーマットをカスタマイズします。 デフォルトでは以下のフォーマットが使用されます : Trac[$(module)s] $(levelname)s: $(message)s Python のロガーライブラリがサポートしている標準のキー (http://docs.python.org/lib/node422.html 参照) に加えて、以下のキーを使用することができます : - $(path)s 現在の環境へのパス - $(basename)s 現在の環境のパスの一番最後の部分 - $(project)s プロジェクト名 %(...)s を使用すると ConfigParser が解釈し展開してしまうので、 $(...)s を使用することを覚えておいて下さい。 例: ($(thread)d) Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s (0.10.5 以降)
log_levelログレベルを設定します。 値は (CRITICAL, ERROR, WARN, INFO, DEBUG) の、どれかでなければなりません。
log_type出力するログの種類を設定します。 値は (none, file, stderr, syslog, winlog) の、どれかでなければなりません。

log_type=fileにしておき、log_fileに出力パスを指定すると、ログがファイル出力されます。 プラグインを入れたのに表示されない場合などは、ログ出力するよう指定しておくと、原因がつかめたりします。

[wiki]

ignore_missing_pages存在しないページへの CamelCase リンクをハイライトするかどうかを設定します (0.9 以降).
render_unsafe_content<script><embed> のようなセキュリティ上安全とはいえない HTML タグを HTML Wiki プロセッサ で使用可能にするかどうかを設定します。 (0.10.4 以降). 誰でも Wiki を編集できるような公開サイトでは、このオプションを無効に 設定しておくことを推奨します。 (デフォルトは、無効に設定されています)。
split_page_namesスペースで WikiPageNames を区切るのを可能にするかどうかを設定します (0.10 以降).

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全体を公開したりしないように。

前回と同様に、公開するURLは他のURLとかぶらないようにしてください。 TracのURLがhttp://サーバ名/trac/にしているなら、 http://サーバ名/tracenvhtdocs/にするとか。

例:
TracLight(C:\TracLightにインストール)の場合: httpd.confに以下を追加

Alias /tracenvhtdocs/ "C:/TracLight/project/trac/htdocs/"
<Directory "c:/TracLight/project/trac/htdocs/">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

さくらインターネットの場合:スタティックリンクを張って しまいましょう。シェルで以下のコマンドを実行。

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/に返還されるように設定します。

例:
.htaccessに以下のように記載。(TracのURLがhttp://サーバ名/trac/の場合)

RewriteRule ^/trac/chrome/site/(.*)$ /tracenvhtdocs/$1 [L]

添付ファイル