- 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入れ直したほうが早そうですな。
おしまい。
- Newer: Subversionのその後。
- Older: IEのFormでaccept-charsetが無視される。
Comments:0
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