前の日 / 次の日 / 最新 / 2006-04

戯れ言


この日記のはてなブックマーク数 Bloglinesで閲読登録 ADD TO Hatena::RSS Subscribe with livedoor Reader Add to Google

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

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/

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



2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2009-01-03 10:40

RSS feed meter for http://www.kunitake.org/chalow/