Trac0.10.3-ja-1のインストール
Trac0.10.3-ja-1をインストールした時のメモを公開します。現時点ではtrac-0.10.3.1-ja-1が最新になりますので、以下のエントリは参考程度にして下さい。
インストール
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 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
プロジェクトの作成
実際にプロジェクトを作成します。
# 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]>
何も入力していない場合、デフォルト値が選択されます。上記の例では、
- プロジェクト名: test project
- データベース接続文字列: SQLite用文字列
- リポジトリタイプ: Subversion
- リポジトリへのパス: /work/svn/REPOSITORY/test
- テンプレートディレクトリ: Tracのテンプレートディレクトリ
としています。
無事に完了すると以下に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