初期バージョン から バージョン 1 における更新: TracEnvironment

差分発生行の前後
無視リスト:
更新日時:
2011/12/16 18:40:18 (13 年 前)
更新者:
trac
コメント:

--

凡例:

変更なし
追加
削除
変更
  • TracEnvironment

    v1 v1  
     1= Trac Environment = #TracEnvironment 
     2 
     3Trac はプロジェクトのデータを保存するために、ディレクトリ構造とデータベースを使用します。このディレクトリを "Environment" と呼びます。 
     4 
     5== Environment の作成 == #CreatinganEnvironment 
     6 
     7新しい Trac Environment を作成するには、 [wiki:TracAdmin trac-admin] コマンドを使用します: 
     8{{{ 
     9$ trac-admin /path/to/myproject initenv 
     10}}} 
     11 
     12[wiki:TracAdmin trac-admin] はプロジェクトの名前、 
     13データベースに接続するための文字列 (後で説明します) 、 
     14ソースコードリポジトリの種類とパスを尋ねてきます。 
     15 
     16''Note: Environment のディレクトリ配下は、 Web サーバの実行ユーザに書き込みパーミッションを 
     17与える必要があります。適切なパーミッションの付与を忘れないようにしてください。 
     18同じことが Subversion リポジトリにも当てはまります。 
     19ただし、 Subversion リポジトリに Barkley DB のファイルシステムを使用していない場合は、 
     20Trac は読み取りパーミッションしか必要としません。また、プロジェクト名に空白文字が混じっていると認証で問題が生じることがありますので注意してください  (See [http://trac.edgewall.org/ticket/7163 #7163])。'' 
     21 
     22== データベースに接続するための文字列 == #DatabaseConnectionStrings 
     23 
     24バージョン 0.9 以降、 Trac は [http://sqlite.org/ SQLite] と 
     25[http://www.postgresql.org/ PostgreSQL] データベースバックエンドの両方をサポートします。 
     26[http://mysql.com/ MySQL] のサポートは 0.10 で加えられました。 デフォルトでは 
     27SQLiLte を使用します。 (ほとんどのプロジェクトは SQLite で十分です)。データベース 
     28ファイルは Environment ディレクトリに保存されますので、 Environment の残りと共に容易に 
     29[wiki:TracBackup バックアップ] することができます。 
     30 
     31=== SQLite の接続文字列 === #EmbeddedSQLiteConnectionString 
     32SQLite データベースに接続するための文字列は以下の通りです: 
     33{{{ 
     34sqlite:db/trac.db 
     35}}} 
     36 
     37=== PostgreSQL の接続文字列 === #PostgreSQLConnectionString 
     38PostgreSQL や MySQL を代わりに使用する場合、異なる接続用文字列を 
     39使用しなければなりません。 例えば PostgreSQL に接続するとき、 
     40ユーザ名 `johndoe` でパスワード `letmein` で 
     41同じマシンの `trac` と呼ばれるデータベースに接続するには以下のように指定します: 
     42{{{ 
     43postgres://johndoe:letmein@localhost/trac 
     44}}} 
     45''"/" 及び "@" はパスワードの一部として使用出来ないので注意してください'' 
     46 
     47PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします: 
     48{{{ 
     49postgres://johndoe:letmein@localhost:9342/trac 
     50}}} 
     51 
     52UNIX ホストでは、 UNIX ソケットで接続するように設定できます。 
     53この場合、環境変数 PGHOST に定義されたデフォルトソケットを使用します: 
     54{{{ 
     55postgres://user:password@/database 
     56}}} 
     57ソケットを特定する場合はこうです: 
     58{{{ 
     59postgres://user:password@/database?host=/path/to/socket/dir 
     60}}} 
     61 
     62PostgreSQL を使用するとき、 `trac-admin initenv` を実行する前に 
     63データベースを作成しなければいけません。 
     64 
     65[http://postgresql.org PostgreSQL] の詳細設定の方法については [http://www.postgresql.org/docs/ PostgreSQL ドキュメント] を参照してください。 
     66下記は `tracuser` という名のデータベースユーザ及び `trac` という名のデータベースを作成します。 
     67{{{ 
     68createuser -U postgres -E -P tracuser 
     69createdb -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{{{ 
     75sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser' 
     76sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac' 
     77}}} 
     78 
     79Trac はデフォルトで `public` スキーマを使用しますが、明示的に違うスキーマを指定することができます: 
     80{{{ 
     81postgres://user:pass@server/database?schema=yourschemaname 
     82}}} 
     83 
     84=== MySQL の接続文字列 === #MySQLConnectionString 
     85 
     86MySQL を代わりに使用したい場合、違う接続文字列を使用します。 
     87例えば、同じマシンにある `trac` という MySQL データベースに、 
     88`johndoe` というユーザでパスワード `letmein` で接続する場合の 
     89MySQL の接続文字列は次の通りです: 
     90{{{ 
     91mysql://johndoe:letmein@localhost:3306/trac 
     92}}} 
     93 
     94== ソースコードリポジトリ == #SourceCodeRepository 
     95 
     96最初にリポジトリの ''type'' を指定し (例: Subversion ならば `svn` 、 
     97これがデフォルトです)、その後、リポジトリの ''path'' を指定します。 
     98 
     99リポジトリなしで、 Trac を使用したいときは、単に ''path'' 部分に何も入力しないままにして下さい。  
     100(その場合 ''type'' の情報は影響しません) 
     101 
     102バージョン管理システムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定 
     103することもできます。 Trac はそのスコープ以下に限定したファイルとチェンジセット 
     104に関連する情報を表示します。 Trac のバックエンドに Subversion を 使う場合は、 
     105この機能を利用できます; 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。 
     106 
     107Subversion リポジトリの設定の一例です: 
     108{{{ 
     109[trac] 
     110repository_type = svn 
     111repository_dir = /path/to/your/repository 
     112}}} 
     113 
     114スコープを絞った Subversion リポジトリの設定の一例です: 
     115{{{ 
     116[trac] 
     117repository_type = svn 
     118repository_dir = /path/to/your/repository/scope/within/repos 
     119}}} 
     120 
     121== ディレクトリ構造 == #DirectoryStructure 
     122 
     123プロジェクト Environment のディレクトリは通常、以下に示すファイルとディレクトリから成り立ちます。 
     124 
     125 * `README` - Environment について記述したドキュメント。 
     126 * `VERSION` - Environment のバージョン識別情報。 
     127 * `attachments` - 全ての添付ファイルはここに保存されます。 
     128 * `conf` 
     129   * `trac.ini` - メインとなる設定ファイル。詳細は TracIni に記述しています。 
     130 * `db` 
     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 の場合)''' '' 
     142 
     143  '''Note: Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。 
     144上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけですが、 
     1452つは同じ場所においては ''いけません'' 。''' 
     146 
     147---- 
     148See also: TracAdmin, TracBackup, TracIni, TracGuide