Home > Server > CentOS5.3でSubversion1.6.6をインストール。

CentOS5.3でSubversion1.6.6をインストール。

  • 2009-10-24 (土) 19:42
  • Server

Subversion1.6.6のインストールをしたのでメモ。

Gitを使ってみたかったけど、今回は時間がなかったのでやめておく。

Gitには近いうち移行しようっと。

早速インストール作業を始めた。

めんどいからもちろんyumでw

簡単に終わるはずのところに落とし穴があった。

apache2.2をソースからインストールしている環境でSubversionとapacheをWebDavで連携させようと考えている場合、mod_dav_svnというモジュールが必要になる。

そこでyumを使ってmod_dav_svnをインストールするとソースからインストールしているapacheをインストールされていると認識せず、依存関係をみてapache(httpd)モジュールもインストールしやがる。

しぶしぶソースからインストールすることに。

早速 configure してみると、色々エラーがでた。

sqliteが古いだの、zlibがないだの、expat or libxml2がいるだの。

これらまでソースからはやってられないのでyumを使う。

yum install sqlite-devel

yum install expat-devel

yum install zlib-devel

もしかしたら他にもあったかもしれない。

そんな時はyumで全部インストールしておしまい。

httpクライアントらしいneonとserfを一緒にいれようとしていたので serf はインストールしないことに。

最終的に手順はこんな感じになった。

SSLはローカルネットワークで使わないのでオプションからは外した。

$ wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz

$ wget http:// subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz

# 依存関係のあるモジュールが入っている

$ tar -zxvf subversion-1.6.6.tar.gz

$ tar -zxvf subversion-deps-1.6.6.tar.gz

$ cd subversion-1.6.6

$ ./configure -prefix=/usr/local/subversion-1.6.6 -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config –without-serf

# berkeley DBがねーからFSFS使うぜっていう警告でるけど、berkeley DBは壊れやすいらしいので気にしない

$ make

$ make install

はい。インストール終了。

さらっと言ったけど、yumの情報が多くてなかなか大変だった。

apacheのhttp.confみたら次の部分が追加されとる。

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

これでオッケー。

あとはたくさん情報があるようにリポジトリ作って設定をしていくだけだね。

リポジトリを作成。インストールしたディレクトリにbin にコマンドは入ってる。

今回で言えば /usr/local/subversion-1.6.6/bin にある。

$ mkdir -p /usr/local/repos/hoge

$ ./svnadmin create /usr/local/repos/hoge

# -m オプションをつけないとログメッセージが取得できないとか言われる。環境変数設定すればいらない。

$ ./svn mkdir file:///usr/local/repos/hoge/trunk file:///usr/local/repos/hoge/tags file:///usr/local/repos/hoge/branches -m ‘setup trunk tags branches’

次はapacheの設定。conf/に移動してhttpd.confをいじる。

$ vi httpd.conf

———————————–

# 追記しておく。

Include conf/extra/httpd-svn.conf

———————————–

$ vi extra/httpd-svn.conf

———————————-

<Location /repos/hoge>

DAV svn

SVNPath /usr/local/repos/hoge

</Location>

————————————-

$ bin/apachectl configtest

mod_dav_svn.soがloadできないとかいうエラーだと。。

あ、mod_dav.soがないと動かないってあった気がしたので、ソースからコンパイル。

apacheのソースファイルフォルダに移動する。

$ /usr/local/apache/bin/apxs -c modules/dav/main/mod_dav.c

$ /usr/local/apache/bin/apxs -i -n dav modules/dav/main/mod_dav.la

これをいれてhttpd.confに書き足したが、今度はdav_core_find_livepropとかいうエラー。。

これに関しては情報が少なすぎる。

英語のドキュメントをみるとなぜインストール時に–enable-davをつけないんだとか書いてあるしw

てことでオプションつけてapacheを入れ直してからsubversionを入れることにした。

$ ./configure –prefix=/usr/local/apache2.2 –enable-so –enable-rewrite –enable-dav –enable-dav-fs –enable-dav-lock

これでインストールして最初からSubversionを入れるとうまく連携できましたw

ドキュメント読んでるとapxsを使って動的にモジュールを追加する場合は –enable-module=shareとかしないといけない?

ふむ、もっと調査してみる必要がありそう。

とりあえず動的にmod_dav.soを追加するよりはconfファイル等をバックアップしておいて、apache入れ直したほうが早そうですな。

おしまい。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.terut.net/wp-trackback.php?p=149
Listed below are links to weblogs that reference
CentOS5.3でSubversion1.6.6をインストール。 from Action*3

Home > Server > CentOS5.3でSubversion1.6.6をインストール。

Search
Feeds
Meta
Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Return to page top