tracの環境の作成

trac』 
Subversionと連動するプロジェクト管理Wikiページ、バグトラックツール提供ツール

環境作成はまず、tracのプロジェクトを初期化。

trac-admin /var/lib/trac/hoge initenv

apacheの設定ファイル(httpd.conf)に下記の記述を追加。

Alias /trac "/usr/share/trac/htdocs/"

<Location "/projects">
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracUriRoot /projects
        PythonOption TracEnvParentDir /var/lib/trac
</Location>

<LocationMatch "/projects/[a-zA-Z0-1_-]+/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /var/lib/svn/.htsvn_user
        Require valid-user
</LocationMatch>

この設定では、/var/lib/trac以下へ、tracのプロジェクトディレクトリを配置。
また、作成したtracリポジトリで、SQLiteを選択している場合は、db/trac.dbファイルへ、apacheのユーザが書き込める権限を与える。

svnディレクトリと同一のユーザファイルを使うように設定。commitメッセージでチケットをクローズする設定。svnリポジトリディレクトリ、hooksディレクトリへ、post-commitという名前で下記の内容のファイルを作成。

また、/usr/share/doc/trac/contrib/trac-post-commit-hooks.gzファイルを展開して、先ほどのhooksディレクトリへ配置。

#!/bin/sh
# post commit scripts

export LANG=C

REPOS="$1"
REV="$2"
LOG=`/usr/bin/svnlook log -r $REV $REPOS | 
/usr/local/bin/svnlog2utf8.rb`
AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS | 
/usr/local/bin/svnlog2utf8.rb`
TRAC_ENV='/var/lib/trac/pgmecab'
TRAC_URL='http://www.emaki.minidns.net/projects/
pgmecab/'

/usr/bin/python /var/lib/svn/pgmecab/hooks/
trac-post-commit-hook \
 -p "$TRAC_ENV"  \
 -r "$REV"       \
 -u "$AUTHOR"    \
 -m "$LOG"       \
 -s "$TRAC_URL"