ちょっと前に、Subversion用のサーバが壊れました。

幸い、リポジトリのHDDが生きていたので、別のサーバに構築した時のメモ書いておきます。

めったにSubversion構築しないんで。

Subversionの最新バージョンは1.6.6らしいけど、壊れたサーバにあわせて1.4.2をインストールします。

2~3年前から更新とまっているような。

個人的なメモなので超不親切です。

 


Berkeley DB 4.5.20 をインストール

cd /usr/local/src
wget http://download.oracle.com/berkeley-db/db-4.5.20.tar.gz
tar zxfv db-4.5.20.tar.gz

cd /usr/local/src/db-4.5.20/build_unix/
../dist/configure
make 
make install

ls /usr/local/BerkeleyDB.4.5


vi /etc/ld.so.conf
#--------------------------------------------------------------------
include /usr/local/BerkeleyDB.4.5/lib
#--------------------------------------------------------------------

/sbin/ldconfig

 


Subversion 1.4.2 をインストール

cd /usr/local/src
wget http://subversion.tigris.org/downloads/subversion-1.4.2.tar.gz

cd /usr/local/src
tar zxfv subversion-1.4.2.tar.gz
cd /usr/local/src/subversion-1.4.2

./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.5

ここでエラーが発生。

configure: error: APR-UTIL was installed independently, 
    it won't be possible to use the specified Berkeley DB: /usr/local/BerkeleyDB.4.5

参考サイトを参考に、以前インストールしたApache2.2.4があったので、それを流用したらインストールできました。

cd /usr/local/src/subversion-1.4.2
cp -a ../httpd-2.2.4/srclib/{apr,apr-util} .
./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.5
cd /usr/local/src/db-4.5.20/build_unix/
../dist/configure 
make
make install

vi /etc/sysconfig/iptables
---------------------------------------------------------------------
# subversion
-A RH-Firewall-1-INPUT -s 192.168.0.0/16 -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
---------------------------------------------------------------------
/etc/init.d/iptables restart

vi /home/svn/repos/conf/svnserve.conf
---------------------------------------------------------------------
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = My First Repository
---------------------------------------------------------------------

vi /home/svn/repos/conf/passwd
    ※適宜
---------------------------------------------------------------------
svnuser = pass
---------------------------------------------------------------------

vi /etc/rc.d/rc.local
---------------------------------------------------------------------
/usr/local/bin/svnserve -d -r /home/svn/repos &
---------------------------------------------------------------------

#壊れたPCから救出したHDDの /share/svn/repos のシンボリックリンクを作って終わり
chown -R nobody:dev /share/svn
ln -s /share/svn /home/svn

こんどちゃんと再構築しよう。