Apache Subversion: Unterschied zwischen den Versionen
Chepaz (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
'''Apache Subversion (SVN)''' ist ein Versionsverwaltungssystem für Dateien und Verzeichnisse. Grundlage des Systems ist ein zentrales Projektarchiv (''Repository''). In diesem Artikel soll neben der Installation von Subversion auf die Installation des einfachen SVN-Servers '''svnserve''' eingegangen werden. | |||
==Installation== | |||
Subversion befindet sich im Extra-Repository: | |||
# pacman -S subversion | |||
==Svnserve== | |||
===Vorbereitung=== | |||
Für den Betrieb von '''svnserve''' ist es empfehlenswert, für Subversion einen gesonderten Nutzer samt Gruppe anzulegen: | |||
# groupadd svn | |||
''' | |||
# useradd -c "Subversion" -d /home/svn -g svn -m -s /bin/false svn | |||
===Anlegen der Repositories=== | |||
Im Home-Verzeichnis des Nutzers '''svn''' wird nun ein Stammverzeichnis für alle Repositories angelegt: | |||
# sudo -u svn mkdir /home/svn/repositories | |||
Dort können anschließend die Repositories angelegt werden: | |||
# sudo -u svn svnadmin create --fs-type fsfs /home/svn/repositories/REPO_NAME | |||
Das Repository-Verzeichnis <code>/home/svn/repositories/REPO_NAME</code> wird im Folgenden <code>$REPO_DIR</code> genannt. | |||
===Nutzerrechte festlegen=== | |||
Die Nutzerrechte können für jede Repository einzeln in der Konfigurationsdatei <code>$REPO_DIR/conf/svnserve.conf</code> festgelegt werden. Als Rechtestufen können <code>read|write|none</code> verwendet werden. Dies geschieht durch das Auskommentieren der Zeile | |||
[general] | |||
auth-access = write | |||
password-db = passwd | |||
Dort kann auch allen anonymen Nutzern Schreib- oder Lesezugriff gewährt werden: | |||
[general] | |||
''' | anon-access = read | ||
Die Nutzer und Passwörter werden in <code>$REPO_DIR/conf/passwd</code> festgelegt: | |||
[users] | |||
harry = foopassword | |||
sally = barpassword | |||
===Starten des Servers=== | |||
Hierzu muss <code>/etc/conf.d/svnserve</code> entsprechend dem oben festgelegten Stammverzeichnis angepasst werden: | |||
# | |||
# Parameters to be passed to svnserve | |||
''' | # | ||
SVNSERVE_ARGS="-r /home/svn/repositories" | |||
SVNSERVE_USER="svn" | |||
Anschließend den Server starten: | |||
# /etc/rc.d/svnserve start | |||
Der Server-Daemon kann auch der [[rc.conf]] hinzugefügt werden: | |||
DAEMONS = (... svnserve) | |||
===Testen des Repository=== | |||
Ist alles korrekt eingerichtet, sollte folgender Test-Import in das Repository eine Meldung <code>"Revision x übertragen."</code> zurückgeben: | |||
$ cd /path/to/files | |||
$ svn import svn://domain.net/REPO_NAME -m "Import Test" | |||
== Weblinks == | |||
* [http://subversion.apache.org/] {{sprache|en}} Offizielle Webseite | |||
[[Kategorie:Netzwerk]] | [[Kategorie:Netzwerk]] |
Version vom 12. Dezember 2010, 22:02 Uhr
Apache Subversion (SVN) ist ein Versionsverwaltungssystem für Dateien und Verzeichnisse. Grundlage des Systems ist ein zentrales Projektarchiv (Repository). In diesem Artikel soll neben der Installation von Subversion auf die Installation des einfachen SVN-Servers svnserve eingegangen werden.
Installation
Subversion befindet sich im Extra-Repository:
# pacman -S subversion
Svnserve
Vorbereitung
Für den Betrieb von svnserve ist es empfehlenswert, für Subversion einen gesonderten Nutzer samt Gruppe anzulegen:
# groupadd svn # useradd -c "Subversion" -d /home/svn -g svn -m -s /bin/false svn
Anlegen der Repositories
Im Home-Verzeichnis des Nutzers svn wird nun ein Stammverzeichnis für alle Repositories angelegt:
# sudo -u svn mkdir /home/svn/repositories
Dort können anschließend die Repositories angelegt werden:
# sudo -u svn svnadmin create --fs-type fsfs /home/svn/repositories/REPO_NAME
Das Repository-Verzeichnis /home/svn/repositories/REPO_NAME
wird im Folgenden $REPO_DIR
genannt.
Nutzerrechte festlegen
Die Nutzerrechte können für jede Repository einzeln in der Konfigurationsdatei $REPO_DIR/conf/svnserve.conf
festgelegt werden. Als Rechtestufen können read|write|none
verwendet werden. Dies geschieht durch das Auskommentieren der Zeile
[general] auth-access = write password-db = passwd
Dort kann auch allen anonymen Nutzern Schreib- oder Lesezugriff gewährt werden:
[general] anon-access = read
Die Nutzer und Passwörter werden in $REPO_DIR/conf/passwd
festgelegt:
[users] harry = foopassword sally = barpassword
Starten des Servers
Hierzu muss /etc/conf.d/svnserve
entsprechend dem oben festgelegten Stammverzeichnis angepasst werden:
# # Parameters to be passed to svnserve # SVNSERVE_ARGS="-r /home/svn/repositories" SVNSERVE_USER="svn"
Anschließend den Server starten:
# /etc/rc.d/svnserve start
Der Server-Daemon kann auch der rc.conf hinzugefügt werden:
DAEMONS = (... svnserve)
Testen des Repository
Ist alles korrekt eingerichtet, sollte folgender Test-Import in das Repository eine Meldung "Revision x übertragen."
zurückgeben:
$ cd /path/to/files $ svn import svn://domain.net/REPO_NAME -m "Import Test"
Weblinks
- [1] Offizielle Webseite