Trac Environment
Trac はプロジェクトのデータを保存するために、ディレクトリ構造とデータベースを使用します。このディレクトリを "Environment" と呼びます。
Environment の作成
新しい Trac Environment を作成するには、 trac-admin コマンドを使用します:
$ trac-admin /path/to/projectenv initenv
trac-admin はあなたに、プロジェクトの名前、 データベースに接続するための文字列 (以下に説明します) 、 ソースコードリポジトリの種類とパスを尋ねてきます。
Note: Environment のディレクトリ配下は、 Web サーバの実行ユーザに書き込みパーミッションを 与える必要があります。適切なパーミッションの付与を忘れないようにしてください。 書き込みパーミッションの付与は、 Trac が最終的に使用している Subversion のリポジトリにも当てはまります。 ただし、あなたが Subversion リポジトリに Barkley DB のファイルシステムを使用していないならば、 Trac は読み取りパーミッションしか必要としません。
データベースに接続するための文字列
バージョン 0.9 以降の Trac では SQLite, PostgreSQL と MySQL をバックエンドのデータベースとして 利用可能になりました。通常では SQLite を使用します。たぶんほとんどのプロジェクトにとっては SQLite で十分です。 データベースファイルは Environment のディレクトリに保存されます。そして、 Trac のバックアップ で Environment の残りの部分 (データベースファイル以外のファイル) と一緒にバックアップすることができます。
組み込みの SQLite データベースに接続するための文字列は以下の通りです:
sqlite:db/trac.db
もしあなたが、 PostgreSQL や MySQL を代わりに使用する場合、 異なる接続用文字列を使用しなければなりません。 例えば、 PostgreSQL に接続するとき、 ユーザ名 johndoe でパスワード letmein で ローカルホストの trac と呼ばれるデータベースに接続するには以下のように指定します:
postgres://johndoe:letmein@localhost/trac
もし、 PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします:
postgres://johndoe:letmein@localhost:9342/trac
PostgreSQL を使用するとき、 trac-admin initenv を実行する前に データベースを作成しなければいけません。
PostgreSQL データベースの名前は "trac" にしてください。そのほうが都合がいいです: また、 trac-user-name に大文字を使用すると動きません。
sudo su - postgres -c createdb trac sudo su - postgres -c psql trac CREATE USER trac-user-name WITH PASSWORD 'trac-pass-name';
(sudo/su を設定していなければ、手動で createdb と psql を実行する必要があることに留意してください。このドキュメントを読んで最初そのことを理解するまで少し時間がかかりました。 (訳注: この一文は本家サイトの Wiki に寄せられた感想のようです))
ソースコードリポジトリ
最初にリポジトリの type を指定しなければなりません。 (例 Subversion ならば svn 、 これがデフォルトです)、そしてリポジトリの path を指定しなければなりません。
リポジトリなしで、 Trac を使用したいときは、単に path 部分に何も入力しないままにして下さい。 (その場合type の情報は影響しません)
リポジトリシステムによっては、リポジトリへのパスだけではなく、リポジトリ内の scope を設定 することもできます。 Trac はそのスコープ以下に限定したファイルとチェンジセット に関連する情報を表示します。 Trac のバックエンドで Subversion を 使う場合 このようなことが可能です; 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。
Subversion リポジトリの設定の一例です:
[trac] repository_type = svn repository_dir = /path/to/your/repository
スコープを絞った Subversion リポジトリの設定の一例です:
[trac] repository_type = svn repository_dir = /path/to/your/repository/scope/within/repos
ディレクトリ構造
一つのプロジェクトの Environment のディレクトリは通常以下に示すファイルとディレクトリから成り立ちます。
- README - Environment について記述したドキュメント。
- VERSION - Environment のバージョン識別情報。
- attachments - 全ての添付ファイルはここに保存されます。
- conf
- trac.ini - メインとなる設定ファイル。詳細は TracIni に記述しています。
- db
- trac.db - SQLite データベース (SQLite を使用しているならば)
- plugins - Environment に固有の プラグイン (Python eggs)
- templates - カスタム (プロジェクトに固有の) テンプレート
- site_css.cs - カスタム CSS スタイルシート
- site_footer.cs - カスタムフッタ
- site_header.cs - カスタムヘッダ
- wiki-macros - Environment に固有の Wiki マクロ
Note: Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。
上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけですが、 2つは同じ場所においては いけません 。
See also: TracAdmin, TracBackup, TracIni, TracGuide