HowTo setup SVN und Apache2 Server – Debian
Moin Moin zusammen,
aus gegebenen Anlass werde ich euch heute zeigen, wie ihr einen SVN Server in wenigen Minuten auf eurem Linux Server aufsetzen könnt. Das folgende beschriebene Setup ist ein ganz einfaches Setup, ohne “Gruppen oder Nutzerbeschränkung”. Alle Benutzer, die sich am Server authentifizieren können sowohl ein- als auch auschecken.
Na dann legen wir mal los 😛
Zuerst verschafft euch “root”-Rechte damit ihr die benötigten Pakete installieren könnt. Um die notwendigen Pakete zu installieren nutzen wir den APT Installer mit folgenden Argumenten:
# apt-get update
# apt-get install subversion
# apt-get install libapache2-svn
“libapache2-svn” ist wichtig, damit wir nachher unsere SVNs per http:// Protokoll auschecken können. Jetzt benötigen wir noch einen Ordner, in dem unser sogenanntes SVNRoot liegt (quasi der Ordner in dem später eure SVN Zweige liegen) und richten die entsprechende Konfiguration ein. Natürlich könnt ihr euren Ordner frei wählen, achtet aber auf die anzulegenden Konfigurationen – diese solltet ihr nicht einfach kopieren und einfügen sondern auch nach euren Voreinstellungen abändern. Das machen wir einfach wie folgt (Achtung ich nutze interne Adressen – 10.0.0.0/8 -, da ich ein VPN Netzwerk aufgebaut habe und es auch nutze :-P):
mkdir -p /backup/svnroot
vi /etc/apache2/sites-enabled/001-svn
NameVirtualHost 10.70.0.153:80
<VirtualHost 10.70.0.153:80>
ServerName idedicated003.myhost.pro<Location /svn>
DAV svn
SVNParentPath /backup/svn/
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warnCustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
[the_ad id=”266″]
So nun müssen wir noch unseren Benutzer anlegen, der auf das SVN Zugriff erhalten soll.
htpasswd /etc/apache2/dav_svn.passwd DEINBENUTZERNAME
Anschließend noch ein Passwort festlegen und schon sind wir fast fertig. Natürlich müssen wir jetzt noch ein eigentliches SVN anlegen. Ich nenne es einfach mal “firewall”.
svnadmin create /backup/svn/firewall
Achtung: Vergesst den folgenden Schritt nichts, ansonsten wirft euer SVN Client später Fehler!
chown www-data:www-data /backup/svn/firewall
Nun führt muss noch der Apache2 Service neu gestartet werden und dann sollte, insofern ihr keine Firewallregeln festgelegt habt, alles bestens funktionieren 😛
service apache2 restart
Jetzt testet einfach mal, ob ihr das Ganze im Browser an surfen könnt (Benutzername und Passwort bereithalten :-P)
http://10.70.0.153/svn/firewall/
Dann solltet ihr eine Revisionsseite angezeigt bekommen – wenn nicht, dann geht auf Fehlersuche und startet nochmal mit den Konfigurationsdateien. Normalerweise passt es nämlich 😛 Wenn ihr Hilfe braucht, dann nutzt meinen “Über mich” -> “Frage stellen” Bereich oder kommentiert es hier 😉
PS: Auf eurem Client muss ebenfalls “subversion” installiert sein und dann einfach mal mit “svn co http://10,70.0.153/svn/firewall/” auschecken 😛
LG
Nico