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の確認はまた今度。