= 複数のプロジェクト用にApacheを設定する =

以下の手順に従うと、自動的に複数のTracのプロジェクトを扱うよう、Apacheをセットアップすることができます。

最初に、サーバのドキュメントルート（例：/var/www）にTracプロジェクトのディレクトリを作ってください。プロジェクトはhttp://hostname/projects/プロジェクト名 でアクセスすることができます。index.htmlという名前のファイルと共にtrac.cgiというファイルをこのディレクトリにコピー（またはシンボリックリンク）して下さい。ユーザが存在しないプロジェクトにアクセスしようとしたときに、プロジェクト名が表示されます。

そして、trac-adminコマンドを使用して、Tracのプロジェクトを新規に作成してください。すべてのプロジェクトはすべて同じディレクトリに置かれることが重要です。この例では、/var/lib/tracを使用しています。Apacheのコンフィグレーションに追加してください:

{{{
RewriteEngine on
RewriteRule ^/projects/+$			/projects/index.html [L]
RewriteCond /var/lib/trac/$1			-d
RewriteRule ^/projects/([[:alnum:]]+)(/?.*)	/projects/trac.cgi$2 [S=1,E=TRAC_ENV:/var/lib/trac/$1]
RewriteRule ^/projects/(.*)			/projects/index.html

<Directory "/var/www/projects">
	AllowOverride None
	Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
	AddHandler cgi-script .cgi
	Order allow,deny
	Allow from all
</Directory>

<LocationMatch "/projects/[[:alnum:]]+/login">
	AuthType Basic
	AuthName "trac"
	AuthUserFile /path/to/trac.htpasswd
	Require valid-user
</LocationMatch>
}}}

rewrite_moduleがApacheの中で実行またはコンパイルされていることを確認してください。

{{{LoadModule rewrite_module modules/mod_rewrite.so}}}

そして、他のプロジェクトを追加したとき、もうApacheのコンフィグを編集する必要がありません。新しいプロジェクト名をindex.htmlのリストに追加したいかもしれません。もし、index.htmlのリストを編集するのに負担を感じたら、pythonのcgiスクリプトに置き換えることができます。

[wiki:TracStandalone tracd]とTracModPython もまた複数のプロジェクトを扱うことができます。


----
参考: TracGuide, TracInstall