TracをXreaに入れる (4) 複数プロジェクトをつくる

次はTracで複数プロジェクトを作ってみることにします。まず、プロジェクトを作るたびにSubversionTracの初期設定をするのは面倒なので、いっぺんに設定を行うスクリプトを書いておきましょう。Subversionリポジトリ1に対して、Tracも1ということなので必ず同じ名前で作ってしまってもいいという前提です。

#!/bin/bash 

mkdir -p $HOME/data/svn/$1
svnadmin create $HOME/data/svn/$1

cd $HOME/data/trac
trac-admin $1 initenv $1 sqlite:db/trac.db svn /virtual/gakusi/data/svn/$1 /virtual/gakusi/local/share/trac/templates

mkdir -p $HOME/public_html/trac/$1
cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/public_html/trac/$1
chmod 755 $HOME/public_html/trac/$1/trac.cgi

echo "SetEnv PYTHONPATH /virtual/gakusi/local/lib/python:/virtual/gakusi/local/lib/python/site-packages" > $HOME/public_html/trac/$1/.htaccess
echo "SetEnv LD_LIBRARY_PATH /virtual/gakusi/local/lib" >> $HOME/public_html/trac/$1/.htaccess
echo "SetEnv TRAC_ENV /virtual/gakusi/data/trac/$1" >> $HOME/public_html/trac/$1/.htaccess

こいつをcreate_svn_trac.shで保存しておいて、./create_svn_trac.sh hiki_pluginsとかすればいいですね。ちなみに、htaccessではLocationディレクティブがうまく使えないので、仕方なしに実ディレクトリをいくつも切ることにしてちょっと気持ち悪いんですが、まあ自動化されてればいいか。

ところで、アドレスにtrac.cgiが出るのが嫌で、.htaccess

RewriteEngine On
RewriteBase /trac/hiki_plugins
RewriteRule ^(.*)$ trac.cgi/$1 [L]

というのを追加してみたんですが、これは上手く行きませんでした。まあいいや。