Changes between Initial Version and Version 1 of TracEnvironment


Ignore:
Timestamp:
2010/10/12 00:14:07 (14 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracEnvironment

    v1 v1  
     1= Trac Environment = #TracEnvironment 
     2 
     3Trac はプロジェクトのデータを保存するために、ディレクトリ構造とデータベースを使用します。このディレクトリを "Environment" と呼びます。 
     4 
     5== Environment の作成 == #CreatinganEnvironment 
     6 
     7新しい Trac Environment を作成するには、 [TracAdmin#initenv trac-admin の initenv] を使用します: 
     8{{{ 
     9$ trac-admin /path/to/myproject initenv 
     10}}} 
     11 
     12`trac-admin` はプロジェクトの名前とデータベースに接続するための文字列 
     13(後で説明します) を尋ねてきます。 
     14 
     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" というメッセージが表示されてしまいます。 
     22 
     23 - 非 ASCII 文字を含むパスはサポートされていません。 
     24  
     25 - プロジェクト名に空白文字が混じっていると認証で問題が生じることがありますので注意してください  (See [http://trac.edgewall.org/ticket/7163 #7163])。 
     26 
     27 - [TracIni#GlobalConfiguration グローバル設定ファイル] に定義した [TracIni#inherit-section 共有するプラグインのディレクトリ] に配置した TracPlugins は Environment の作成時はロードされないようになりました。そのため、データベースのテーブルなどを追加で作成する必要がある場合は [TracUpgrade#UpgradetheTracEnvironment Environment をアップグレード] せねばなりません。 
     28 
     29== データベースに接続するための文字列 == #DatabaseConnectionStrings 
     30 
     31バージョン 0.9 以降、 Trac は [http://sqlite.org/ SQLite] と 
     32[http://www.postgresql.org/ PostgreSQL] データベースバックエンドの両方をサポートします。 
     33[http://mysql.com/ MySQL] のサポートは 0.10 で加えられました。 デフォルトでは 
     34SQLiLte を使用します。 (ほとんどのプロジェクトは SQLite で十分です)。データベース 
     35ファイルは Environment ディレクトリに保存されますので、 Environment の残りと共に容易に 
     36[wiki:TracBackup バックアップ] することができます。 
     37 
     38=== SQLite の接続文字列 === #SQLiteConnectionString 
     39SQLite データベースに接続するための文字列は以下の通りです: 
     40{{{ 
     41sqlite:db/trac.db 
     42}}} 
     43`db/trac.db` の箇所は Trac Environment のデータベースファイルへのパスを指します。 
     44 
     45=== PostgreSQL の接続文字列 === #PostgreSQLConnectionString 
     46PostgreSQL や MySQL を代わりに使用する場合、異なる接続用文字列を 
     47使用しなければなりません。 例えば PostgreSQL に接続するとき、 
     48ユーザ名 `johndoe` でパスワード `letmein` で 
     49同じマシンの `trac` と呼ばれるデータベースに接続するには以下のように指定します: 
     50{{{ 
     51postgres://johndoe:letmein@localhost/trac 
     52}}} 
     53''"/" 及び "@" はパスワードの一部として使用出来ないので注意してください'' 
     54 
     55PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします: 
     56{{{ 
     57postgres://johndoe:letmein@localhost:9342/trac 
     58}}} 
     59 
     60UNIX ホストでは、 UNIX ソケットで接続するように設定できます。 
     61この場合、環境変数 PGHOST に定義されたデフォルトソケットを使用します: 
     62{{{ 
     63postgres://user:password@/database 
     64}}} 
     65ソケットを特定する場合はこうです: 
     66{{{ 
     67postgres://user:password@/database?host=/path/to/socket/dir 
     68}}} 
     69 
     70PostgreSQL を使用するとき、 `trac-admin initenv` を実行する前に 
     71データベースを作成しなければいけません。 
     72 
     73[http://postgresql.org PostgreSQL] の詳細設定の方法については [http://www.postgresql.org/docs/ PostgreSQL ドキュメント] を参照してください。 
     74下記は `tracuser` という名のデータベースユーザ及び `trac` という名のデータベースを作成します。 
     75{{{ 
     76createuser -U postgres -E -P tracuser 
     77createdb -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{{{ 
     83sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser' 
     84sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac' 
     85}}} 
     86 
     87Trac はデフォルトで `public` スキーマを使用しますが、明示的に違うスキーマを指定することができます: 
     88{{{ 
     89postgres://user:pass@server/database?schema=yourschemaname 
     90}}} 
     91 
     92=== MySQL の接続文字列 === #MySQLConnectionString 
     93 
     94MySQL を代わりに使用したい場合、違う接続文字列を使用します。 
     95例えば、同じマシンにある `trac` という MySQL データベースに、 
     96`johndoe` というユーザでパスワード `letmein` で接続する場合の 
     97MySQL の接続文字列は次の通りです: 
     98{{{ 
     99mysql://johndoe:letmein@localhost:3306/trac 
     100}}} 
     101 
     102== ソースコードリポジトリ == #SourceCodeRepository 
     103 
     1040.12 以降のバージョンでは、一つの Environment から複数のリポジトリに接続できるようになりました。 Environment からリポジトリに接続する方法は沢山あるので、詳細は TracRepositoryAdmin を参照してください。左記のページではリポジトリごとに設定する項目 (`type`, `url`, `description` など) について詳しく解説されています。 
     105 
     106Trac 0.12 の `trac-admin` コマンドでは、接続するリポジトリの指定が必須ではなくなりました。デフォルトでは Trac はソースコードリポジトリへの接続を作成せず、メインナビゲーションの ''リポジトリブラウザ'' (英語版では ''Browse Source'') も表示されなくなります。 
     107ロードされている `trac.versioncontrol.*` コンポーネントを完全に無効化するには下記設定を行ってください 
     108{{{ 
     109[components] 
     110trac.versioncontrol.* = disabled 
     111}}} 
     112 
     113バージョン管理システムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定することもできます。 
     114Trac はそのスコープ以下に限定したファイルとチェンジセットに関連する情報を表示します。 
     115Trac のバックエンドに Subversion を 使う場合は、この機能を利用できます; 
     116他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。 
     117 
     118デフォルトリポジトリのみで構成される Subversion リポジトリの設定の一例です: 
     119{{{ 
     120[trac] 
     121repository_type = svn 
     122repository_dir = /path/to/your/repository 
     123}}} 
     124 
     125スコープを絞った Subversion リポジトリの設定の一例です: 
     126{{{ 
     127[trac] 
     128repository_type = svn 
     129repository_dir = /path/to/your/repository/scope/within/repos 
     130}}} 
     131 
     132== ディレクトリ構造 == #DirectoryStructure 
     133 
     134プロジェクト Environment のディレクトリは通常、以下に示すファイルとディレクトリから成り立ちます。 
     135 
     136 * `README` - Environment について記述したドキュメント。 
     137 * `VERSION` - Environment のバージョン識別情報。 
     138 * `attachments` - 全ての添付ファイルはここに保存されます。 
     139 * `conf` 
     140   * `trac.ini` - メインとなる設定ファイル。詳細は TracIni に記述しています。 
     141 * `db` 
     142   * `trac.db` - SQLite データベース (SQLite を使用している場合) 
     143 * `htdocs` - Web のリソースを格納するディレクトリ。 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 に記載 
     148 
     149'''要注意:''' ''Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。'' 
     150 
     151初心者がよくやる誤りです。 
     152上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけです。 
     153全く関連はありませんので、2つは同じ場所においては ''いけません''。 
     154 
     155---- 
     156See also: TracAdmin, TracBackup, TracIni, TracGuide 
     157