まちゅダイアリー
2005-10-28 (金)
■ 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 プラグインのページを作成。
■ trac の日本語化
tracはデフォルトのままだと、リポジトリに保存したソースコードの日本語が文字化けしてしまう。 python の文字コード関連ライブラリを入れることで、文字化けを回避することができるみたい。 Debianだとpython-japanese-codecs。 FreBSD は、 converters/py-cjkcodecs というパッケージらしい。
$ cd /usr/ports/converters/py-cjkcodecs $ sudo make $ sudo vi /usr/local/var/trac/flickr_plugin/conf/trac.ini
trac.ini には、
default_charset = euc_jp
と記述する(ソースコードがEUC-JPで書かれている場合ね)。 複数の文字コードが混在する場合は、「Subversion 側で各ファイルの svn:mime-types 属性に charset を正しく設定することで解消する可能性が高い」らしい。
最後に、tracの日本語テンプレートを導入して、tracのメニューやメッセージを日本語化する。 現時点では、0.8.4に対応するテンプレートが公開されている。 手順は、Tracのインストールと日本語化が参考になるかも。
テンプレートの入れ替えは、 trac-admin [pjname] initenv を実行する前にやっておく必要があるので注意。