Tech エントリー[インストール・アップグレード]

Trac-ja を新規でインストール

あとで読む コメント (0) トラックバック (0) Atom/RSS

新しいバージョン 0.12dev の情報を追加したので、そちらもぜひ見てください。

国際化対応済み (標準で日本語化されている) Trac 0.12dev をインストール

(Subversion をセットアップするのが先だけど気づいたら Trac からエントリーし始めていたのでそのまま続ける。)

Trac のインストール

Trac は日本語化されたツールではありませんが、ローカライズを行いソースを提供している素敵な起業さんがいらっしゃるのでそちらから最新のソースをダウンロード。

公開資料 (Trac) - インタアクト株式会社

9.6 が出たときも一両日中にはローカライズ版を公開していたと思います。すばやい対応に感謝。

ソースをダウンロードし、python の setup コマンドを実行。

python ./setup.py install --prefix=/path/to/trac

複数プロジェクトなどにも対応できる作りになっているので私の場合 /path/to/trac/opt/trac などとしています。

yum でそのままインストールすると /usr/bin, /usr/lib などそれぞれに対応したファイルがインストールされます。

yum 形式でインストールすると ja を使う都合上メンテナンスが面倒になるので任意のディレクトリにインストールするのが良いでしょう。

次に mod_python 環境下で動作させるために yum でインストールした apache が認識でき、後ほど記載する config の内容で正しく動作するよう yum で Trac をインストールしたときと同じ状況にする必要があります。

そこで、yum でインストールした場合に配置される箇所へそれぞれ対応したリンボリックリンクを設定します。

ln -s /path/to/trac/bin/trac-admin  /usr/bin/trac-admin
ln -s /path/to/trac/bin/tracd /usr/bin/tracd
ln -s /path/to/trac/bin/tracdb2env /usr/bin/tracdb2env
ln -s /path/to/trac/lib/python2.4/site-packages/trac /usr/lib/python2.4/site-packages/trac
ln -s /path/to/trac/share/man/man1/trac-admin.1 /usr/share/man/man1/trac-admin.1
ln -s /path/to/trac/share/man/man1/tracd.1 /usr/share/man/man1/tracd.1
ln -s /path/to/trac/share/man/man1/tracdb2env.1 /usr/share/man/man1/tracdb2env.1
ln -s /path/to/trac/share/trac /usr/share/trac

サーバー環境によっては python のテンプレートエンジンである ClearSilvermod_python が準備されていない可能性がありますので必要に応じてセットアップを行ってください。

ClearSilver がインストールされていないと以降の設定を行った後、サイトへアクセスするとエラーログを見ろ、というようなメッセージが表示されます。

Trac 環境の各種設定

プロジェクト環境の作成

プロジェクト環境を作成し、WEBサーバーを動かしているユーザからの書き込みを可能にします。

trac-admin /path/to/trac/project_name  initenv
chown -R apache.apache /path/to/trac/project_name
httpd.conf

Apache + mod_python 環境下で動作させるため TracModPython - Setting up multiple projects にもあるように Location ディレクティブを利用した設定を行います。

私の場合、VirtualHost下で MultiProject での運用を想定しているので以下のような設定になります。

<VirtualHost 192.168.0.1:80>
    ServerAdmin webmaster@example.com
    DocumentRoot /path/to/trac
    ServerName www.example.com
    ErrorLog logs/www.example.com-error.log
    CustomLog logs/www.example.com-access.log combined
    <Location />
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnvParentDir /path/to/trac
        # PythonOption TracEnv /path/to/trac/project
        PythonOption TracUriRoot /
    </Location>
    <LocationMatch "/[^/]+/login">
        AuthType Basic
        AuthName "Trac Authentication"
        AuthUserFile /path/to/.htpasswd
        Require valid-user
    </LocationMatch>
</VirtualHost>

また、どなたでも自由に閲覧できるようにするため /login 以下のみベーシック認証を設定。

trac.conf

Trac にも設定ファイルがあるのでそちらを適宜修正します。

[trac]
default_charset = iso-8859-15
repository_dir = /path/to/svn
 
[project]
url = http://www.example.com/project/
name = project name
descr = description of project

[trac] セクションの default_charset は SVN リポジトリに登録しているファイルの保存形式 (キャラクタセット) にあわせないと文字化けを起こす模様。文字化け関係は Subversion 側の設定も関係してくるようなので要注意。

チケット登録時に入力欄に初期値を任意で設定することが可能。自分用に初期値をカスタマイズできるというわけ。

新規チケット登録時に、URLで値を設定する

[ticket]
default_version =
default_component = 実装-markup/programing
default_type = タスク-tast
restrict_owner = true
default_milestone = milestone1
default_priority = 中-major
 
