理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

trac をインストールした

trac のインストール

ubuntu でやったった.
まず,trac

$ sudo apt-get install trac

これで trac,libapr1,libaprutil1,libpq5,libsvn1,python-clearsilverpython-pysqlite2,python-subversionsubversion がインストールされたりした.

apache のインストール

次に apache

$ sudo apt-get install apache2

apache2 apache2-mpm-worker apache2-utils apache2.2-common がインストールされた.
いかにこれまで何もインストールされてなかったかが分かりますね.

mod_python のインストール

単なる CGI だと遅いみたいな話があったし,mod_python 使うと速いみたいな話もあったので,従順なぼくはそれに従ってみる.

Trac provides three options for connecting to a "real" web server: CGI, FastCGI and mod_python. For decent performance, it is recommended that you use either FastCGI or mod_python.

http://trac.edgewall.org/wiki/TracInstall

ドキュメントも含めてインストールなどした.

$ sudo apt-get install libapache2-mod-python libapache2-mod-python-doc

ディレクトリ準備

そしたらまず,subversionリポジトリ用のディレクトリと trac 用のディレクトリなどを用意してみます.

# svnadmin create /var/repos
# mkdir /var/trac

trac の設定

trac の設定.
ゴチャゴチャ聞かれたけど,だいたいデフォルトで設定.

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

Congratulations!

svn+ssh でのアクセスのため

apache 経由でバージョン管理してもいいんですけど,今は svn+ssh でアクセスしたい.
なんか svn+ssh だと,commit するときとかのユーザが ssh でアクセスするユーザに設定されるぽい.
リポジトリにアクセスするときにパーミッションエラーを出さないため,svnusers みたいなグループをでっちあげて,とりあえず自分を所属させてみる.

# groupadd svnusers
# addgroup y-kiri svnusers

で,svnusers でリポジトリとかに書き込みできるようにしとく.

# chgrp -R svnusers /var/repos
# chown -R g+w /var/repos

apache がアクセスできるように

trac 用のディレクトリには,apache がアクセスできるようにしとく.

# chown -R www-data:www-data /var/trac

apache 設定

次,/etc/apache2/sites-available/default に以下を追加.

ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi
<Location "/trac">
   SetHandler mod_python
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnv /var/trac
   PythonOption TracUriRoot /trac
</Location>

確認

よっしゃリロード!

# /etc/init.d/apache2 restart

trac のページ見えた!!

trac-ja-resource を使って日本語化するとこんな感じ.