Changes between Version 1 and Version 2 of TracEnvironment
- Timestamp:
- May 13, 2012, 9:15:45 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracEnvironment
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 新しい Trac Environment を作成するには、 [ wiki:TracAdmin trac-admin] コマンドを使用します:7 新しい Trac Environment を作成するには、 [TracAdmin#initenv trac-admin の initenv] を使用します: 8 8 {{{ 9 $ trac-admin /path/to/ projectenvinitenv9 $ trac-admin /path/to/myproject initenv 10 10 }}} 11 11 12 [wiki:TracAdmin trac-admin] はあなたに、プロジェクトの名前、 13 データベースに接続するための文字列 (以下に説明します) 、 14 ソースコードリポジトリの種類とパスを尋ねてきます。 12 `trac-admin` はプロジェクトの名前とデータベースに接続するための文字列 13 (後で説明します) を尋ねてきます。 15 14 16 ''Note: Environment のディレクトリ配下は、 Web サーバの実行ユーザに書き込みパーミッションを 17 与える必要があります。適切なパーミッションの付与を忘れないようにしてください。 18 書き込みパーミッションの付与は、 Trac が最終的に使用している Subversion のリポジトリにも当てはまります。 19 ただし、あなたが Subversion リポジトリに Barkley DB のファイルシステムを使用していないならば、 20 Trac は読み取りパーミッションしか必要としません。'' 15 === Tips === #SomeUsefulTips 16 - Environment のディレクトリ配下は、 Web サーバの実行ユーザが書き込み可能でなければなりません。 17 適切なパーミッションの付与を忘れないようにしてください。 18 同じことがソースコードリポジトリにも当てはまりますが、 19 Subversion リポジトリの場合は、ファイルシステムに Barkley DB を使用していない場合は、 Trac は読み取りパーミッションしか必要としません; Subversion以外のリポジトリについては、各々のプラグインを確認してください。 20 21 - `initenv` で Subversion リポジトリを使用するように指定されても、 trac-admin コマンドは指定されたリポジトリのパスに対して `svnadmin create` を実行したりしません。新しい Trac enviroment を作るときに、 Subversion リポジトリも新規で作る場合は、 `svnadmin create` は `trac-admin initenv` よりも前に実行しておいてください。 Environment の初期化中にリポジトリが見つからない場合、 "Warning: couldn't index the repository" というメッセージが表示されてしまいます。 21 22 22 == データベースに接続するための文字列 == 23 - 非 ASCII 文字を含むパスはサポートされていません。 24 25 - プロジェクト名に空白文字が混じっていると認証で問題が生じることがありますので注意してください (See [http://trac.edgewall.org/ticket/7163 #7163])。 23 26 24 バージョン 0.9 以降の Trac では [http://sqlite.org/ SQLite], 25 [http://www.postgresql.org/ PostgreSQL] と [http://mysql.com/ MySQL] をバックエンドのデータベースとして 26 利用可能になりました。通常では SQLite を使用します。たぶんほとんどのプロジェクトにとっては SQLite で十分です。 27 データベースファイルは Environment のディレクトリに保存されます。そして、 28 [wiki:TracBackup Trac のバックアップ] で Environment の残りの部分 (データベースファイル以外のファイル) 29 と一緒にバックアップすることができます。 27 - [TracIni#GlobalConfiguration グローバル設定ファイル] に定義した [TracIni#inherit-section 共有するプラグインのディレクトリ] に配置した TracPlugins は Environment の作成時はロードされないようになりました。そのため、データベースのテーブルなどを追加で作成する必要がある場合は [TracUpgrade#UpgradetheTracEnvironment Environment をアップグレード] せねばなりません。 30 28 31 組み込みの SQLite データベースに接続するための文字列は以下の通りです: 29 == データベースに接続するための文字列 == #DatabaseConnectionStrings 30 31 バージョン 0.9 以降、 Trac は [http://sqlite.org/ SQLite] と 32 [http://www.postgresql.org/ PostgreSQL] データベースバックエンドの両方をサポートします。 33 [http://mysql.com/ MySQL] のサポートは 0.10 で加えられました。 デフォルトでは 34 SQLiLte を使用します。 (ほとんどのプロジェクトは SQLite で十分です)。データベース 35 ファイルは Environment ディレクトリに保存されますので、 Environment の残りと共に容易に 36 [wiki:TracBackup バックアップ] することができます。 37 38 === SQLite の接続文字列 === #SQLiteConnectionString 39 SQLite データベースに接続するための文字列は以下の通りです: 32 40 {{{ 33 41 sqlite:db/trac.db 34 42 }}} 43 `db/trac.db` の箇所は Trac Environment のデータベースファイルへのパスを指します。 35 44 36 もしあなたが、 PostgreSQL や MySQL を代わりに使用する場合、 37 異なる接続用文字列を使用しなければなりません。 例えば、 PostgreSQL に接続するとき、 45 === PostgreSQL の接続文字列 === #PostgreSQLConnectionString 46 PostgreSQL や MySQL を代わりに使用する場合、異なる接続用文字列を 47 使用しなければなりません。 例えば PostgreSQL に接続するとき、 38 48 ユーザ名 `johndoe` でパスワード `letmein` で 39 ローカルホストの `trac` と呼ばれるデータベースに接続するには以下のように指定します:49 同じマシンの `trac` と呼ばれるデータベースに接続するには以下のように指定します: 40 50 {{{ 41 51 postgres://johndoe:letmein@localhost/trac 42 52 }}} 53 ''"/" 及び "@" はパスワードの一部として使用出来ないので注意してください'' 43 54 44 もし、PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします:55 PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします: 45 56 {{{ 46 57 postgres://johndoe:letmein@localhost:9342/trac 58 }}} 59 60 UNIX ホストでは、 UNIX ソケットで接続するように設定できます。 61 この場合、環境変数 PGHOST に定義されたデフォルトソケットを使用します: 62 {{{ 63 postgres://user:password@/database 64 }}} 65 ソケットを特定する場合はこうです: 66 {{{ 67 postgres://user:password@/database?host=/path/to/socket/dir 47 68 }}} 48 69 … … 50 71 データベースを作成しなければいけません。 51 72 52 PostgreSQL データベースの名前は "trac" にしてください。そのほうが都合がいいです: 53 また、 trac-user-name に大文字を使用すると動きません。73 [http://postgresql.org PostgreSQL] の詳細設定の方法については [http://www.postgresql.org/docs/ PostgreSQL ドキュメント] を参照してください。 74 下記は `tracuser` という名のデータベースユーザ及び `trac` という名のデータベースを作成します。 54 75 {{{ 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'; 76 createuser -U postgres -E -P tracuser 77 createdb -U postgres -O tracuser -E UTF8 trac 78 }}} 79 `createuser` を実行する時、'tracuser' のパスワードの入力を促されます。この新しいユーザはスーパーユーザではないので、他のデータベースを作ったり、他の role (訳注: PostgreSQL でのユーザ) を作る権限を与えられていません。これらの権限は trac のインスタンスを実行する為には必要ではありません。ユーザにパスワードを付与したくない場合、 `createuser` コマンドから `-P` と `-E` オプションを取り除いてください。また、データベースが UTF8 で作成する必要があることに注意してください。 LATIN1 のエンコードが原因のエラーを引き起こします。 SQL_ASCII でも同様です。 80 81 デフォルト設定 (debian) の下では、 `postgres` ユーザとして `createuser` と `createdb` スクリプトを実行してください。 例えば: 82 {{{ 83 sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser' 84 sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac' 58 85 }}} 59 86 60 (sudo/su を設定していなければ、手動で createdb と psql を実行する必要があることに留意してください。このドキュメントを読んで最初そのことを理解するまで少し時間がかかりました。 (訳注: この一文は本家サイトの Wiki に寄せられた感想のようです)) 87 Trac はデフォルトで `public` スキーマを使用しますが、明示的に違うスキーマを指定することができます: 88 {{{ 89 postgres://user:pass@server/database?schema=yourschemaname 90 }}} 61 91 62 == ソースコードリポジトリ ==92 === MySQL の接続文字列 === #MySQLConnectionString 63 93 64 最初にリポジトリの ''type'' を指定しなければなりません。 (例 Subversion ならば `svn` 、 65 これがデフォルトです)、そしてリポジトリの ''path'' を指定しなければなりません。 94 MySQL を代わりに使用したい場合、違う接続文字列を使用します。 95 例えば、同じマシンにある `trac` という MySQL データベースに、 96 `johndoe` というユーザでパスワード `letmein` で接続する場合の 97 MySQL の接続文字列は次の通りです: 98 {{{ 99 mysql://johndoe:letmein@localhost:3306/trac 100 }}} 66 101 67 リポジトリなしで、 Trac を使用したいときは、単に ''path'' 部分に何も入力しないままにして下さい。 68 (その場合''type'' の情報は影響しません) 102 == ソースコードリポジトリ == #SourceCodeRepository 69 103 70 リポジトリシステムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定 71 することもできます。 Trac はそのスコープ以下に限定したファイルとチェンジセット 72 に関連する情報を表示します。 Trac のバックエンドで Subversion を 使う場合 73 このようなことが可能です; 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。 104 0.12 以降のバージョンでは、一つの Environment から複数のリポジトリに接続できるようになりました。 Environment からリポジトリに接続する方法は沢山あるので、詳細は TracRepositoryAdmin を参照してください。左記のページではリポジトリごとに設定する項目 (`type`, `url`, `description` など) について詳しく解説されています。 74 105 75 Subversion リポジトリの設定の一例です: 106 Trac 0.12 の `trac-admin` コマンドでは、接続するリポジトリの指定が必須ではなくなりました。デフォルトでは Trac はソースコードリポジトリへの接続を作成せず、メインナビゲーションの ''リポジトリブラウザ'' (英語版では ''Browse Source'') も表示されなくなります。 107 ロードされている `trac.versioncontrol.*` コンポーネントを完全に無効化するには下記設定を行ってください 108 {{{ 109 [components] 110 trac.versioncontrol.* = disabled 111 }}} 112 113 バージョン管理システムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定することもできます。 114 Trac はそのスコープ以下に限定したファイルとチェンジセットに関連する情報を表示します。 115 Trac のバックエンドに Subversion を 使う場合は、この機能を利用できます; 116 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。 117 118 デフォルトリポジトリのみで構成される Subversion リポジトリの設定の一例です: 76 119 {{{ 77 120 [trac] … … 87 130 }}} 88 131 89 == ディレクトリ構造 == 132 == ディレクトリ構造 == #DirectoryStructure 90 133 91 一つのプロジェクトの Environment のディレクトリは通常以下に示すファイルとディレクトリから成り立ちます。134 プロジェクト Environment のディレクトリは通常、以下に示すファイルとディレクトリから成り立ちます。 92 135 93 136 * `README` - Environment について記述したドキュメント。 … … 97 140 * `trac.ini` - メインとなる設定ファイル。詳細は TracIni に記述しています。 98 141 * `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 マクロ] 142 * `trac.db` - SQLite データベース (SQLite を使用している場合) 143 * `htdocs` - Web のリソースを格納するディレクトリ。URL `/htdocs/site/...` を使用した Genshi テンプレートから参照する。 ''(0.11 以降)'' 144 * `log` - ログファイルのデフォルトディレクトリ。ログ機能が有効に設定され相対パスが与えられた場合に使用する。 145 * `plugins` - Environment に固有の [wiki:TracPlugins プラグイン] (Python egg または単独のファイル、 [http://trac.edgewall.org/milestone/0.10 0.10] 以降) 146 * `templates` - カスタム (プロジェクトに固有の) Genshi テンプレート ''(0.11 以降)'' 147 * `site.html` - カスタムヘッダ, フッタ, スタイルシート。 TracInterfaceCustomization#SiteAppearance に記載 106 148 107 '''Note: Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。 108 上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけですが、 109 2つは同じ場所においては ''いけません'' 。''' 149 '''要注意:''' ''Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。'' 150 151 初心者がよくやる誤りです。 152 上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけです。 153 全く関連はありませんので、2つは同じ場所においては ''いけません''。 110 154 111 155 ----