v1 | v2 | |
---|---|---|
1 | = Trac Environment = |
|
1 | = Trac Environment = #TracEnvironment | |
2 | 2 | |
3 | 3 | Trac はプロジェクトのデータを保存するために、ディレクトリ構造とデータベースを使用します。このディレクトリを "Environment" と呼びます。 |
4 | 4 | |
5 | == Environment の作成 == |
|
5 | == Environment の作成 == #CreatinganEnvironment | |
6 | 6 | |
7 | 7 | 新しい Trac Environment を作成するには、 [wiki:TracAdmin trac-admin] コマンドを使用します: |
8 | 8 | {{{ |
9 | $ trac-admin /path/to/ |
|
9 | $ trac-admin /path/to/myproject initenv | |
10 | 10 | }}} |
11 | 11 | |
12 | [wiki:TracAdmin trac-admin] は |
|
13 | データベースに接続するための文字列 ( |
|
12 | [wiki:TracAdmin trac-admin] はプロジェクトの名前、 | |
13 | データベースに接続するための文字列 (後で説明します) 、 | |
14 | 14 | ソースコードリポジトリの種類とパスを尋ねてきます。 |
15 | 15 | |
16 | 16 | ''Note: Environment のディレクトリ配下は、 Web サーバの実行ユーザに書き込みパーミッションを |
17 | 17 | 与える必要があります。適切なパーミッションの付与を忘れないようにしてください。 |
18 | ||
19 | ただし、 |
|
20 | Trac は読み取りパーミッションしか必要としません。 |
|
18 | 同じことが Subversion リポジトリにも当てはまります。 | |
19 | ただし、 Subversion リポジトリに Barkley DB のファイルシステムを使用していない場合は、 | |
20 | Trac は読み取りパーミッションしか必要としません。また、プロジェクト名に空白文字が混じっていると認証で問題が生じることがありますので注意してください (See [http://trac.edgewall.org/ticket/7163 #7163])。'' | |
21 | 21 | |
22 | == データベースに接続するための文字列 == |
|
22 | == データベースに接続するための文字列 == #DatabaseConnectionStrings | |
23 | 23 | |
24 | バージョン 0.9 以降 |
|
25 | [http://www.postgresql.org/ PostgreSQL] |
|
26 | 利用可能になりました。通常では SQLite を使用します。たぶんほとんどのプロジェクトにとっては SQLite で十分です。 | |
27 | データベースファイルは Environment のディレクトリに保存されます。そして、 | |
28 | [wiki:TracBackup Trac のバックアップ] で Environment の残りの部分 (データベースファイル以外のファイル) | |
29 | ||
24 | バージョン 0.9 以降、 Trac は [http://sqlite.org/ SQLite] と | |
25 | [http://www.postgresql.org/ PostgreSQL] データベースバックエンドの両方をサポートします。 | |
26 | [http://mysql.com/ MySQL] のサポートは 0.10 で加えられました。 デフォルトでは | |
27 | SQLiLte を使用します。 (ほとんどのプロジェクトは SQLite で十分です)。データベース | |
28 | ファイルは Environment ディレクトリに保存されますので、 Environment の残りと共に容易に | |
29 | [wiki:TracBackup バックアップ] することができます。 | |
30 | 30 | |
31 | 組み込みの SQLite データベースに接続するための文字列は以下の通りです: | |
31 | === SQLite の接続文字列 === #EmbeddedSQLiteConnectionString | |
32 | SQLite データベースに接続するための文字列は以下の通りです: | |
32 | 33 | {{{ |
33 | 34 | sqlite:db/trac.db |
34 | 35 | }}} |
35 | 36 | |
36 | もしあなたが、 PostgreSQL や MySQL を代わりに使用する場合、 | |
37 | 異なる接続用文字列を使用しなければなりません。 例えば、 PostgreSQL に接続するとき、 | |
37 | === PostgreSQL の接続文字列 === #PostgreSQLConnectionString | |
38 | PostgreSQL や MySQL を代わりに使用する場合、異なる接続用文字列を | |
39 | 使用しなければなりません。 例えば PostgreSQL に接続するとき、 | |
38 | 40 | ユーザ名 `johndoe` でパスワード `letmein` で |
39 | ||
41 | 同じマシンの `trac` と呼ばれるデータベースに接続するには以下のように指定します: | |
40 | 42 | {{{ |
41 | 43 | postgres://johndoe:letmein@localhost/trac |
42 | 44 | }}} |
45 | ''"/" 及び "@" はパスワードの一部として使用出来ないので注意してください'' | |
43 | 46 | |
44 | ||
47 | PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします: | |
45 | 48 | {{{ |
46 | 49 | postgres://johndoe:letmein@localhost:9342/trac |
50 | }}} | |
51 | ||
52 | UNIX ホストでは、 UNIX ソケットで接続するように設定できます。 | |
53 | この場合、環境変数 PGHOST に定義されたデフォルトソケットを使用します: | |
54 | {{{ | |
55 | postgres://user:password@/database | |
56 | }}} | |
57 | ソケットを特定する場合はこうです: | |
58 | {{{ | |
59 | postgres://user:password@/database?host=/path/to/socket/dir | |
47 | 60 | }}} |
48 | 61 | |
… | … | |
50 | 63 | データベースを作成しなければいけません。 |
51 | 64 | |
52 | PostgreSQL データベースの名前は "trac" にしてください。そのほうが都合がいいです: | |
53 | ||
65 | [http://postgresql.org PostgreSQL] の詳細設定の方法については [http://www.postgresql.org/docs/ PostgreSQL ドキュメント] を参照してください。 | |
66 | 下記は `tracuser` という名のデータベースユーザ及び `trac` という名のデータベースを作成します。 | |
54 | 67 | {{{ |
55 | sudo su - postgres -c createdb trac | |
56 | sudo su - postgres -c psql trac | |
57 | CREATE USER trac-user-name WITH PASSWORD 'trac-pass-name'; | |
68 | createuser -U postgres -E -P tracuser | |
69 | createdb -U postgres -O tracuser -E UTF8 trac | |
70 | }}} | |
71 | `createuser` を実行する時、'tracuser' のパスワードの入力を促されます。この新しいユーザはスーパーユーザではないので、他のデータベースを作ったり、他の role (訳注: PostgreSQL でのユーザ) を作る権限を与えられていません。これらの権限は trac のインスタンスを実行する為には必要ではありません。ユーザにパスワードを付与したくない場合、 `createuser` コマンドから `-P` と `-E` オプションを取り除いてください。また、データベースが UTF8 で作成する必要があることに注意してください。 LATIN1 のエンコードが原因のエラーを引き起こします。 SQL_ASCII でも同様です。 | |
72 | ||
73 | デフォルト設定 (debian) の下では、 `postgres` ユーザとして `createuser` と `createdb` スクリプトを実行してください。 例えば: | |
74 | {{{ | |
75 | sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser' | |
76 | sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac' | |
58 | 77 | }}} |
59 | 78 | |
60 | (sudo/su を設定していなければ、手動で createdb と psql を実行する必要があることに留意してください。このドキュメントを読んで最初そのことを理解するまで少し時間がかかりました。 (訳注: この一文は本家サイトの Wiki に寄せられた感想のようです)) | |
79 | Trac はデフォルトで `public` スキーマを使用しますが、明示的に違うスキーマを指定することができます: | |
80 | {{{ | |
81 | postgres://user:pass@server/database?schema=yourschemaname | |
82 | }}} | |
61 | 83 | |
62 | == |
|
84 | === MySQL の接続文字列 === #MySQLConnectionString | |
63 | 85 | |
64 | 最初にリポジトリの ''type'' を指定しなければなりません。 (例 Subversion ならば `svn` 、 | |
65 | これがデフォルトです)、そしてリポジトリの ''path'' を指定しなければなりません。 | |
86 | MySQL を代わりに使用したい場合、違う接続文字列を使用します。 | |
87 | 例えば、同じマシンにある `trac` という MySQL データベースに、 | |
88 | `johndoe` というユーザでパスワード `letmein` で接続する場合の | |
89 | MySQL の接続文字列は次の通りです: | |
90 | {{{ | |
91 | mysql://johndoe:letmein@localhost:3306/trac | |
92 | }}} | |
93 | ||
94 | == ソースコードリポジトリ == #SourceCodeRepository | |
95 | ||
96 | 最初にリポジトリの ''type'' を指定し (例: Subversion ならば `svn` 、 | |
97 | これがデフォルトです)、その後、リポジトリの ''path'' を指定します。 | |
66 | 98 | |
67 | 99 | リポジトリなしで、 Trac を使用したいときは、単に ''path'' 部分に何も入力しないままにして下さい。 |
68 | (その場合 |
|
100 | (その場合 ''type'' の情報は影響しません) | |
69 | 101 | |
70 | ||
102 | バージョン管理システムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定 | |
71 | 103 | することもできます。 Trac はそのスコープ以下に限定したファイルとチェンジセット |
72 | に関連する情報を表示します。 Trac のバックエンド |
|
73 | この |
|
104 | に関連する情報を表示します。 Trac のバックエンドに Subversion を 使う場合は、 | |
105 | この機能を利用できます; 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。 | |
74 | 106 | |
75 | 107 | Subversion リポジトリの設定の一例です: |
… | … | |
87 | 119 | }}} |
88 | 120 | |
89 | == ディレクトリ構造 == |
|
121 | == ディレクトリ構造 == #DirectoryStructure | |
90 | 122 | |
91 | ||
123 | プロジェクト Environment のディレクトリは通常、以下に示すファイルとディレクトリから成り立ちます。 | |
92 | 124 | |
93 | 125 | * `README` - Environment について記述したドキュメント。 |
… | … | |
97 | 129 | * `trac.ini` - メインとなる設定ファイル。詳細は TracIni に記述しています。 |
98 | 130 | * `db` |
99 | * `trac.db` - SQLite データベース (SQLite を使用しているならば) | |
100 | * `plugins` - Environment に固有の [wiki:TracPlugins プラグイン] (Python eggs) | |
101 | * `templates` - カスタム (プロジェクトに固有の) テンプレート | |
102 | * `site_css.cs` - カスタム CSS スタイルシート | |
103 | * `site_footer.cs` - カスタムフッタ | |
104 | * `site_header.cs` - カスタムヘッダ | |
105 | * `wiki-macros` - Environment に固有の [wiki:WikiMacros Wiki マクロ] | |
131 | * `trac.db` - SQLite データベース (SQLite を使用している場合) | |
132 | * `htdocs` - Web のリソースを格納するディレクトリ。 Genshi テンプレートから参照する。 '''''(0.11 の場合)''''' | |
133 | * `log` - ログファイルのデフォルトディレクトリ。ログ機能が有効に設定され相対パスが与えられた場合に使用する。 | |
134 | * `plugins` - Environment に固有の [wiki:TracPlugins プラグイン] (Python eggs, [http://trac.edgewall.org/milestone/0.10 0.10] 以降) | |
135 | * `templates` - カスタム (プロジェクトに固有の) Genshi テンプレート '''''(0.11 の場合)''''' | |
136 | * `site.html` - カスタムヘッダ, フッタ, スタイルシート。 TracInterfaceCustomization#SiteAppearance に記載 | |
137 | * ''`templates` - カスタム (プロジェクトに固有の) !ClearSilver テンプレート '''(0.10 の場合)''' '' | |
138 | * ''`site_css.cs` - カスタム CSS スタイルシート'' | |
139 | * ''`site_footer.cs` - カスタムフッタ'' | |
140 | * ''`site_header.cs` - カスタムヘッダ'' | |
141 | * ''`wiki-macros` - Environment に固有の [WikiMacros Wiki マクロ] '''(0.10 の場合)''' '' | |
106 | 142 | |
107 | 143 | '''Note: Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。 |