Version 2 (modified by 19 years ago) (diff) | ,
---|
複数のプロジェクト用に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スクリプトに置き換えることができます。
tracdとTracModPython もまた複数のプロジェクトを扱うことができます。
参考: TracGuide, TracInstall