いつの間にかmootoolsのwikiがtracになっとる・・・。
前使っていたwikiサービスが停止でもしたんだろうか。tracは使い慣れてるから良いけど、なんだか心配だ。
野暮用で、Tracを再インストールする事になったんだがOSをDebianしか使ったことが無かったために今度新しく用意したOSのCentOS側でライブラリとかを色々と一から用意するの面倒だなぁ・・・と思っていたら、パッケージ管理のyumからインストール出来る方法があったので( ..)φメモメモ
まぁ簡単に言えばyumのリポジトリを追加するだけなんですけどね・・・。以下はウェブサーバは「Apache」、バージョン管理は「Subversion」、Tracの使うDBは「sqlite」として全てsu(root)にて作業。
以下のファイルを開く。
trac-admin /path/to/trac/project initenv
んで、ファイルの最後の部分に以下を追加。
[dag] name=Dag RPM Repository for Redhat EL4 baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
上記作業が終わってからyumからtracをインストール。途中にy/nと聞かれるがもちろん「y」で。
yum install trac
さて、次にTracのプロジェクトを作る。作られたフォルダはApacheから読み書きが出来るように設定する。プロジェクトファイルを保存する場所を指定して
trac-admin /path/to/trac/project initenv
4回程入力を求められるが、リポジトリとプロジェクト名以外はエンターキーでOK。
Project Name [My Project]> project (プロジェクト名を書く、後で変更可能) Database connection string [sqlite:db/trac.db]> (ここはエンターでOK) Repository type [svn]> (ここはエンターでOK) Path to repository [/path/to/repos]> (svnリポジトリの場所)
VirtualHostで設定する例。複数プロジェクトを設定する場合は「PythonOption TracEnvParentDir」にプロジェクトファイルの上の階層を指定する。
<VirtualHost *> DocumentRoot /path/to/trac Alias /project "/path/to/trac/project/htdocs" <Directory /> Options -Indexes FollowSymLinks AllowOverride None </Directory> <Location /> Options -Indexes FollowSymLinks AllowOverride None Order allow,deny allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracUriRoot "/" PythonOption TracEnvParentDir /path/to/trac </Location> </VirtualHost>
後はApacheを再起動してメデタシメデタシ。
Tracではリポジトリは1つしか扱えない。例えば【1つのリポジトリを複数のTracで利用する】の事は出来るようだが、逆に【複数リポジトリを1つのTracで動かす】のは色々検索したが見つからなかった。
例えば、社内に複数のリポジトリがあってそれを1つのTracで管理したい場合。こんなのありそうだが・・・Trac 0.10xとかで機能追加されるのかな(?)。これがまた私の方でこのようなケースを自分で作り出してしまって困ったので…。無理やりではあるがSubversionのリポジトリ側で統合をしてみた。クレバーじゃぁないが、忘れそうなのでメモ。ちなみに、外部からのアクセスに関してはsvnserve、Tracで使うWebサーバはApacheだった場合を想定です。
なんかクレバーな方法あったら教えてください。m(_ _)m
下記にあるシェルスクリプトをcronで回す。流れは以下。