= Tracインストールガイド =
[[TracGuideToc]]

Webベースのプロジェクト管理ツールTracはサーバサイドのＣＧＩもしくはスタンドアロンのプログラムとして実装されています。Tracは[http://www.python.org/ Python] で記述されており、
組み込みデータベースとして[http://www.sqlite.org/ SQLite] を使用します。HTMLレンダリングには[http://www.clearsilver.net/ Clearsilver] テンプレートシステムを使用します。  


== インストール要件 ==

ソフトウェア要件:

 * [http://www.python.org/ Python], version 2.1以上 (2.3以上 推奨).
   * RPMベースのシステムではpython-devel とpython-xml パッケージも必要になります。
 * [http://subversion.tigris.org/ Subversion], version 1.0以上 (1.1以上 推奨)
 * [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 Subversion Python bindings] (警告: Tracは [http://pysvn.tigris.org/ PySVN] パッケージ '''ではなく''' Subversion distributionに含まれる[http://www.swig.org/ SWIG]  bindingsを使用します!)
 * [http://www.sqlite.org/ SQLite], version 2.8.x または 3.0.x
 * [http://pysqlite.sf.net/ PySQLite], version 0.5以上1.1.0未満 (SQLite 2.8.xの場合), version 1.1.1以上 (SQLite 3.0.xの場合) 
 * [http://clearsilver.net/ Clearsilver], version 0.9.3 以上
 * [http://docutils.sourceforge.net/ docutils], version 0.3.3以上 (??)
 * CGI が動作するWebサーバ(検証環境は[http://httpd.apache.org/ Apache] )

=== オプショナル パッケージ ===

 * [http://www.modpython.org/ mod_python] (TracModPython 参照)

== Tracのインストール ==
多くのPythonプログラムと同様、ソースディレクトリの一番上で次のコマンドを実行してTracのpythonモジュールをインストールしてください:
{{{
$ python ./setup.py install
}}}

この手順は、Pythonソースコードをバイトコンパイルして、Pythonの {{{site-packages}}} ディレクトリにインストールします。
また、ディレクトリ {{{cgi-bin}}} ,  {{{template}}} ,  {{{htdocs}}} ,   {{{wiki-default}}} は、$prefix/share/trac/ディレクトリにすべてコピーされます。  

さらに、このスクリプトではコマンドラインツールの[wiki:TracAdmin trac-admin] をインストールします。

[wiki:TracAdmin trac-admin] ツールは [wiki:TracEnvironment プロジェクト環境]の生成やメンテナンスに使用する、Tracの''中枢''コマンドです。  

'''Note:''' この操作にはrootもしくは同等の権限が必要です。  

特定のプラットフォームへのTracのインストールについての詳細は、[http://projects.edgewall.com/trac/wiki/TracInstallPlatforms TracInstallPlatforms] ページ(main project ウェブサイトの)を参照してください。

=== 上級ユーザ ===
Tracを上記以外の場所にインストールしたい場合や、その他の高度なインストールオプションを見たい場合は次のコマンドを実行してください:
{{{
$ python ./setup.py --help
}}}

== プロジェクト環境の作成  ==

Trac EnvironmentはTracがwikiページ、チケット、レポート、設定などのような
情報を保存するバックエンドストレージフォーマットです。
Trac EnvironmentはSQLiteデータベース、人間が読むことができるconfigurationファイル、
ログファイルおよび添付ファイルを含むディレクトリで構成されます。  

[wiki:TracAdmin trac-admin]を使用して、新しいTrac environmentを作成します。:

{{{
$ trac-admin /path/to/projectenv initenv
}}}

[wiki:TracAdmin trac-admin] は、Subversionリポジトリがどこに位置しているか、Tracのテンプレート
ディレクトリがどこにあるのかを、あなたに確認します。(通常のインストールの場合はデフォルト値にしておくのがよいでしょう。)  

'''Note:''' Webサーバの起動ユーザには、このenvironmentディレクトリ、およびその配下のすべてのファイルに対する
書き込みパーミッションが必要です。 '''適当なパーミッションを設定しておくのを忘れないようにしてください。 '''

Subversion リポジトリのファイルについても ([http://svn.collab.net/repos/svn/trunk/notes/fsfs FSFS Subversion バックエンド]を使用している場合を除き、) 適切なパーミッションを付与することが必要です。

== Apacheの設定 ==

"{{{trac/cgi-bin/trac.cgi}}}" をWebサーバの{{{/cgi-bin/}}}ディレクトリにコピー(またはシンボリックリンク)してアクセスできるようにしてください。または、"{{{trac/cgi-bin/}}}"ディレクトリを直接使用するようApacheを設定してください。(どちらでも好きな方法で構いません。)

最後にApacheの設定を編集し、以下に示すような設定を追加してください。(ファイル名などはインストールにあわせて変更してください。) 

{{{
Alias /trac/ "/usr/share/trac/htdocs/" #or where you installed the trac htdocs
#You have to allow people to read the files in htdocs
<Directory "/usr/share/trac/htdocs">
	Options Indexes MultiViews
	AllowOverride None
	Order allow,deny
	Allow from all
</Directory>


# Trac need to know where the database is located
<Location "/cgi-bin/trac.cgi">
	SetEnv TRAC_ENV "/path/to/projectenv"
</Location>

# You need this to allow users to authenticate
# trac.htpasswd can be created with 
# cmd 'htpasswd -c trac.htpasswd' (UNIX)
# do 'man htpasswd' to see all the options
<Location "/cgi-bin/trac.cgi/login">
	AuthType Basic
	AuthName "trac"
	AuthUserFile /somewhere/trac.htpasswd
	Require valid-user
</Location>
}}}

'''Note:''' もしもApacheが Set''''''Env に関してエラーを返す場合はmod_envのロードモジュールがコメントアウトされていることを確認してください(Apache 1.3)。

'''Note:''' 新しいプロジェクト環境を作成する時、{{{trac-admin}}} はあなたのプロジェクト用にカスタマイズされた設定の抜粋を表示します。

'''Note:''' [http://httpd.apache.org/docs/suexec.html Apache suEXEC] 機能を使用している場合はプロジェクトウェブサイトの[http://projects.edgewall.com/trac/wiki/ApacheSuexec ApacheSuexec] を参照してください。

== Tracを使おう ==

'''おめでとうございます!'''  これで次のディレクトリにてあなたのTracが動いているはずです。

http://<yourhostname>/cgi-bin/trac.cgi

subversionリポジトリをブラウズしたり、チケットを作成したり、
タイムラインを見るなど、Tracの全機能が使えるはずです。

但し、デフォルトではanonymousユーザ (HTTP認証を通らないユーザ) はTracの全機能のうち限られた一部にしかアクセスできないことは覚えておいてください。

'''Note:'''長い醜いＵＲＬを使いたくない場合は、Apache configを変更すれば“かわいく”すっきりさせることができます。詳しくはprojectウェブサイトの[http://projects.edgewall.com/trac/wiki/TracPrettyUrls TracPrettyUrls]を参照してください。

登録したユーザに追加の権限を与える方法は TracPermissions (wikiのページ) に記載されています。続けてお読みください。

さらなるユーザドキュメンテーションに関しては、 TracGuide を見てください。

''では楽しんで!''

[http://projects.edgewall.com/trac/wiki/TracTeam The Trac Team]

----
参考:  TracGuide, TracUpgrade, TracPermissions, TracInstallPlatforms, TracModPython