この日記のはてなブックマーク数 Subscribe with livedoor Reader

2006-04-30 Sun


Trac で複数のプロジェクトを扱う [Trac][Python][Apache]


以下、同僚に教えてもらったりした設定例。

Trac はなかなか便利なんですが、複数のプロジェクトを扱う場合は、すこし工夫が必要。

$ trac-admin /var/trac/hoge1 initenv 'Hoge1 Project' sqlite:db/trac.db /var/lib/svn /usr/share/trac/templates
$ trac-admin /var/trac/hoge2 initenv 'Hoge2 Project' sqlite:db/trac.db /var/lib/svn /usr/share/trac/templates


と、2つのプロジェクトを登録していた場合、

httpd.conf を

<Location "/projects/hoge1">
    SetEnv TRAC_ENV "/var/trac/hoge1"
</Location>

<Location "/projects/hoge2">
    SetEnv TRAC_ENV "/var/trac/hoge2"
</Location>


とか書き連ねて、各ディレクトリに、trac.cgi をコピーといった荒技を繰り出したくなるんですが(え?ならない?)、そんなことをしなくても

ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location /trac>
SetEnv TRAC_ENV_PARENT_DIR /var/trac
</Location>


だけで OK。上の例だと

http://www.example.co.jp/trac

にアクセスすると、そのサイトで管理されているプロジェクト一覧が表示されるので、あとはそのリンクをたどればOK。もちろん

http://www.example.co.jp/trac/hoge1/
http://www.example.co.jp/trac/hoge2/

でもアクセス可能。

あとSubversion についてですが、ディレクトリを切ることでプロジェクトを分け、運用する場合の話。上記の例だと異なるプロジェクトのはずなのに、タイムラインを見ると、すべての更新情報が表示されるので、見通しが悪くなります(/var/lib/svnの部分)

ファイルシステム上に、そんなディレクトリねぇよ! とか思わず

/var/lib/svn/hoge1


とか指定しておくと、リポジトリツリーの hoge1 以下の変更のみが表示されるので、見通しがよくなります(cf. http://wota.jp/ac/?date=20060301#c01)

あとで直す場合は

/var/trac/hoge1/conf/trac.ini

[trac]
repository_dir = /var/lib/svn/hoge1


を修正すればOK。

ちなみに Trac の機能に不満をもったら

http://trac-hacks.org/

へアクセス。きっと欲しい機能をサポートしたプラグインがあるはず。



IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