torutkのブログ

ソフトウェア・エンジニアのブログ

Tracのインストール(Linux編)

EclipseのMylynを使うと、コードに対してレビュー結果などのメモが付けられそうだなと調べてみると、複数人で共有するためにはTracなどのバグ管理システム(Bug Tracking System)を使う必要があるようです。

そこで、情報も多そうなTracを使おうと、まずはLinuxTracを立ち上げるとしたところからはまってしまいました。ApacheSubversionも自分で立てた経験はありますが、どうもうまくいかない。Apacheとの連携については検索する情報によって設定方法がずいぶんとまちまちで、しかもどれもうまくいかない。うーん、Trac付属の簡易Webサーバtracdでなら簡単でしたが。

Windows版ではTrack月(Track light)なる、TracMavenSubversionがお手軽セットアップできるキットが有志で開発・リリースされているのも頷けます。Linux版には残念ながらそのようなキットがないので苦労しないといけないようです。

最初の試み、CentOS 4.4上でTrac-0.10.4を使う

CentOS 4.4には、trac-0.10.4-1.el4.rfがあったので、これを使って設定しましたが、ApacheからだとInternal Errorとなりアクセスができない問題が解決できませんでした。Apacheのエラーログを見ても原因解消に至れず、切り分けのためtrac付属のtracdでWebサーバ立てれば使えます。Apacheの設定はいったん中止。

Trac本を買ってきて、設定を行う(Trac-0.11rc2 仮日本語版)

数日前に本屋で目にしたTrac本を買ってきて、インストール開始。

入門Trac with Subversion Linux/Windows対応

入門Trac with Subversion Linux/Windows対応

  • trac-0.10.4-1はアンインストール
  • python 2.5のインストール
  • 秀和システムの書籍サポートページからTrac-0.11rc2日本語版をダウンロード
  • 本のとおりインストールを実行
$ sudo python ./setup.py install
    :
ImportError: No module named setuptools

いきなり障害にぶち当たる。うーん、これって・・・。
調べまわると、setuptoolsという標準では搭載されていないPythonモジュールが必要らしい。setuptoolsを入れるのも試行錯誤でしたがやっと手順を確立。
再びtrac-0.11rc2日本語版のインストール実行。

$ sudo python ./setup.py install
    :
Finished processing dependencies for Trac==0.11rc2 
Python setuptoolsの追加インストール
  • 以下URLのファイルをダウンロード

http://peak.telecommunity.com/dist/ez_setup.py

  • インターネット接続環境で以下実行
$ sudo python ez_setup.py

これで、インターネットからsetuptools-0.6c8-py2.5.eggをダウンロードしてインストールされます。なお、インストール先は、/usr/localの下でした。

Tracの設定(Environment)

どこに作ったものか考えますが、trac専用ユーザを作ってそのホームに置くことにします。tracのプロジェクト新規作成を行います。

# useradd -u 1069 -g apache trac
# su trac
/$ cd /home/trac
trac$ mkdir projects
trac$ cd projects
projects$ trac-admin helloproject initenv
    :

ここでいくつかディレクトリパスを確認入力が求められます。

Project Name [My Project]> Hello Project
Database connection string [sqlite:db/trac.db]> [Enter]
Repository type [svn]> [Enter]
Path to repository [/path/to/repos]> /home/svn/repos/hello/

Subversionリポジトリパスを聞いてくるので、先にSubversionリポジトリを作っておきます。

tracd Webサーバによる確認

まず、作成したTracを確認するため、Tracに標準添付の簡易Webサーバtracdを起動してWebブラウザからアクセスします。

$ tracd --port 8109 /home/trac/projects/helloproject
    :

ブラウザでポート8109にアクセスします。

Subversion-pythonはpython2.3用なので、python2.5から使うには

Subversionと連携するには、subversion-python-1.4.6-1.i386.rpmをインストールします。CentOS 4.4の場合、pythonは2.3が標準のため、python2.3の下に入れられます。なので、python2.5から使えるようシンボリックリンクを貼ります。

# ln -s /usr/lib/python2.3/site-packages/svn /usr/local/lib/python2.5/site-packages/svn
# ln -s /usr/lib/python2.3/site-packages/libsvn /usr/local/lib/python2.5/site-packages/libsvn
認証設定スクリプトTracのcontrib下

trac-0.11rc2-shuwa.zipを展開し、中に入っているcontribディレクトリを、/home/trac/contribにコピーします。

TracRPMパッケージ生成

trac-0.11rc2-shuwa/contrib/rpm/makerpmを実行すると、distの下にTrac-0.11rc2-1.noarch.rpmが生成されます。