Trac0.10.3-ja-1のインストール

Trac0.10.3-ja-1をインストールした時のメモを公開します。現時点ではtrac-0.10.3.1-ja-1が最新になりますので、以下のエントリは参考程度にして下さい。

インストール手順

大まかな流れは以下の通りになります。

  • ソースファイルのダウンロード
  • インストール
  • Apacheの設定
  • Trac Pluginのインストール

ソースファイルのダウンロード

Tracの日本語化が行なっているインタアクト株式会社のダウンロードページからダウンロードします。

インストール

svn python bindingsのインストール

SWIGがインストールされている必要がありますので、事前に確認しておきます。(subversionをインストールする際に必要なはずなので、インストールされているハズです)

# yum list | grep swig
swig.i386                                1.3.21-6               installed    

SWIGについては、以下のサイトを参照してください。

subversionのインストール作業をしたディレクトリ内で以下を実行します。

$ cd ~/src/subversion/subversion-1.4.2/
$ make swig-py
# make install-swig-py

/usr/local/lib/svn-python/ 以下にインストールされるので、以下のようにパスを通します。

# echo /usr/local/lib/svn-python > /usr/lib/python2.3/site-packages/svn-python.pth
Trac依存パッケージのインストール

Tracをインストールするために、以下のパッケージが事前にインストールされている必要があります。

rpmパッケージがDAG RPM Repositoryにあるので、/etc/yum.repos.d/CentOS-Base.repo に以下を追記します。

name=Dag RPM Repository for Redhat EL4
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

以下のコマンドを実行してインストールします。

# yum update
# yum install clearsilver
# yum install python-clearsilver
Tracインストール
$ cd ~/src/trac/
$ unzip trac-0.10.3-ja-1.zip
$ cd trac-0.10.3-ja-1
# python ./setup.py install

※ /usr/share/trac/ 以下にインストールされます。

Trac Pluginのインストール

setuptoolsのインストール

TracのTracPluginsのページにsetuptoolsを簡単にインストールするためのPythonスクリプトがあるので、ダウンロードします。

以下のコマンドを実行し、インストールします。

# python ez_setup.py
XML-RPC Pluginのインストール

trac-hacksのサイトよりダウンロードします。

以下のコマンドを実行し、インストールします。

# python setup.py bdist_egg
# easy_install dist/TracXMLRPC-0.1-py2.3.egg

/usr/lib/python2.3/site-packages/ にインストールされていることを確認します。

# ls -alF /usr/lib/python2.3/site-packages/TracXMLRPC-0.1-py2.3.egg
-rw-r--r--  1 root root 84146 Dec 28 14:16 /usr/lib/python2.3/site-packages/TracXMLRPC-0.1-py2.3.egg

各プロジェクトごとの設定ファイル(/work/trac/test/conf/trac.ini)を編集し、componentsセクションに以下を追記します。

tracrpc.* = enabled
WebAdmin Pluginのインストール
# cp TracWebAdmin-0.1.2dev_r4240-py2.3.egg.zip /usr/lib/python2.3/site-packages/TracWebAdmin-0.1.2dev_r4240-py2.3.egg

各プロジェクトごとの設定ファイル(/work/trac/test/conf/trac.ini)を編集し、componentsセクションに以下を追記します。

webadmin.* = enabled

プロジェクトの作成

実際にプロジェクトを作成します。

# trac-admin /work/trac/test initenv

いくつか質問を訊ねられるので、プロジェクトにあわせて設定してください。

Project Name [My Project]> test project
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> /work/svn/REPOSITORY/test
Templates directory [/usr/share/trac/templates]>

何も入力していない場合、デフォルト値が選択されます。上記の例では、

としています。

無事に完了すると以下にTracの設定ファイルがインストールされます。

/work/trac/test/conf/trac.ini

Apacheを利用しない場合

Apacheとの連携を行なわない場合、Trac自体にウェブサーバ機能があるので、それを利用します。

# tracd --port 8000 /work/trac/test

実際にURLにアクセスして、問題がなくアクセスができることを確認してください。

http://localhost:8000/test

Apacheを利用する場合

Apacheの実行ユーザ/グループからアクセスできるように、所有ユーザ/グループを変更します。

# chown -R nobody:nobody /work/trac/test/

Apache からTracへのアクセスは、CGI, mod_python, FastCGIの3通りありますが、CGIではパフォーマンス上問題があるので、mod_pythonを利用することにします。インストール手順は積み重ねた日々 - mod_python3.2.10のインストールを参照してください。(こちらで書かれているmod_pythonのバージョンは最新版ではありませんので、最新版に読み替えて下さい)

※ mod_python3.2.10からApache2.2系への対応が行なわれたので、それ以前のバージョンをインストールしないようにして下さい。動作しません。

Apacheの設定

Trac 用のApache設定ファイル(/usr/local/apache2/conf/extra/httpd-trac.conf)を以下のように作成します。以下の例は、ログイン以外は全プロジェクトに適用されます。(ログインはtestプロジェクトのみに設定しています)

<Location /projects>
   SetHandler mod_python
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnvParentDir /work/trac
   PythonOption TracUriRoot /projects
   SetEnv PYTHON_EGG_CACHE /work/trac/.python-eggs
</Location>

<Location "/projects/test/login">
  AuthType Basic
  AuthName "test project authentication realm"
  AuthUserFile /work/trac/test/.htaccess
  Require valid-user
</Location>

※必ずPYTHON_EGG_CACHEを指定して下さい。rootでsetuptoolsをインストールした場合、/root/.python-eggsにキャッシュを作ろうとするためにパーミッションエラーが発生します。

python egg cacheが、PYTHON_EGG_CACHEで指定されたパスに作成されるので、Apacheの実行ユーザ/グループでTracにアクセスできるように設定しておきます。

# chgrp nobody trac/
# chmod g+w trac/

/usr/local/apache2/conf/extra/httpd-trac.confが読み込まれるように、Apacheの設定ファイルに追記します。

Include conf/extra/httpd-trac.conf

Apacheを再起動します。

# /etc/init.d/apache2 configtest
# /etc/init.d/apache2 graceful