Trac 0.12 導入時のメモ(設定後編)

Trac 0.11 から Trac 0.12 へ移行を考えている人や、Windows 認証を用いた Trac/Subversion の設定、SVK を利用したミラー サーバの構築といった参考になるかもしれないので、だらだらとメモっておく。

なお、内容については、1時間半ぐらいでザーッと一気に設定したものを思い出しながら書き起こしているため、内容に漏れや間違いがあった場合はコメント等で指摘してください。しかし、たった1時間半の作業を文章に起こすのに何時間かかってるんだ、これ…。

続きを読む

13. Trac の初期設定(管理コンソール)

Trac が動くようになったら、必要最低限の設定をしていきましょう。おおむねの設定はプラグイン等をいれなくても web からできるので、できないことややりにくいことを先にします。
まずは trac-admin を起動して管理コンソールに移動します。

PS temp> trac-admin D:\trac\project1
Trac [D:\trac\project1]> 

ユーザ認証を Windows にやらせるように設定しているので、まずは管理者ユーザを登録しましょう。管理者は TRAC_ADMIN という権限をもったユーザになるので、permission コマンドを使用して管理者として扱うユーザに権限を付与します。

Trac [D:\trac\project1]> permission add takaoka TRAC_ADMIN

次にリポジトリの登録です。Trac 0.11 からの大きな違いとしてリポジトリの登録方法がかわりました。Subversionリポジトリは D:\repos\project1 に作成してあるので、

Trac [D:\trac\project1]> repository add main D:\repos\project1 svn

と、登録します。main というのはリポジトリにつける名前ですので、好きな名前で大丈夫です。最後についている svn というのは Subversionリポジトリであることを明記しています。Trac 0.12 は Subversion 以外のソース管理システムも利用できるようになっているので、Subversion 以外を使用している場合は svn ではなく hg などと指定することになります。*1
この時点で、svn なんて知らないよ?とエラーになるようであれば、インストールされている PythonSubversionPython Binding の組み合わせに問題があるか、Python Binding のインストールに失敗していると思われますので、それぞれが対応したバージョンであるか確認してみてください。

*1:Subversion 以外を使用するためには、事前に対応したソース管理プラグインを導入しておく必要があります

14. Trac の初期設定(trac.ini)

次に、trac.ini ファイルを編集します。こちらもある程度は web から触れますし、編集用のプラグインなんかもあるのですが、ささっと設定できるものは設定してしまいましょう。D:\trac\project1 に Trac の環境を作成したので、trac.ini は D:\trac\project1\conf\trac.ini になります。
以下は、さらっと変更してもよさげな項目だけを抜き出して書いていますので、丸ごとコピーしないようにしてください。

[attachment]
max_size = 800000
# 添付ファイルの最大サイズ(バイト)です。
# 社内用途などの内部使用なら、少し大きめにしたほうが便利でしょう。

[header_logo]
src=site/logo.png
alt=My Project1
width=-1
height=-1
# site/ で始まる場合、Trac 環境の htdocs フォルダを指します。
# この例だと D:\trac\project1\htdocs\logo.png を使用します。

[svn]
branches=/trunk, /branches/*, /vendor/*
tags=/tags/*, /releases/*
# ここに設定された一覧はソースブラウザのドロップダウンリストに出てきて
# リポジトリを素早く移動できるようになります。
# svk でミラーリングされている /vendor/* も足しています。

[trac]
authz_file=D:\etc\svnaccess.conf
authz_module_name=project1
# file には apache の AuthzSVNAccessFile で指定したファイルと同じものを指定します。
# module_name には、Trac にリポジトリとして登録したものを設定します。
# あれ? 0.12 からの複数リポジトリの対応はどうするんでしょうね(・ω・

base_url=http://server1.example.com/projects/project1/
# この Trac にアクセスできる URL を記述します。
# 通知メール等の Trac から外部へ URL を出力するときに使われます。

htdocs_location=/trac-common
# Trac の内部で使われるスタイルシートや画像などの固定コンテンツを
# 配置した URL を記述します。Trac のホスティング時に DocumentRoot
# にコピーしておいた奴です。その時の URL を指定しています。

repository_sync_per_request = 
# Trac 0.11 から Trac 0.12 への目玉機能です。
# この項目を空に変更すると、Trac へのアクセス時に Subversion に対して
# アクセスしなくなります。(0.11 では常にアクセスしていたそうです)
# 空欄にした場合は Subversion 側に追加の設定がいります(後述)

15. Trac の初期設定(webから)

登録しておいた管理権限のあるユーザでブラウザを起動して Trac に接続すると、メインメニューに「管理」が表示されるので、そこから設定を変更することができます。
プロジェクト名やチケットのマイルストーンや重要度など、必要とお好みにあわせてどんどん変更しましょう。
プラグインの設定ページを開くと、デフォルトでいくつかのプラグインが無効になっていることに気が付くと思います。0.11 では Subversion のフックスクリプトとして提供されていたコミットコメントのチケットへの反映機能や、チケットに削除ボタンを追加するなどが無効になっていますので、必要な方は有効にするとよいでしょう。
うちの場合、post-commit だけじゃなく pre-commit を利用してチケットの属性と合致しないコミットを拒否したりするような設定もしていますので、それに対応したカスタム属性なんぞを足したりすることもあります。