Teil 2: Konfiguration
Jetzt beschäftigen wir uns mit der Konfiguration von Apache, SVN und dem ersten Repository.
1. Müssen wir uns eine Ordnerstruktur für die späteren Repositories und vielleicht auch Scripts einfallen lassen. Ich habe mir dazu einfach einen svn Ordner unter /var/ angelegt. Aber dies ist alles euch überlassen ihr solltet es euch nur merken können... mkdir /var/svn mkdir /var/svn/repos mkdir /var/svn/scripts mkdir /var/svn/backup
2. Nun sollten wir uns eine Passwortdatei für den SVN anlegen. Die Passwörter basieren auf den Befehl htpasswd. Nachdem Befehl wird 2 mal nach dem Password für den Benutzer gefragt und anschließend in die übergebene Datei geschrieben. Wie ihr die Datei nennt oder wo sie liegt ist egal. htpasswd -c /var/svn/svn.passwd BeispielUser Als Bestätigung bekommen wir die Meldung: Adding password for user BeispielUser. Wenn wir diese Datei öffnen sehen wir den angelegten Benuter mit verschlüsselten Password: BeispielUser:hF2Q9l3NjquC6. Diese Datei ist also unser späterer Container für alle Benutzer und deren Passwörter des SVN.
3. Jetzt legen wir ein neues Repository an. Dieses Repository packe ich in meinen Sammelordner für alle Repositories die ich erzeuge. Es könnte aber theoretisch überalll erstellt werden. svnadmin create --fs-type fsfs /var/svn/repos/Beispielrepo
4. Wir müssen jetzt noch dem Apache erlauben auf die Daten zuzugreifen denn wir haben das Repository wahrscheinlich mit root oder einen anderen Benutzer angelegt. chown -R www-data:www-data /var/svn/repos/* chmod -R 770 /var/svn/repos/*
5. Wir haben jetzt ein SVN Repository erzeugt können aber noch nicht drauf zugreifen. Dazu müssen wir die Konfigurationsdatei des SVN Apache Moduls anpassen. Die Datei liegt bei mir unter: /etc/apache2/mods-enabled/dav_svn.conf <Location /svn> Mit Location /svn sagen wir Apache wie die Domain erweitert werden soll (http://www.beispiel.de/svn) SVNParentPath kann auch mit SVNPath ersetzt werden definiert dann aber nur ein Repository. So könnte man dann mehrere Locations mit unterschiedlichen Einstellungen hinzufügen. Bei AuthUserFile setzen wir unsere zuvor generierte Passworddatei ein. Ich verwende bei mir selber noch eine "Zugriffsrechtedatei" (AuthzSVNAccessFile). Diese ist aber etwas schwieriger zu konfigurieren und darum lasse ich sie erstmal vor.
6. Apache neustarten um die Konfiguration zu übernehmen. /etc/init.d/apache2 reload /etc/init.d/apache2 restart
7. Testen ob SVN in Verbindung mit Apache funktioniert. Dazu einfach einen Webbrowser öffnen und eure Adresse eingeben. Beispiel: http://www.beispiel.de/svn/Beispielrepo/ Als erstes solltet ihr zu einer Passwortabfrage kommen. Da gebt ihr die Daten so ein wie wir sie vorhin erstellt haben (htpasswd). Jetzt solltet ihr euer Repository als Revision 0 sehen. Wenn es funktioniert könnt ihr euch einen SVN Client wie TortoiseSVN nehmen und auf diese URL verbinden. |
