Subversion Server aufsetzen

(Last Updated On: 29. November 2014)

Jeder Webprogrammierer braucht seine eigene Versionskontrolle – isso! Wir werden jetzt einfach mal subversion auf einem Servcer aufsetzen

Als allererstes ist es wichtig, zwei Dinge zu verstehen: Wir müssen als allererstes bisherige Projekte, die wir bisher schonmal erstellt haben, auf den SErver bringen. DAs machen wir in einem anderen Ordner als den, den wir später als subversion repository verwenden werden.

sudo apt-get install subversion
sudo apt-get install websvn
sudo apt-get install libapache2-svn
sudo apt-get install apache2-utils

wir erstellen einen Ordner für unsere Projekte

mkdir /projects/

Wir editieren die Config des Subversion apache Modules

vi /etc/apache2/mods-enabled/dav_svn.conf

und kommentieren dort foglende Zeilen aus

<Location /svn>

DAV svn

SVNPath /var/lib/svn

AuthType Basic
AuthName "subversion Reposiktory"
AuthUserfile /etc/apache2/dav_svn.passwd

<LimitExcept GET PROPFING OPTIONS REPORT>
REquire valid-user
</limitExcept>
</Location>

jetzt restarten wir unseren apache

und wir erstellen ein repository, in welchem später unsere svn-eincheckten files residieren. dazu rbauchen wir erstmal unseren Ordner /var/lib/svn, den wir zuvor als SVN Path konfiguriert haben, und erstellen dann daraufhin ein probe repository, in meinem fall nenne ich es tospage

sudo mkdir /var/lib/svn
snadmin create /var/lib/svn/tospage
sudo chown -R www-data:www-data /var/lib/svn/tospage
sudo service apache2 restart
vi /etc/apache2/dav_svn.passwd
sudo htpasswd -cm /etc/apache2/dav_svn.passwd testuser
Passwort vergeben
vi /var/lib/svn/tospage/conf/svnserve.conf

in diesem File fügen wir die Zeilen hinzu:

anon-access = none
auth-access = write
password-db = passwd
realm = repository tospage

Wichtig: Am Anfang einer jeden Zeile in der Konfiugrationsdatei dürfen keine Leerzeichen sein! die auskommentierten Beispielzeilen haben aber eine Leerzeile, wenn wir die einfach einkommentieren und die Werte dahitner abändern, bekommen wir später Fehler. Die Leerzeichen müssen weg!

Wir erstellen eine Passwortdatei

vi /var/www/vhosts/domain/httpdocs/conf/passwd

Und fügen dort eine Zeile für einen User hinzu

<username> = <passwort>

in euren Ordner /projects/ kopiert ihr jetzt eines eurer Projekte, welches ihr angefangen habt oder anfangen wollt. Ich erstelle in meinem Fall einen Ordner tospage und in diesme Ordner wiederum einen Ordner source. Im Ordner source liegt später der Sourcecode, der nach svn ausgelagert werden soll

mkdir /projects/tospage/source

Wir importieren den Sourcecode der tospage in unser subversion, welches wir irgendwo auf unseren server kopiert haben.

svn import /projects/tospage/source/ file:///var/www/vhosts/domain/httpdocs/tospage

Nun sind die Projektdaten in das Subversion-Repository eingecheckt als REvision 0.Jetzt kofnigurieren wir websvn neu und starten wir den Subversion-Server als Daemon

dpkg-reconfigure websvn
2014-11-28_13h45_08
2014-11-28_13h46_07
2014-11-28_13h47_53
2014-11-28_13h48_05
svnserve -d

Wir wollen natürlich, dass bie jedem neustart der subversion daemon wieder startet. Deswegen legen wir die Datei /etc/init.d/subversion an und befüllen Sie mit folgendem inhalt:

#!/bin/bash

case "$1" in
        start)
                svnserve -d -r /var/www/vhosts/domain/httpdocs/svn
                ;;
        stop)
                killall svnserve
                ;;
        restart)
                $0 stop
                sleep 3
                $0 start
                ;;
esac

das skript mus snoch auführbar gemacht werden

chmod +x /etc/init.d/subversion

Nru weil das skript unter /etc/init.d gespeichert ist, wir de saber noch nicht bei systemstart ausgeführt. Deswegen müssen wir es noch zum systemstart dazufügen

update-rc.d subversion defaults

Jetzt läuft der Server als Daemon und das Projekt tospage ist bereits aufgenommen.

Jetzt sollte der Server bereits funktionieren. Wir testen das gleich aml, indem wir das Projekt in einenbeliebigen Ordner auf dem SErver ausechecken mit

svn co svn://domain/tospage

Das Repository ist jetzt unter dem Namen erreichbar, den wir in der Konfiguration nach dem Stichwort realm eingegeben haben. Dementsprechend können wir das Proejkt, obwohl es sich in Wahrheit unter /var/www/vhosts/domain/httpdoc/svn/tospage befindet, einfach nur unter tospage auschecken

Jetzt brauchen wir für unseren Windows-Desktop einen Client, mit dem wir die entsprechenden Projektdateien auschecken und auf unserem lokalen Rechner bearbetein – und im bearbeiteten Zustand wir einchecken – können. Für Windows empfiehlt sich dazu TortoiseSVN. Einfach downloaden und installieren.

Ich habe auf meinem Desktop einen Ordner C:\Source aufgesetzt. Dort will ich das Projekt tospage nun auschecken. Dazu rechtsklicke ich den Ordner in Windows und wähle TortoisSVN – SVN Checkout und geben dort wie oben bereits erwähnt die URL mit svn:// als Protokoll an.

Nun sollten die Daten auch auf einem fremden Windows-Rechner ausgecheckt werden. Wenn wir die daten jemals wieder einchecken wollen, machen wir in diesem Ordner einen rechtsklick und wählen im kontextmenü SVN commit.

 

 

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.