Debian etchにtrac-ja-10.4-1をインストールする

最近Tracを設置することが多いため最小インストールしたDebian etchで日本語化されたtrac-ja-10.4-1を動作させるまでの手順をメモします。

Trac本体を動作させるまで

Debian etchだと最小インストール状態から概ね以下のパッケージが必要になります。

インタアクト株式会社(http://www.i-act.co.jp/project/products/products.html)により日本語化されたtrac-ja-10.4-1を下記リンクから取得します。

http://www.i-act.co.jp/project/products/downloads/trac-0.10.4-ja-1.zip

アーカイブを解凍してsetup.pyを実行しTracをインストールします。

python setup.py install

Tracで参照するSubversionリポジトリを作成します(例えば/var/svn)。

svnadmin create /var/svn

Tracの環境を作成します(例えば/var/www/trac)。

trac-admin /var/www/trac/ initenv

trac-adminは対話的なコマンドなので適宜。基本的に「Path to repository」以外はデフォルトで問題はありません。

Path to repository > /var/svn/webjr

EGGで提供されるプラグインを利用する場合はEGGキャッシュ用のディレクトリを作成しておきます(例えば/tmp/python_egg_cache)。

続いてApacheの設定です。例えば適当なバーチャルホストの設定として以下を追加します。TracEnvとTracUriRootはそれぞれTracが存在するパスとアクセス時のURLを指定します。

<Directory /var/www/trac>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /var/www/trac
    PythonOption TracUriRoot /trac
    SetEnv PYTHON_EGG_CACHE /tmp/python_egg_cache
</Directory>

これでTracが動作する所まで設定が終わりました。Apacheを再起動してtracを設置したディレクトリにアクセスしてみましょう。

追加でプラグインをインストールする

Tracが動作することが確認できたら、代表的なプラグインであるTracWebAdminをインストールしてみます。

Trac公式サイト(http://trac.edgewall.org/wiki/WebAdmin)にある下記リンクから0.10.4向けのTracWebAdminのEGGを取得します。

http://trac.edgewall.org/raw-attachment/wiki/WebAdmin/TracWebAdmin-0.1.2dev_r6060-py2.4.egg.zip

trac-ja-10.4-1をそのままインストールすると/usr/share/trac/pluginsが全プロジェクト共通のプラグイン置き場になります。

拡張子.egg.zipから.zipを削除して.eggのみにした上で/usr/share/trac/pluginsに置いておきます。

mv TracWebAdmin-0.1.2dev_r6060-py2.4.egg.zip TracWebAdmin-0.1.2dev_r6060-py2.4.egg

これで全てのTracからTracWebAdminが利用可能になりました。それぞれのTrac環境でconf/trac.iniにcomponentsに関する記述を追加すると有効になります。

[components]
webadmin.* = enabled

あとは下記のようにtrac-adminを使いTracWebAdminにアクセスできる権限を与えたユーザを作成すれば良いです。

trac-admin /var/www/trac permission add hogehoge TRAC_ADMIN

もしeggを/usr/share/trac/pluginsではなく各Trac環境のpluginsに設置した場合はconf/trac.iniを設定しなくても自動的にプラグインが読み込まれるようです。