CentOS 5.8(x86_64)にKanonをインストール
CentOS 5.8(x86_64)にKanonをインストールするのに少し苦労したのでメモ。
試行錯誤の結果なので、ちょっと間違いや勘違いがあるかもです。
数ヶ月前にこちらのサイト様を参考にインストールしてうまくいったので、その手順で実施。……したら、EPELリポジトリのURLとか変わってまして上手くインストール出来ず。
WEBの情報を検索すると、下記のサイト様を発見。EPELリポジトリのリンク切れ……あ、これだ。
感謝をしつつ、同じ現象がでる問題2と問題3の手順を参考にして再度インストールを試みます。
インストールはうまくいってる様子……が、apacheの起動に失敗。
httpd を起動中: Syntax error on line 3 of /etc/httpd/conf.d/vcs.conf:
Unknown DAV provider: svn
これは……おそらく、mod_dav_svnが入っていなくて出たんだと思う。
yumでさくっとインストールします。
※でもこれは間違ってたため、このバージョンは下記にもありますが削除しました
apacheが起動するようになる。よし!完了と思って、TracのSampleProjectにアクセスするとリポジトリが参照できず以下のメッセージが表示されました。
警告: リポジトリ "(default)" との同期ができません (サポートされていないバージョン管理システム "svn": "No module named svn")。
詳細は Trac のログを参照してください
おそらく、該当部分のログ。
Trac Trac[svn_fs] INFO: Failed to load Subversion bindings Traceback(most recent call last):
File "build/bdist.linux-x86_64/egg/trac/versioncontrol/svn_fs.py", line 266, in __init__ _import_svn()
File "build/bdist.linux-x86_64/egg/trac/versioncontrol/svn_fs.py", line 68, in _import_svn from svn import fs, repos, core, delta
ImportError: No module named svn
エラーメッセージを元に色々と検索したのですが、良くわからなかった為、上記サイト様の手順5を試しにやってみました。
yumでCentOSのupdatesリポジトリからインストールしたsubversion.x86_64 1.6.11-10.el5_8 と mod_dav_svn.x86_64 1.6.11-10.el5_8 をアンインストール。
kanonリポジトリにあるi386版とx86_64版のsubversionとmod_dav_svnパッケージの 1.6.15-1.el5 をwgetでダウンロード後にインストールしました。
※下記にありますが、私の環境ではi386版はインストールするとうまく動作しない
早速、Tracアクセスしてみると上記エラーが解消して、リポジトリが正しく表示されるようになりました!
で、作業完了のはずだったのですが、既存のプロジェクトをコピーしてきて、trac-adminコマンドからリポジトリのリシンクを実施するとエラーが発生。
# /opt/kanon/bin/trac-admin /var/opt/kanon/trac/プロジェクト名 repository resync "(default)"
TracError: サポートされていないバージョン管理システム "svn": "/usr/lib/python2.6/site-packages/libsvn/_fs.so: wrong ELF class: ELFCLASS32"
またも情報を検索するとうまく見えてないので、パスを設定して下さい、といった情報が。
ん〜、でも半年前はこんな事してないしなぁと悩む。よくよく考えると先ほど、i386版のsubversionとmod_dav_svnをインストールしているので、もしかしてこれが原因?と思い、i386版だけアンインストール。
rpm -e subversion-1.6.15-1.el5.i386.rpm mod_dav_svn-1.6.15-1.el5.i386.rpm
すると、リポジトリのリシンクも問題なく動作するようになりました!
いや、はまりました。力不足が大きな要因なんですけどね。
EPELのリンク切れを報告しようと思ったら、Bitbucketでは修正されていました。
確認不足で報告するところだった……。