■ Trac を使ってみたよ
昨日の「Trac をインストールしてみたよ」の続きです。ちなみに、ここの Wiki に凄く情報がまとまっているって事を今日になって知りました…。
それで、まずは昨日さぼった権限の設定から。apache の設定を変更して、閲覧だけの場合でも認証が必要にします。anonymous ユーザとか必要って人はドキュメントに書いてある LocationMatch って書く方法でやりましょう。
.htpasswd は適当な所に用意しておいて下さい。Subversion を WebDAV 経由で利用している人はそっちと同じファイルを使うのが通っぽいですよ。
$ vi /etc/apache2/sites-available/trac Alias /trac "/usr/share/trac/htdocs/" <Location "/proj"> SetHandler mod_python PythonHandler trac.ModPythonHandler PythonOption TracUriRoot "/proj" PythonOption TracEnvParentDir /tmp/trac AuthType Basic AuthName "Trac Project" AuthUserFile /foo/bar/.htpasswd Require valid-user </Location>
次に htpasswd で設定されているユーザに Trac 上の権限を与えます。とりあえず、自分を全部出来る人に変更。
$ trac-admin /tmp/trac/test permission add takayama TRAC_ADMIN
trac-admin /tmp/trac/test permission list とかやるとどんな権限を与えられるのかの一覧が表示されます。あとエイリアスを指定出来たりとか色々出来るらしい。
/tmp/trac/test/conf/trac.ini をいじると何やら設定の変更が出来る模様。って、ここの設定ってここからしか指定出来ないのかな?smtp_server とかデフォルトで設定される値を変更したいんだが…。
trac.ini を変更してもうまく反映されない場合があるので、いちいち apache の再起動をした方が良いっぽい。多分 mod_python だから。CGIなら平気。
このままだとソースコード内の文字コードが UTF-8 以外の場合に文字化けするので Trac(BTS+Wiki+SVN)を試してみる [後編] に書いてあった設定をしてみる。python2.3-japanese-codecs をインストールして、trac.ini の default_charset を japanese.shift_jis に変更。うまく表示されるようになった。文字コードが混在している場合はどうなるかわかりません。
あとは同じサイトに Subversionコミット時メール送信とTracチケットの自動クローズ というのがあったので、こちらも設定。メールはいらないので、そこだけコメントアウト。コミット時に trac-post-commit-hook を実行して自動的にチケットを閉じてやるみたい。
ここでちょっと問題が…。今 Subversion は SSH 経由で利用しているのでリポジトリも当然そいつ(takayama)の権限です。でも Trac は Apache の www-data 権限で動いているのでデータも www-data がオーナーです。Trac からリポジトリの読み込みは、リポジトリデータの other に読み込み権限がついているからなのか問題は無いみたいなのですが、trac-post-commit-hook は Subversion を使ってるユーザ(takayama)の権限で動作するので、Trac のデータを書き換える権限はありません(Trac データは www-data がオーナーなので)。だからこのままの状態ではチケットをクローズする事は出来ません。
あんまり余計な所に権限を付けるのは嫌なんだけど、今回はとりあえず Trac データを takayama と同じグループに入れてグループにも書き込み権限を付けました。ちなみに trac-post-commit-hook スクリプトは何にもエラーを出さないので、書き込み権限がなくてチケットのクローズに失敗してもエラーを教えてくれません。パーミッションで悩まないように注意!
これって Trac がリポジトリのログを見て処理をするっていうプラグインがあれば解決しそうな問題なんだけど、そういうのは無いのかなー。探してみよう。
あと、また新しい Wiki 記法だよ。これは変えられるみたいな事がどこかに書いてあったからこっちも要調査。
最後に全体的な感想ですが、まずはやっぱこの Subversion と連係してくれる機能がかなり良い感じ。コミットログに #1 って書いたりするとチケットの #1 へリンクが貼られたりするので、単独のツールを組み合わせる場合と比べて随分と便利で、このスタイルに慣れちゃったら他のツールは使えなくなるかも。trac-post-commit-hook の動作を見るに、コミットログとの合わせ技は他にも応用が効きそうな可能性を感じる。
マイルストン機能も地味に良い感じ。今までは先の予定とかは適当なテキストファイルに書いたり付箋で管理していたけど、ひと目で進捗状況の確認も出来るこの機能は結構モチベーションアップになるかもしれない。
色々と RSS も配信しているようなので、複数の Trac があっても意外に集中管理をする事は難しくないかも知れない。チケットの一覧は Firefox の sage のような毎回記事一覧を生成するような RSS リーダで読めばうまく活用出来そうな気がする。
いくつか物足りなく感じる機能があるのだけど、まだプラグインとかの拡張機能を探していないからそう感じるだけで、これからそういった事をチェックしていけば逆にお腹いっぱいになるかも。拡張性が高いのは嬉しい。ちょっと楽しみ。
なんかコレちょっと結構気に入ったよ。もっと早く試してみれば良かった!しばらく使ってみようと思います。
Posted by Kyosuke Takayama at 2005-10-25 (Tue) 21:08 printable version
○ 鷹の島: Trac のバージョンアップをしてみたよ (2005-11-01 (Tue) 17:40) 0%
一応 Trac を使ってみたよ の続きなのか?Trac で遊んでみたよっての書きたいんだけど、まだまとまっていないのでまた今度。 んで、Trac の 0.9 がリリースされたようで、ファン(?)としては放っておけないので速攻でバージョンアップしました。Debian パッケージの 0.8.1-...