Trac インストール

プロジェクトのポータルサイト用に Trac をインストールしました。
インストールした Trac は、インタアクト(株)さんが公開している、Trac 0.9.6 日本語版です。日本語版では、マニュアルなどが日本語化されています。

上記サイトより、trac-0.9.6-ja-1.zip を取得し、適当なディレクトリに展開。展開後、ドキュメントに従い Trac をインストール。

# python setup.py install

Trac 自体のインストールはすんなり成功。

続いて、Trac の環境ディレクトリ(って名称であっているのかは謎ですが)を作成。

# mkdir /var/trac
# trac-admin /var/trac/test initenv

上記を実行すると、プロジェクト名、DB 接続文字列、Subversion リポジトリのパス、テンプレートディレクトリが聞かれます。

  • プロジェクト名には test 等、管理対象とするプロジェクトの名称を入力。
  • DB 接続文字列はデフォルトのまま sqlite:db/trac.db とする*1
  • Subversion リポジトリのパスは、ローカルマシン上のリポジトリパスを指定する。今回は /var/svn/test を指定しました。
  • テンプレートディレクトリはデフォルトのまま /usr/share/trac/templates です。

これらを入力後、環境ディレクトリが作成されるはずなのですが、sqlite: なんて DB はみつからねーと python に怒られました。
なので、python-sqlite と、ついでに python-clearsilver をインストールして、再び環境ディレクトリ作成。で、問題なく環境ディレクトリが作成されました。

環境ディレクトリが作成後、下記コマンドで簡易サーバを起動して、動作確認。

# tracd -p 8000 /var/svn/test

http://localhost:8000/test にアクセスして、trac のトップページが表示されれば成功です。


簡易サーバで運用はアレなんで、mod_python 経由で trac を実行。
mod_pythonApache にインストール済みの想定。

/etc/httpd/conf.d/ に下記内容で trac.conf を作成。

<Location "/trac">
   SetHandler mod_python
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnvParentDir /var/trac
   PythonOption TracUriRoot /trac
</Location>

<LocationMatch "/trac/[^/]+/login">
   AuthType Basic
   AuthName "Trac"
   AuthUserFile /var/svn/.htpasswd
   Require valid-user
</LocationMatch>

/var/trac を環境ディレクトリの親として設定。これにより、/var/trac 以下に作成された環境ディレクトリが片っ端から表示できるようになる。
TracEnv を使用すれば、親ではなく環境ディレクトリを単発で指定可能。
認証は Basic 認証を使用。WebDAV+Subversion で使用している認証ユーザのファイルをそのまま使用。

こんな感じで、Apache 経由で Trac 完了。パーミッションの設定とかまだですけどね。

*1:PostgreSQL を使用することも可能らしいです