SVN-Server installieren: Unterschied zwischen den Versionen
imported>Hruendel Keine Bearbeitungszusammenfassung |
imported>Hruendel Keine Bearbeitungszusammenfassung |
||
Zeile 130: | Zeile 130: | ||
Wird ein SVN Repository nicht mehr benötigt kann es mit dem einfachen Befehl "rm -r %unser_svn_repo%" gelöscht werden. Das Löschen über die Netzwerkfreigabe reicht ebenfalls aus. | Wird ein SVN Repository nicht mehr benötigt kann es mit dem einfachen Befehl "rm -r %unser_svn_repo%" gelöscht werden. Das Löschen über die Netzwerkfreigabe reicht ebenfalls aus. | ||
In das SVN Verzeichnis wechseln. Nicht mehr benötigtes Repository löschen. | In das SVN Verzeichnis wechseln. Verzeichnisstruktur mit "dir" kontrolieren. Nicht mehr benötigtes Repository löschen. | ||
<pre>cd /volume1/svn | <pre>cd /volume1/svn | ||
dir | dir |
Version vom 10. April 2011, 10:04 Uhr
SVN (Subversion) auf der DS
Subversion ist eine Codeverwaltung, die das gemeinsame Arbeiten an gleichen Codes wesentlich vereinfacht. Subversion übernimmt hierbei das Versionsmanagement der Codes.
Installation
Voraussetzungen
- Zugang auf die Kommandozeile (Shell)
- Umgang mit einem Editor z.B. vi
- Paketverwaltung ipkg muss installiert sein
- Login auf die Shell als root mit Administrator Passwort
IPKG SVN Pakete installieren
Auf der DiskStation IPKG Pakete aktualisieren und das Paket SVN installieren.
$ ipkg update $ ipkg install svn
Netzwerkfreigabe und Synology-Benutzer anlegen
Im Disk Station Manager (Web GUI) mit Hilfe von Volume Managers eine neue Netzwerkfreigabe Namens "svn" erstellen. Sie soll am besten nicht mit dem User "admin" oder "root" wegen Sicherheit angelegt werden. Zur Not müssen die Rechte nachträglich angepasst werden. Oft sind die falschen Rechte ein Grund dafür, dass der Server nicht startet. Also einen Synology User mit Administratorrechten jedoch keinen root oder admin für das Anlegen des Verzeichnisses verwenden.
Einen neuen Synology Benutzer Namens "svnowner" ohne Passwort anlegen und ihm Schreib-Leserechte für das Verzeichnis "svn" freigeben. Für den Benutzer sollen am besten die weiteren Freigaben versperrt bleiben.
Neus SVN Repository anlegen und konfigurieren
Einloggen mit Putty als root mit Adminpasswort.
Die Prozentzeichen (%...%) deuten auf eine Variable die Sie entsprechend Ihren Bedürfnissen ohne Prozentzeichen ersetzen sollen.
login as: root password: %Adminpasswort%
Wechseln ins Verzeichnis /volume1/svn
cd /volume1/svn
Das SVN-Verzeichnis erstellen. "unser_svn_repo" ist der Name des Repository.
svnadmin create /volume1/svn/%unser_svn_repo%
Benutzerrechte für das Verzeichnis /volume1/svn/%unser_svn_repo% anpassen. Rechte mit dem Befehl "dir" überprüffen. Alle Dateuen sollen dem User "svnowner" und der Gruppe "users" gehören.
chown svnowner:users -R %unser_svn_repo% dir
In das Verzeichnis /volume1/svn/%unser_svn_repo% wechseln. Eventuell die Struktur wieder mit dem Befehl "dir" kontrolieren.
cd %unser_svn_repo% dir
In das Unterverzeichnis "conf" in unserem neu erstellten SVN-Repository wechseln. Wieder mit "dir" die Struktur Prüfen.
cd conf dir
Datei mit der Benutzerdatenbank "/volume1/svn/%unser_svn_repo%/conf/passwd" mit dem Editor VI öffnen.
Bemerkung: Die Konfigurationsdateien können auch in dem freigegebenen Ordner "svn" mit einem Windows-Editor wie Notepad++ bearbeitet werden.
vi passwd
In die Datei 'passwd' zukünftige SVN-Benutzer eintragen. Im Klartext User und Passwort der Benutzer für das Repository eingeben.
%mein_svn_user1% = %testpw123% %mein_svn_user2% = %testpw123% ...
Editiermodus verlassen, in den Befehlsmodus wechseln.
Taste "ESC"
Datei speichern und VI-Editor verlassen (write & quite).
:wq
Für begrenzte Schreib/Leserechte der Datei "passwd" sorgen.
chmod 600 passwd
Konfigurationsdatei des neuen SVN Repository "/volume1/svn/%unser_svn_repo%/conf/svnserve.conf" mit dem Editor VI anpassen.
vi svnserve.conf
Editor VI in den Editiermodus umschalten.
i
Folgendes auskommentieren bzw. ergänzen:
- Rechte für anonyme Benutzer einschränken.
- Angemeldeten Benutzern den Zugang erlauben.
- Bezeichnung der Passwortdatei in der die Benutzer aufgelistet sind.
- Bezeichnung des Repository - optional
anon-access = none auth-access = write password-db = passwd realm = Mein Repository
Editiermodus verlassen, in den Befehlsmodus wechseln.
Taste "ESC"
Datei speichern und VI-Editor verlassen (write & quite).
:wq
Das Repository ist nun einsatzbereit. Der Server muss noch konfiguriert werden.
Konfiguration des Servers
Einrichtung von inet-Daemon
Mit dem Editor VI die Datei /etc/inetd.conf bearbeiten:
vi /etc/inetd.conf
Folgende Zeile einfügen
svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/svn
Speichern und schließen:
: wq
Datei "services" anpassen
Mit dem Editor VI die Datei /etc/services bearbeiten:
vi /etc/services
Am Ende folgende Zeilen einfügen:
svn 3690/tcp #Subversion svn 3690/udp #Subversion
Speichern und schließen:
: wq
Neustart
Nach der Installation ist ein Neustart der DiskStation erforderlich. Das geht manuell per WebGUI oder mit dem Befehl:
reboot
SVN auf Arbeitscomputer aufrufen
Am besten geht das mit dem Programm Tortoise. Es ist ein mächtiges Werkzeug, ist kostenlos und kann einfach runterladen und auf den Arbeitscomputer installieren werden.
Nach dem Tortoise auf Ihrem Arbeitscomputer installiert ist kann man per Rechtsklick auf dem Desktop oder Datei das Kontextmenü aufrufen und dort den Punkt "SVN Checkout" aufrufen. Man wird nach dem Benutzernamen und Passwort gefragt. Hier geben Sie den Benutzernamen denn Sie in der Datei mit der Benutzerdatenbank /volume1/svn/%unser_svn_repo%/conf/passwd eingetragen haben.
Der SVN-Pfad den man eingeben muss lautet folgendermaßen:
svn://%ip_von_DS%/%unser_svn_repo%
Anschließend wird der Ordner an der entsprechenden Stelle erzeugt und ihr könnt damit arbeiten.
SVN Reporitory löschen
Wird ein SVN Repository nicht mehr benötigt kann es mit dem einfachen Befehl "rm -r %unser_svn_repo%" gelöscht werden. Das Löschen über die Netzwerkfreigabe reicht ebenfalls aus.
In das SVN Verzeichnis wechseln. Verzeichnisstruktur mit "dir" kontrolieren. Nicht mehr benötigtes Repository löschen.
cd /volume1/svn dir rm -r %unser_svn_repo%"
Mit einem SVN Repository auf einen Ort umziehen
Beim Systemwechsel, Neuinstallation der DiskStation OS ist es notwendig das Repository zu sichern und wieder neu einzuspielen.
Mit dem Bfehl "svnadmin dump..." wird eine Kopie des SVN Repository erstellt. bei dem beispiel wird die Dump-datei im vorher freigegebenen Ordner "public" gespeichert.
svnadmin dump /volume1/svn/%unser_svn_repo% > /public/%unser_svn_repo%.dump Wiederherstellen auf dem neuen Ort geht mit dem Befehl "load" im bereits angelegten SVN Repository. <pre>svnadmin load /volume1/svn/%unser_svn_repo% < /public/%unser_svn_repo%.dump
Probleme und Bemerkungen der User
Einmaliges Starten des Servers, geht bei Neustart verloren. Auf Konsole aufrufen:
svnserve -d -r %unser_svn_repo%
Start des SVN-Servers bei Systemstart:
Nach dieser Anleitung vorgehen und in das eigene Bootscript obigen Code einfügen.
Vorbemerkung: SVN ist erfahrungsgemäß recht ressourcenhungrig. Darum ist es sinnvoller den SVNserver-Daemon nicht die ganze Zeit am Laufen zu haben, sondern nur zu starten, wenn er benötigt wird. Das funktioniert unter Linux/Unix mit dem inet-Daemon. (...kann ich nicht bestätigen)
Bei mir funktionierte der Start mittels inetd nicht auf Anhieb. Das Problem wurde anscheinend auch hier beschrieben. Es half den inet-Daemon neu zu starten:
/usr/syno/etc/rc.d/S03inetd.sh stop
/usr/syno/etc/rc.d/S03inetd.sh start