Debian etchにtrac-ja-10.4-1をインストールする
最近Tracを設置することが多いため最小インストールしたDebian etchで日本語化されたtrac-ja-10.4-1を動作させるまでの手順をメモします。
Trac本体を動作させるまで
Debian etchだと最小インストール状態から概ね以下のパッケージが必要になります。
- 基本的に必要なパッケージ
- Apache関連(mod-python動作時)
- apache2
- libapache2-mod-python
- Tracの動作に必要なパッケージ
- python-pysqlite2
- python-subversion
- python-clearsilver
- EGGプラグイン利用に必要なパッケージ
- python-setuptools
インタアクト株式会社(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を設定しなくても自動的にプラグインが読み込まれるようです。