Trac

2012-02-13, trac

Tracとは

tracは非常に多くのプロジェクトで利用されているBTS(問題追跡システム)です。下記に示すようにtrac付属の簡易ウェブサーバ(tracd)を用いて立ち上げる方法と、apache(mod_python)を利用する方法があります。前者は立ち上げが簡単ですが、後者ほど設定の柔軟性がありませんので、アクセス制御等が必要な場合、apacheと連携して利用します。

(※)以下のプロセスは、少々古いリリースのFedoraで検証しています。現状にそぐわない部分もあるかもしれません。

インストール(tracd)

とりあえず動かしてみる場合はtracdが便利です。

# yum -y install trac
# useradd trac
# su - trac
$ mkdir projects
$ trac-admin projects/test initenv
$ htdigest -c projects/.htdigest trac user1
(パスワードを設定)
$ /usr/sbin/tracd -p 8081 --auth *,projects/.htdigest,trac -e projects/

インストール(mod_python)

apacheと連携します。認証領域等、柔軟な設定が可能です。

# yum -y install trac,mod_python
$ trac-admin /path/to/trac/project initenv
$ chmod -R 777 /path/to/trac/project/db
$ htdigest -c /path/to/trac/.htdigest trac user1
(パスワードを設定)
# vi httpd.conf

/etc/httpd/conf/httpd.conf

<VirtualHost *:80>
  ServerName {ins:example.com}
  <Location />
    AuthType Digest
    AuthName "trac"
    AuthUserFile {ins:/path/to/.htdigest}
    Require valid-user

    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracUriRoot "/"
    PythonOption TracEnvParentDir {ins:/path/to/trac}
  </Location>
</VirtualHost>

上記の例ではサイト全体に認証がかかります。公開する場合は、以下のようにLocationを分離します。

  <Location "/projects/login">
    AuthType Digest
    AuthName "trac"
    AuthUserFile /path/to/.htdigest
    Require valid-user
  </Location>

サーバを再起動します。

# service httpd restart

初期設定

「trac-admin」というコマンドラインから主な設定を行います。conf/trac.iniにはプロジェクトの名前やリポジトリパスの設定を記述します。その他、マイルストンの追加など、ブラウザ上から可能な項目もあります。

-権限を追加します。(trac-admin)
-コンポーネント、マイルストン等をカスタマイズします。(trac-admin)

$ trac-admin /path/to/project permission add user1 TRAC_ADMIN
$ trac-admin /path/to/project component add comp1

-リンクURLやチケットのデフォルトを設定します。(trac.ini)
-smtp_enabledで通知メールの配信の切り替えが可能です。(trac.ini){br}メールを受け取るには各ユーザがログインした後、「Setting」メニューでメールアドレスを追加する必要があります。デフォルトではチケットの更新者にのみ通知されるよう設定されていますので、必要に応じて所有者(owner)、報告者(reporter)にも配信されるよう設定します。

[notification]
smtp_enabled = true
always_notify_owner = true
always_notify_reporter = true
always_notify_updater = true

[header_logo]
link = http://www.lumber-mill.co.jp/

ロゴを変更する

「htdocs/my_banner.png」にオリジナルのヘッダ画像を置いた場合、以下のようにtrac.ini中の[header_logo]セクションを修正します。

conf/trac.ini

[header_logo]
src = site/my_banner.png

チケットを削除する

一旦登録されたチケットはブラウザ上からは削除できません。trac-adminを使用して以下の要領で削除します。

$ trac-admin /path/to/project
> ticket remove 99

権限を設定する

Tracをオープンにすると結構な数のスパムがやってきます(チケットやコメントに怪しいURLを残していきます)。ログインしていないユーザにチケット登録を許可したくない場合など、以下の要領で細かく権限を指定することができます。

$ trac-admin /path/to/project
> permission remove anonymous TICKET_CREATE TICKET_MODIFY

バックアップ

以下のコマンドを用いることで、現在稼働しているプロジェクトを安全にコピーすることができます。そのままのスナップショットが記録されるので、元の位置に戻すだけで復元が可能です。

$ trac-admin /path/to/project hotcopy /path/to/backup

この記事は役に立ちましたか?