Trac 入れてみた
けっこういろいろあったのと、昨日のやつは途中だったので、こっちにマージ。
mod_python
いきなり ./configure したらエラったので、saikyoline.jp の wiki をみて解決。configureスクリプトのエラーというオチ。
で、そのあと make ; make install して、apache の httpd.conf に LoadModule 書いて、Apache動かそうとしたらエラー
undefined symbol APR_STATUS_IS_SUCCESS
とが出るので、ググってみると Apache 2.2系 に mod_python は未だ対応してないという罠。
[mod_python] undefined symbol APR_STATUS_IS_SUCCESS version 3.2.8
[mod_python] mod_python with apache 2.2.0 is not working
で、パッチがあるらしいんだけど、当てようかどうか考えて、「まぁでも mod_proxy系とか Large Fileとか使わないからいいか」ということで、Apache 2.0系で入れなおし。
ついでに↑のmod_pythonメーリングリストに 2.0.58 でもエラーになったという話があるので、archiveサイトにあった一つ前の 2.0.55 をコンパイルしなおして、mod_python が動くのを確認。
Subversion
Subversion は Etch で用意されているのが 1.2.3 なので パッケージはパス。なぜかって Subclipse の 最新安定版である 1.0系 は Subversion 1.2 以下をサポートしないから。
で、 Subversion 入れようとしたら、 Subversionの中の人に 「Berkley DB が入ってないか apr-util にリンクされてないから、バックエンドに BDB は使えないぉ」って言われて、最初 FS で行こうかとも思ったけど、 公式サイトにも BDB の方がイイみたいなこと書いてあったので、 BDB で行くことにした。
で、Barkley DBをソースからわざわざ入れることもないので、aptitude でインストール
aptitude install db4.4 db4.4-util libdb4.4-dev
して Berkeley DB まわり入れて、Apache を再インストール。configure はこんな感じ
./configure --enable-so --enable-dav --with-berkley-db ...
zsh の configure 補完に "--with-berkley-db" がなかったのはマイナーだからか。
で、Subversion を
./configure --with-apr-util=/usr/local/apache2 --with-apr=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs --enable-module-activation --with-berkley-db ...
で configure して、 make ; make install。
レポジトリ作るときに
とかして、ファイルシステムを BDB に指定しないとBerkleyにならない罠。
PostgreSQL
最初はソースから入れようかと思ったけど、面倒だったので aptitude で。ついでに ClearSilver とか Psycopg (なんて読むんだ!) も入れてみた。PostgreSQL はもちろん 8.1。
aptitude install postgresql-8.1 python2.3-psycopg clearsilver-dev python2.3-clearsilver
で、psycopg か clearsilver の Dependency で egenix-mx も入るという話。やっぱパッケージは楽。
で、DB に trac 用のユーザとデータベース作って Trac のインストールしたら、プロジェクトを作ることで「DBにアクセスできないぉ」っていうので、いろいろごにょにょしてたら、/etc/postgresql にある pg_hba.conf のアクセス設定が Linux のローカルアカウント見る設定になっていたので、フツーに DB認証できるように設定。
Trac
さすがにパッケージでインストールしたのと、ソースからインストールしたのが混在してるので、本家の配布バイナリを使うことにした。
でも本家を一度入れてから、「そーいえば日本語版あったんだ」ということで、日本語版を入れなおしたというのは秘密。
で、日本語版は zip だったので、unzip とか打とうとしたら無い。Etch には標準で unzip が入っていないという罠なので、aptitude で入れて unzip。
あとはマニュアルに沿って
とかして、httpd.confに
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonPath /hoge/trac
PythonOption TracEnv /hoge/trac/hoge-project
PythonOption TracUriRoot /trac
とか書いておく。PythonPath は自分でバイナリを入れたので通しておく。
で、だいたい動いた。そりゃ動くよ。