Mon, February 13, 2006
{update:2006-06-17}
Subversionをソースからインストールする
0からSubversion+Apache+BerkeleyDBを入れる。
実際にやってみるとそれほど難しいわけではない。
subversion downloads
db
tar xfz db-4.3.29.NC.tar.gz
cd db-4.3.29.NC
cd build_unix
../dist/configure --prefix=$HOME/local/db-4.3.29
make
make install
cd $HOME/local
ln -s db-4.3.29 db
apache
export LD_LIBRARY_PATH=/home/moca/local/db-4.3.29/lib
./configure --enable-so=yes
--prefix=$HOME/local/httpd-2.0.55
--enable-dav=yes
--with-berkeley-db=$HOME/local/db-4.3.29
make
make install
※ export LDLIBRARYPATH をしないといけない点に注意。
httpd実行ファイルが新しいDBライブラリを参照しているか確認。
ldd ~/local/httpd-2.0.55/bin/httpd
libaprutil-0.so.0 => /home/moca/local/httpd-2.0.55/lib/libaprutil-0.so.0 (0x40013000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x4002e000)
libdb-4.3.so => /home/moca/local/db-4.3.29/lib/libdb-4.3.so (0x40035000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x400e5000)
libapr-0.so.0 => /home/moca/local/httpd-2.0.55/lib/libapr-0.so.0 (0x40105000)
librt.so.1 => /lib/librt.so.1 (0x40123000)
libm.so.6 => /lib/libm.so.6 (0x40135000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40158000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40184000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40196000)
libdl.so.2 => /lib/libdl.so.2 (0x401e7000)
libc.so.6 => /lib/libc.so.6 (0x401ea000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Subversion
export LD_LIBRARY_PATH=/home/moca/local/db-4.3.29/lib
./configure
--with-apxs=$HOME/local/httpd-2.0.55/bin/apxs
--with-apr=$HOME/src/httpd-2.0.55/srclib/apr
--with-apr-util=$HOME/src/httpd-2.0.55/srclib/apr-util
--with-berkeley-db=$HOME/local/db-4.3.29
--prefix=$HOME/local/subversion-1.3.0
レポジトリの用意
htpassword
svnadmin create /home/foo/svn-repos
cd /home/foo/svn-repos/conf
htpasswd -c -m ./htpasswd hoge
Apacheの設定(VirtualHostとsubversion)
モジュール追加
conf/httpd.conf にて、Dynamic Shared Object Support の部分に 以下の二行を追加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
レポジトリディレクトリの指定
さらに conf/httpd.conf に記述を追加
<Location /svn-repos>
DAV svn
SVNPath /home/foo/svn-repos
AuthType Basic
AuthUserFile /home/foo/svn-repos/conf/htpasswd
AuthName "Please enter your ID and password"
Require valid-user
</Location>
以上