Linux-Startscript für Subversion-Server

veröffentlicht am 16. April 2010

Ich nutze schon seit langem Subversion, um meine Projekte oder auch Studien-Unterlagen in einer Versionsverwaltung abzulegen. Ich habe mich damals für Subversion entschieden, da es als quasi-Nachfolger des Concurrent Versions System gilt und damit eine weite Verbreitung in der Industrie erfährt. Als ich letztens meinen vServer eingerichtet habe, zog ich auch gleich meine Subversion-Repositories um. Hierbei ist mir mal wieder aufgefallen, dass Linux (zumindest Ubuntu) kein Startscript für Subversion zur Verfügung stellt.

Das liegt wohl darin begründet, dass man Subversion z.B. auch mit einem Apache Webserver koppeln kann und ein Startscript dann eher Kontraproduktiv wäre.

Wer Subversion allerdings nur als eigenständigen Server laufen lassen möchte, ist gut bedient mit einem Startscript. Dazu erstellst man zunächst mit nano oder einem anderen Texteditor die Datei /etc/init.d/svnserve:

nano /etc/init.d/svnserve

In diese Datei schreibst du dann folgendes:

#!/bin/bash
case "$1" in
   start)
      svnserve -d -r <Repository-Pfad>
      ;;
   stop)
      killall svnserve
      ;;
   restart)
      $0 stop
      sleep 3
      $0 start
   ;;
esac

<Repository-Pfad> musst du durch den Pfad zu deinen Subversion-Repositories ersetzen, also z.B. /var/svn. Nachdem das erledigt ist, musst du die Datei ausführbar machen:

chmod +x /etc/init.d/svnserve

Danach trägst du das Startscript noch in die entsprechenden Runlevel ein:

update-rc.d svnserve defaults

Nun sollte Subversion bei jedem Systemstart automatisch mitstarten. Möchtest du den Server nun ohne Neustart starten, gibst du einfach

/etc/init.d/svnserve start

ein. Wenn dein Subversion-Dienst noch weitere Parameter benötigt, musst du einfach das angelegte Startscript mit einem Texteditor öffnen und die Parameter hinter dem svnserve-Befehl anpassen.

Hinterlasse einen Kommentar