TracをXreaに入れる (4) 複数プロジェクトをつくる
次はTracで複数プロジェクトを作ってみることにします。まず、プロジェクトを作るたびにSubversionとTracの初期設定をするのは面倒なので、いっぺんに設定を行うスクリプトを書いておきましょう。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]
というのを追加してみたんですが、これは上手く行きませんでした。まあいいや。