[ticket-custom]
due = text
due.label = 完了期限    
due.value = 05/20/06
due.order = 1

以下、チケットの登録や更新をメールで通知する場合の設定。デフォルドの並び順、項目数を若干違いますが、この方が見やすいと思います。

[notification]
smtp_enabled = true
smtp_server = localhost
smtp_port = 25
smtp_user = 
smtp_password =
smtp_from = admin@example.com
smtp_replyto = admin@example.com
smtp_always_cc =
always_notify_owner = false
always_notify_reporter = false
trac permission

次が Trac 側で制御しているユーザー単位の権限設定を以下のように変更します。

anonymous ユーザーがデフォルトの状態だとチケットの新規登録、編集、Wiki の新規登録、編集が可能になっているのでこれらの権限を無効にします。

trac-admin /path/to/trac/project/ permission remove anonymous TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY
 
remove permission list
--------------------
TICKET_CREATE 
TICKET_MODIFY
WIKI_CREATE
WIKI_MODIFY

実際に公開するかどうかは分かりませんが、チケットの新規登録ができるゲストユーザーを追加。

trac-admin /path/to/trac/project/ permission add guest BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW WIKI_VIEW
 
add permission list
--------------------
BROWSER_VIEW
CHANGESET_VIEW
FILE_VIEW
LOG_VIEW
MILESTONE_VIEW
REPORT_SQL_VIEW
REPORT_VIEW
ROADMAP_VIEW
SEARCH_VIEW
TICKET_CREATE
TICKET_MODIFY
TICKET_VIEW
TIMELINE_VIEW
WIKI_VIEW

Trac の設定が以外と面倒...

Server/trac/使い方 - 権限をグループ化し、その単位でユーザーに付与することが可能

チケットプロパティの変更

チケット登録時の各種プロパティ (設定値) は英語のままなので値を日本語化するため以下のコマンドを実行します。

Trac の L10N 対応状況

チケットの種類を変更。

trac-admin /path/to/trac/project ticket_type add タスク-task
trac-admin /path/to/trac/project ticket_type add 機能追加/変更-enhancement
trac-admin /path/to/trac/project ticket_type add 不備/不具合-defect
trac-admin /path/to/trac/project ticket_type remove defect
trac-admin /path/to/trac/project ticket_type remove task
trac-admin /path/to/trac/project ticket_type remove enhancement

コンポーネントの種類を変更。このあたりはプロジェクトの用途に合わせて適宜変更した方がよいでしょう。

trac-admin /path/to/trac/project component rename component1 文書-documentation
trac-admin /path/to/trac/project component rename component2 デザイン-design/imaing
trac-admin /path/to/trac/project component add 調査-research somebody
trac-admin /path/to/trac/project component add 設計-layout/planning somebody
trac-admin /path/to/trac/project component add 実装-markup/programing somebody
trac-admin /path/to/trac/project component add 検証-testing somebody
trac-admin /path/to/trac/project component add その他-etc somebody

優先度/重要度の変更。英語の名称の付け方がうまいなぁと関心。優先度の高い順に並ぶよう命名しているんですよね。

trac-admin /path/to/trac/project priority change blocker 最優先-blocker
trac-admin /path/to/trac/project priority change critical 高-critical
trac-admin /path/to/trac/project priority change major 中-major
trac-admin /path/to/trac/project priority change minor 低-minor
trac-admin /path/to/trac/project priority change trivial 微-trivial

コマンドの細かい指定方法などはドキュメントを参照してください。公式サイトの英語だけでなく、Trac-ja にも同一のドキュメントが同梱されていますので動作する環境になっていればそちらを参照すると分かりやすいかもしれません。

TracPermissions - The Trac Project - Trac

かなり長くなりましたが、以上が Trac のインストールメモです。細かく制御しようとするともう少し手を加える必要がありますが、まずはこのくらいで。

このエントリー自体、二日越しで書きました...

追記

2007年11月13日 追記

mod_auth_mysql で認証

TRACについてそろそろ言っとくか - 逆立ちではたらくOpenPNE開発者の日記@御苑

あとで読む コメント (0) トラックバック (0) Atom/RSS
投稿: 2006年07月26日 23:07 / 最終更新: 2008年07月10日 10:48

» OpenDarwin の活動が停止
« 個人プロジェクト「Return」始動

タグ (関連キーワード)

トラックバック


コメント (投稿する)

コメント投稿





エントリー検索



最近のエントリー




テクノラティプロフィール

フィードメーター - Jamz Update (all blogs)

スカウター : Jamz

awasete.oshira.se

あわせて読みたい

track feed
SEO対策 | ブログパーツ


イベント情報

LL魂
08月04日(土)開催 参加予定


クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.

テクノラティプロフィール