Subversion einrichten

Die benötigten Pakete installieren:

apt-get install subversion
apt-get install libapache2-svn

Ordner erstellen, in welchen Ordner die Repositorys angelegt werden soll:

mkdir /var/svn-repos/

Nun legen wir zwei Testprojekte an:

svnadmin create --fs-type fsfs /var/svn-repos/test-project1
svnadmin create --fs-type fsfs /var/svn-repos/test_project2

Als nächstes wird die Subversion-Gruppe angelegt:

groupadd subversion

…und ein bestehenden Benutzer zur Gruppe hinzufügen:

addgroup svnuser subversion

Nun werden die Rechte gesetzt:

chown -R www-data:subversion /var/svn-repos/*
chmod -R 770 /var/svn-repos/* 

Als nächstes werden die Keys erzeugt:

mkdir ~/.ssh/
cd ~/.ssh/
ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub | ssh svnuser@ "cat - >> ~/.ssh/authorized_keys"

Wir loggen uns anschließend mit dem Nutzer “svnuser” ein und erstellen uns dort auch die Keys:

mkdir ~/.ssh/
cd ~/.ssh/
ssh-keygen -t dsa
cat ~/.ssh/id_dsa.pub | ssh svnuser@ "cat - >> ~/.ssh/authorized_keys"

Wir kehren zum root zurück und öffnen den ssh-agenten in einer subshell:

ssh-agent /bin/bash

Subversion sollte jetzt laufen und darum starten wir am besten einen CheckIn

mkdir ~/TEMP/
echo "testing svn" > ~/TEMP/testing.txt
svn import -m "importing test over ssh+svn" ~/TEMP/ svn+ssh:///var/svn-

repos/test-project1/trunk
svn co svn+ssh:///var/svn-repos/test-project1/trunk testcheckout

Ob der CheckIn geklappt hat, können wir überprüfen mit:

svnlook tree /var/svn-repos/test-project1/