Hier nur ein paar wirklich grundlegende Hinweise, wie man mit svnserve arbeitet. Was du alles einstellen kannst im Detail und wie die Benutzung auf Client-Seite aussieht, findest du zu Genüge im Netz. Hier also nur ein paar Anhaltspunkte für erste Erfolgserlebnisse.

Ich werde hier sicherlich kein Handbuch zu Subversion schreiben, da es hier lediglich um die Installation, Konfiguration und Wartung des Servers dreht, aber ich will dich nicht ganz ahnungslos im Dunklen stehen lassen. Daher hier ein paar Tips und Hinweise wie man mit Subversion arbeitet.

  1. Als erstes legen wir mal ein Beispiel-Repository an. Ich nenne es mal "Mein erstes Projekt". Also legen wir ein Verzeichnis an, in dem das Repository gespeichert werden soll:

    # mkdir /usr/local/svnrepos/mein_erstes_projekt

  2. Jetzt solltest du dieses Verzeichnis an deinen Benutzer "svn" übergeben (oder wie du ihn bei der Installation genannt hast) und nur ihm Schreibrechte geben:

    # chown svn:svn /usr/local/svnrepos/mein_erstes_projekt

    # chmod 700 /usr/local/svnrepos/mein_erstes_projekt

  3. Jetzt initialisieren wir das Repository mit folgendem Befehl:

    # svnadmin create /usr/local/svnrepos/mein_erstes_projekt

  4. Jetzt werden einige Unterverzeichnisse und Dateien angelegt, unter anderem das Verzeichnis "conf", in dem sich eine Datei "svnserve.conf" befindet. Wie der Name schon sagt, die Konfigurationsdatei für den SVN-Server. Hier sind folfende Parameter wichtig:

    [GENERAL]
    password-db = passwd
    realm = Mein erstes Projekt
    anon-access = none
    auth-access = write

    • password-db: Das musst du auf passwd ändern, hier werden die Benutzer und Passwörter gespeichert.
      ACHTUNG: Das ist NICHT die "/etc/passwd" für die Shell-Accounts!
    • realm: Der Name des Repositories. Du solltest einen sinnvollen Namen wählen.
    • anon-access: Hier legst du die Berechtigung eines anonymen Benutzers fest. Zur Auswahl stehen "none", "read" und "write".
    • auth-access: Das gleiche wie zuvor, nur legst du hier fest, welche Berechtigungen Benutzer haben, die sich authentifizieren können. Wo wir Benutzer anlegen zeige ich dir gleich.
  5. Jetzt editieren wir die Datei "/usr/local/svnrepos/mein_erstes_projekt/conf/passwd" und tragen folgende Zeilen ein (Beispiele sollten bereits drin stehen):

    [USER]
    <BENUTZERNAME> = <PASSWORT>

    Achte bitte darauf, dass der SVN-Server, und nur dieser, Lesezugriff hat. Schreibzugriff braucht er nicht, da er keine Benutzerverwaltung enthält.

    HINWEIS: Wenn du kompliziertere Berechtigungsstrukturen brauchst, solltest du dir mal die Datei "conf/authz" ansehen, da ist beschrieben wie du Zugriffe per Gruppen oder auch auf einzelne Verzeichnisse beschränken kannst. Vergiss aber nicht deine "svnserve.conf" entsprechend anzupassen, indem du folgende Zeile einfügst:

    authz-db = authz

  6. Jetzt ist unser erstes Repo. bereits angelegt. Jetzt solltest du dir noch einen entsprechenden Client besorgen, mit dem du komfortabel darauf zugreifen kannst.

    Für Microsoft Windows empfehle ich das Programm "Tortoise SVN", für Linux "KDESVN".

    Literatur zur Benutzung von Subversion: Version Control with Subversion, das TortoiseSVN-Handbuch oder jede Suchmaschine.

  7. Um ein Backup eines Repositories anzulegen, kannst du folgenden Befehl verwenden (ein automatisches Skript hierfür wird noch folgen):

    # svnadmin dump /usr/local/svnrepos/ > /backupverzeichnis/svnrepos_<heutiges Datum>

    Wiederherstellen kannst du es dann wie folgt:

    # svnadmin load /usr/local/svnrepos/ < /backupverzeichnis/svnrepos_<damaliges Datum>