読者です 読者をやめる 読者になる 読者になる

プログラミングノート

一からものを作ることが好きなエンジニアの開発ブログです。

Tracのインストール

Trac インフラ

TracSVNを入れてみました。全てソースから入れてみようとしたのですが、SubversionPythonバインディングが上手くいかなかったので、結局パッケージで。VineLinux4です。

パッケージインストール

全部必要か分かりませんが、とりあえずこれだけインストール。

# apt-get update
# apt-get install apache2 apache2-devel
# apt-get install sqlite3 sqlite3-devel pysqlite
# apt-get install swig subversion subversion-devel subversion-mod_dav_svn subversion-python
# apt-get install trac
リポジトリ作成

ブラウザからアクセスできるように設定します。設定後にapacheを再起動して、http://localhost/svn/testprojectでアクセスできれば大丈夫。

# mkdir /var/svn
# svnadmin create /var/svn/testproject
# svn mkdir file:///var/svn/testproject/trunk -m 'create'
# svn mkdir file:///var/svn/testproject/branches -m 'create'
# svn mkdir file:///var/svn/testproject/tags -m 'create'
# chown -R apache.apache testproject/

/etc/apache2/conf.d/subversion.conf

<Location /svn/testproject>
 DAV svn
 SVNPath /var/svn/testproject
</Location>
Tracプロジェクト作成

設定後に、http://localhost:8000/testprojectでアクセスして問題なければ大丈夫。インストールを確認したいだけなので、終了させておく。

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

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

# tracd --port 8000 /var/trac/testproject/
mod_pythonインストール

aptでパッケージが見当たらなかったのでソースからインストール。途中でPythonライブラリがないというエラーが出ていたので、apt-get install python-devel を実行してます。

$ wget http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
$ tar zxvf mod_python-3.3.1.tgz
$ cd mod_python-3.3.1
$ ./configure
$ make
# make install

/etc/apache2/httpd.confに設定を追加。

LoadModule python_module modules/mod_python.so

<Location /trac>
 SetHandler mod_python
 PythonInterpreter main_interpreter
 PythonHandler trac.web.modpython_frontend
 PythonOption TracUriRoot /trac
 PythonOption TracEnv /var/trac/testproject
</Location>

このままアクセスするとInternal Errorになるので、権限を変更。apacheを再起動してhttp://localhost/tracでアクセスできればOK。

# chown -R apache.apache testproject/
ユーザ設定(追記)

Digest認証とBasic認証用に作成したユーザがそのままTracユーザとして利用できます。apache2をインストールしているとhtdigest2が入ってるみたい。

$ htdigest2 -c /var/trac/.htdigest trac_users ntaku
Adding password for ntaku in realm trac_users.
New password:****
Re-type new password:****

/etc/apache2/conf/httpd.conf

<Location /trac/login>
 AuthType Digest
 AuthName trac_users
 AuthUserFile /var/trac/.htdigest
 Require valid-user
</Location>

Tracの管理権限を付与。こちらはtrac-adminで。

# trac-admin /var/trac/testproject permission add ntaku TRAC_ADMIN


さらっと書いてますが、最初からやり直したりして結局2日くらいかかってます。。
これだけインストールが面倒なツールも久々です。