Subversion環境 (2)
先日構築した Subversion 環境でも、一応 Web 経由でリポジトリの中身を見ることができるようになった。
でも、リポジトリだけじゃなくて、そのソフトの解説用のページも欲しいと思い、最近人気の trac を入れることにした。 Trac は、Subversion + Wiki + バグ管理システムのようなもの。 Trac Installation Guideを参考に作業を進める。
インストール
ports から trac をインストール。この時点では設定は不要。
$ cd /usr/ports/www/trac $ sudo make $ sudo make install
プロジェクトの作成
まずは Subversion リポジトリの作成から。 すでにリポジトリがある場合は不要。
$ svnadmin create /usr/local/var/svn/flickr_plugin $ svn import file:////usr/local/var/svn/flickr_plugin/trunk
次に、 Trac 用のプロジェクトディレクトリを作る。 ここに、 Wiki や バグ管理 (Ticket) のデータが保存される。
$ sudo mkdir /usr/local/var/trac $ sudo chown www:www /usr/local/var/trac $ trac-admin /usr/local/var/trac/flickr_plugin initenv
このとき、リポジトリの場所を尋ねられるので、前述の svnadmin create で指定した場所 (/usr/local/var/svn/flickr_plugin) を入力する。
Web サーバの設定
Trac Installation Guideを見ると、Apache と lighttpd のどちらでも簡単に動くみたい。 でも、僕の環境だとなぜか lighttpd 上では動かなかった (CGIが Internal Server Errorになる) ので、Apache2 で動かすことにする。
公開するディレクトリは、 /usr/local/share/trac/ 以下の htdocs/ と cgi-bin/ の2つ。 htdocs/ には画像ファイルやスタイルシートが含まれていて、 cgi-bin/ には trac を動かすための CGI (trac.cgi) が入っている。 環境変数 TRAC_ENV を使って、trac.cgi に先ほど作成したプロジェクトディレクトリの場所を教える。
Apache2 の設定ファイルに、以下のように追記する。
Alias /trac/ "/usr/local/share/trac/htdocs/" <Directory "/usr/local/share/trac/cgi-bin/"> AddHandler cgi-script .cgi DirectoryIndex trac.cgi Options ExecCGI </Directory> Alias /flickr_plugin/ "/usr/local/share/trac/cgi-bin/" <Location "/flickr_plugin/"> SetEnv TRAC_ENV "/usr/local/var/trac/flickr_plugin" </Location>
Directory ディレクティブを使って cgi-bin/ ディレクトリの設定を分けておくことで、 将来的にプロジェクトが複数になった場合にも簡単に対応できる(Locationディレクティブを増やしていけばいい)。 少し複雑だけど、mod_rewrite を使って拡張性を持たせる方法もあるみたい。
ここまでできたら Apache2 を再起動して、 Webブラウザで http://example.com/flickr_plugin/ に接続する。 trac のトップページが表示されれば、設定成功。
試しに Flickr プラグインのページを作成。