Trac のストレージ - Environment

Trac はプロジェクトのデータを保存するのに、構造的なディレクトリ構造とデータベースを使用します。

Environment の作成

新しい Trac Environment を作成するには、 trac-admin コマンドを使用します:

$ trac-admin /path/to/projectenv initenv

trac-admin は プロジェクトの名前、 データベースに接続するための文字列(以下に説明します)、 Subversion リポジトリの位置を尋ねます。

Note: Environment のディレクトリ配下は、 Web サーバの実行ユーザに書き込みパーミッションを 与える必要があります。適切なパーミッションの付与を忘れないようにしてください。 書き込みパーミッションの付与は、 Subversion のリポジトリにも当てはまります。 ただし、あなたが Subversion リポジトリにバークレー DB のファイルシステムを使用していないならば、 Trac は読み取りパーミッションしか必要としません。

データベースに接続するための文字列

バージョン 0.9 以降の Trac では SQLitePostgreSQL の両方をデータベースのバックエンドとしてサポートするようになりました。 通常では SQLite を使用します。たぶんほとんどのプロジェクトにとっては SQLite で十分です。 データベースファイルは Environment のディレクトリに保存されます。そして、 Trac のバックアップ で Environment の残りの部分 (データベースファイル以外のファイル) と一緒にバックアップすることができます。

組み込みの SQLite データベースに接続するための文字列は以下の通りです:

sqlite:db/trac.db

もしあなたが、 PostgreSQL を代わりに使用する場合、 異なる接続用文字列を使用しなければなりません。 例えば、ユーザ名 johndoe でパスワード letmein で ローカルホストの trac と呼ばれるデータベースに接続するには以下のように指定します。

postgres://johndoe:letmein@localhost/trac

もし、 PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします:

postgres://johndoe:letmein@localhost:9342/trac

PostgreSQL を使用するとき、trac-admin initenv を実行する前に データベースを作成しなければいけません。

ディレクトリ構造

一つのプロジェクトの 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 マクロ

See also: TracAdmin, TracBackup, TracIni, TracGuide