Changes between Version 1 and Version 2 of TracEnvironment


Ignore:
Timestamp:
May 13, 2012, 9:15:45 PM (13 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracEnvironment

    v1 v2  
    1 = Trac Environment =
     1= Trac Environment = #TracEnvironment
    22
    33Trac はプロジェクトのデータを保存するために、ディレクトリ構造とデータベースを使用します。このディレクトリを "Environment" と呼びます。
    44
    5 == Environment の作成 ==
     5== Environment の作成 == #CreatinganEnvironment
    66
    7 新しい Trac Environment を作成するには、 [wiki:TracAdmin trac-admin] コマンドを使用します:
     7新しい Trac Environment を作成するには、 [TracAdmin#initenv trac-admin の initenv] を使用します:
    88{{{
    9 $ trac-admin /path/to/projectenv initenv
     9$ trac-admin /path/to/myproject initenv
    1010}}}
    1111
    12 [wiki:TracAdmin trac-admin] はあなたに、プロジェクトの名前、
    13 データベースに接続するための文字列 (以下に説明します) 、
    14 ソースコードリポジトリの種類とパスを尋ねてきます。
     12`trac-admin` はプロジェクトの名前とデータベースに接続するための文字列
     13(後で説明します) を尋ねてきます。
    1514
    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" というメッセージが表示されてしまいます。
    2122
    22 == データベースに接続するための文字列 ==
     23 - 非 ASCII 文字を含むパスはサポートされていません。
     24 
     25 - プロジェクト名に空白文字が混じっていると認証で問題が生じることがありますので注意してください  (See [http://trac.edgewall.org/ticket/7163 #7163])。
    2326
    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 をアップグレード] せねばなりません。
    3028
    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 で加えられました。 デフォルトでは
     34SQLiLte を使用します。 (ほとんどのプロジェクトは SQLite で十分です)。データベース
     35ファイルは Environment ディレクトリに保存されますので、 Environment の残りと共に容易に
     36[wiki:TracBackup バックアップ] することができます。
     37
     38=== SQLite の接続文字列 === #SQLiteConnectionString
     39SQLite データベースに接続するための文字列は以下の通りです:
    3240{{{
    3341sqlite:db/trac.db
    3442}}}
     43`db/trac.db` の箇所は Trac Environment のデータベースファイルへのパスを指します。
    3544
    36 もしあなたが、 PostgreSQL や MySQL を代わりに使用する場合、
    37 異なる接続用文字列を使用しなければなりません。 例えば、 PostgreSQL に接続するとき、
     45=== PostgreSQL の接続文字列 === #PostgreSQLConnectionString
     46PostgreSQL や MySQL を代わりに使用する場合、異なる接続用文字列を
     47使用しなければなりません。 例えば PostgreSQL に接続するとき、
    3848ユーザ名 `johndoe` でパスワード `letmein` で
    39 ローカルホストの `trac` と呼ばれるデータベースに接続するには以下のように指定します:
     49同じマシンの `trac` と呼ばれるデータベースに接続するには以下のように指定します:
    4050{{{
    4151postgres://johndoe:letmein@localhost/trac
    4252}}}
     53''"/" 及び "@" はパスワードの一部として使用出来ないので注意してください''
    4354
    44 もし、 PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします:
     55PostgreSQL がデフォルト以外のポート番号 (例えば、 9432) で起動しているときはこのようにします:
    4556{{{
    4657postgres://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
    4768}}}
    4869
     
    5071データベースを作成しなければいけません。
    5172
    52 PostgreSQL データベースの名前は "trac" にしてください。そのほうが都合がいいです:
    53 また、 trac-user-name に大文字を使用すると動きません
     73[http://postgresql.org PostgreSQL] の詳細設定の方法については [http://www.postgresql.org/docs/ PostgreSQL ドキュメント] を参照してください。
     74下記は `tracuser` という名のデータベースユーザ及び `trac` という名のデータベースを作成します
    5475{{{
    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';
     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'
    5885}}}
    5986
    60 (sudo/su を設定していなければ、手動で createdb と psql を実行する必要があることに留意してください。このドキュメントを読んで最初そのことを理解するまで少し時間がかかりました。 (訳注: この一文は本家サイトの Wiki に寄せられた感想のようです))
     87Trac はデフォルトで `public` スキーマを使用しますが、明示的に違うスキーマを指定することができます:
     88{{{
     89postgres://user:pass@server/database?schema=yourschemaname
     90}}}
    6191
    62 == ソースコードリポジトリ ==
     92=== MySQL の接続文字列 === #MySQLConnectionString
    6393
    64 最初にリポジトリの ''type'' を指定しなければなりません。 (例 Subversion ならば `svn` 、
    65 これがデフォルトです)、そしてリポジトリの ''path'' を指定しなければなりません。
     94MySQL を代わりに使用したい場合、違う接続文字列を使用します。
     95例えば、同じマシンにある `trac` という MySQL データベースに、
     96`johndoe` というユーザでパスワード `letmein` で接続する場合の
     97MySQL の接続文字列は次の通りです:
     98{{{
     99mysql://johndoe:letmein@localhost:3306/trac
     100}}}
    66101
    67 リポジトリなしで、 Trac を使用したいときは、単に ''path'' 部分に何も入力しないままにして下さい。
    68 (その場合''type'' の情報は影響しません)
     102== ソースコードリポジトリ == #SourceCodeRepository
    69103
    70 リポジトリシステムによっては、リポジトリへのパスだけではなく、リポジトリ内の ''scope'' を設定
    71 することもできます。 Trac はそのスコープ以下に限定したファイルとチェンジセット
    72 に関連する情報を表示します。 Trac のバックエンドで  Subversion を 使う場合
    73 このようなことが可能です; 他のリポジトリシステムについては、対応するプラグインのドキュメントで確認して下さい。
     1040.12 以降のバージョンでは、一つの Environment から複数のリポジトリに接続できるようになりました。 Environment からリポジトリに接続する方法は沢山あるので、詳細は TracRepositoryAdmin を参照してください。左記のページではリポジトリごとに設定する項目 (`type`, `url`, `description` など) について詳しく解説されています。
    74105
    75 Subversion リポジトリの設定の一例です:
     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 リポジトリの設定の一例です:
    76119{{{
    77120[trac]
     
    87130}}}
    88131
    89 == ディレクトリ構造 ==
     132== ディレクトリ構造 == #DirectoryStructure
    90133
    91 一つのプロジェクトの Environment のディレクトリは通常以下に示すファイルとディレクトリから成り立ちます。
     134プロジェクト Environment のディレクトリは通常、以下に示すファイルとディレクトリから成り立ちます。
    92135
    93136 * `README` - Environment について記述したドキュメント。
     
    97140   * `trac.ini` - メインとなる設定ファイル。詳細は TracIni に記述しています。
    98141 * `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 に記載
    106148
    107   '''Note: Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。
    108 上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけですが、
    109 2つは同じ場所においては ''いけません'' 。'''
     149'''要注意:''' ''Trac Environment のディレクトリとソースコードリポジトリのディレクトリを一緒にしないで下さい。''
     150
     151初心者がよくやる誤りです。
     152上記のディレクトリ構造は Subversion リポジトリのディレクトリ構造をざっくりと真似ているだけです。
     153全く関連はありませんので、2つは同じ場所においては ''いけません''。
    110154
    111155----