pythonのバージョンではまりつつもtrac始動

tracをインストールできたものの動かすにはまだいろいろ設定が必要ですた。

*trac用のデータベースの作成
tracのデータベースとしてMySQLを選択します。デフォルトではSQLiteが使われるようです。MySQLを選択するのは単にバックアップをまとめてとりたいだけです。なおdbおよびsvnはtracごとに選択できるようです。

http://trac.edgewall.org/wiki/DatabaseBackend
を参考にdbとtrac用のdbユーザを作成。あとはtracadminでtracを作成する際に

mysql://dbuser:dbpass@localhost/dbname

を選択すればokです。

ちなみデフォルトSQLiteの指定だとtracごとにdbを作っている模様

 /trac/to/path/db/trac.db

このため、tracごとにMySQLのdbも用意すべきでしょう。

pythonのMySQLドライバが必要だったので、MacPortsでインストールしました。

# sudo port install py25-mysql

※セットアップが終わってから気がつきましたが、デフォルトのSQLiteを選択すると
tracのリポジトリの下にtracごとにdbファイルを作成してくれるようなので
MySQLとデータを分けるよりもバックアップとしてはメンテナンスしやすいはずです。

したがってMySQLは使わずSQLiteで進める予定。

*tracリポジトリ
tracのリポジトリは/var/lib/tracにしました。/var/libでsvnもろともバックアップを取ろうかと。。。

# mkdir -p /var/lib/trac
# sudo chgrp -R www /var/lib/trac
# sudo chmod -R g+w /var/lib/trac

*subverisionリポジトリ
tracと同じく/var/libの下です。

# mkdir -p /var/lib/svn
# sudo chgrp -R www /var/lib/svn
# sudo chmod -R g+w /var/lib/svn

*python
実際に動かしてみるとpythonのエラーではまりました。

ImportError: No module named trac.web.modpython_frontend

trac用のモジュールが見つからないというエラーです。python2.4でエラーになっているのですが、tracのPortsfileを見ても要求しているのはpython2.5のような気がします。

どうやらiBookにはもともと入っていたpython2.3に加えMacPortsでpyhton2.4,python2.5も入っていてカオスな状態になってしまったようです。

いろいろ調べた結果DawingPorts(MacPorts)でPython2.4が入ってしまった場合は最新のmod_pythonをコンパイルせよと書いてあったのでやってみることにしました。

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

まずpythonへのsymbolic linkをpython2.5に変更

# sudo rm /opt/local/bin/python
# sudo ln -s /opt/local/bin/python2.5 /opt/local/bin/python

mod_python入れなおし

# sudo port install wget
# cd /opt/local/src
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
# tar zxf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
#./configure --with-apxs=/opt/local/apache2/bin/apxs
# make
# sudo make install
...
# make clean

このあとapacheをrestartしてもだめだったんですが、OS再起動後にはうまく表示されました。んー。

*tracプロジェクト作成
デフォルトでテストプロジェクトの作成

# svnadmin create /var/lib/svn/tractest
# trac-admin /var/lib/trac/tractest initenv
Project Name > TracTest
Database connection string >
Repository type >
Path to repository > /var/lib/svn/tractest
emplates directory > 

MySQLのテストのため…

# svnadmin create /var/lib/svn/tractestmysql
# trac-admin /var/lib/trac/tractestmysql initenv
Project Name > TracTestMySQL
Database connection string > mysql://dbuser:dbpass@localhost/dbname
Repository type >
Path to repository > /var/lib/svn/tractestmysql
emplates directory > 

いずれもwikiはちゃんと表示されており、dbにでもデータが書き込まれているようです。subversionの確認はまた今度。