Tracはスウェーデンにある EdgeWall Software が開発した プロジェクト管理ツールです。 Python で作成された Web アプリケーションであり、ソフトウェア開発のプロジェクト管理に特化しています。 最近ではOpenSourceプロジェクトをTracで管理する事が非常に多いです。 バグ情報や、変更依頼をチケットと呼ぶもので管理して、タスクやマイルストーンとして管理出来ます。 ちょっと使ってみただけですが、かなり良い感じです。また、SVNリポジトリのブラウザ機能まで付いています。

インストール

yumを使ってインストールします。 yumでインストールすると日本語化が一部されません。 Trac日本語化の準備で紹介している日本語版を最初から入れましょう。
$ yum -y install trac

Trac日本語化の準備

先に日本語化の準備をしておきます。 日本語化パッチはインタアクト株式会社さんから出ていますので、それを使わせて頂きました。 解凍したフォルダ内の、templatesと、wiki-defaultフォルダを/usr/share/trac/に移動するだけです。 最近のバージョンは日本語化パッチはなく、trac本体を含めているようです。 trac-0.10.3-ja-1というファイルをダウンロードして、付属のINSTALLに書いてある通り、インストールします。
$ python ./setup.py install

tracサイトの作成

$ mkdir /home/trac
$ trac-admin test initenv
 Project Name => [プロジェクト名]
 Path to repository => [ローカルリポジトリパス]
他にも聞かれますがデフォルトにしました。 DBはデフォルトでSQLiteを使うようですがPostgreを使う事もできるようです。今回はデフォルトにしてあります。 Apatchから使いたい場合はchown忘れずに。 seLinux使っているかたは、chconを。
$ chown -R apache:apache /home/trac
$ chcon -R system_u:object_r:httpd_sys_content_t /home/trac
tracdで動作確認。 $ tracd --port 8080 /home/trac/test http://localhost:8080/にアクセスしてtracの画面が出れば成功です。 ここで、[パス] does not appear to be a Subversion repositoryとか怒られた方はSVNリポジトリの設定が間違っていると考えられます。リポジトリはローカルのパスを設定します。 "/home/trac/test/conf/trac.ini"が設定ファイルですので、ここを参考に設定を見直してください。他にも色々設定できるので、いじってみるとイイかも。

Apacheでtrac公開

mod_pythonが入ってい無ければインストール $ yum -y install mod_python /etc/httpd/conf.d/trac.confの編集 最終行に以下を追加
$ vim /etc/httpd/conf.d/trac.conf
ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location "/main">
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnv /home/trac/BizTrip
  PythonOption TracLocale "ja_JP.utf8"
  PythonOption TracUriRoot /main
</Location>
<Location "/main/login">
  AuthType Basic
  AuthName "Trac Autentication"
  AuthUserFile /home/trac/.htpasswd
  Require valid-user
</Location>
<Location "/main/svn_repos">
  DAV svn
  SVNPath "/home/svn/test"
  AuthType Basic
  AuthName "svn Autentication"
  AuthUserFile /home/svn/test/.htpasswd
  Require valid-user
</Location>
この例では/home/svnにリポジトリが有るものと想定しています。 Apacheを再起動
$ /sbin/servise httpd restart
Apache経由でアクセスしてみましょう。 上の設定ならhttp://localhost/mainですね。