SVN-Server installieren: Unterschied zwischen den Versionen
imported>Hruendel Keine Bearbeitungszusammenfassung |
imported>Hruendel Keine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
== Konfiguration + Einrichten == | == Konfiguration + Einrichten == | ||
# Einloggen mit Putty als '''root''' (wirklich Namen mit "root" angeben und Adminpasswort, Putty ist ein kleines Tool, mit dem man sich komfortabel auf die DS verbinden kann.) | |||
# Wechseln ins Verzeichnis '''/volume1/svn''' | |||
<pre>cd /volume1/svn</pre> | <pre>cd /volume1/svn</pre> | ||
# Benutzer wechseln. "Meinuser" ist der Synology-Benutzer mit Administratorrechten jedoch kein root! Das wechseln der Identität funktioniert nicht: [[Wechseln des login für einen Benutzer]] | |||
<pre>su meinuser</pre> | <pre>su meinuser</pre> | ||
# Mit diesem Benutzer das SVN-Verzeichnis erstellen. 'unser_svn_repo' ist der Name des Repository. | |||
<pre>svnadmin create /volume1/svn/unser_svn_repo</pre> | <pre>svnadmin create /volume1/svn/unser_svn_repo</pre> | ||
In das Unterverzeichnis "/conf" im neu erstellten SVN-Repository wechseln. | # In das Unterverzeichnis "/conf" im neu erstellten SVN-Repository wechseln. | ||
<pre>cd unser_svn_repo/conf</pre> | <pre>cd unser_svn_repo/conf</pre> | ||
Datei mit der Benutzerdatenbank mit dem Editor VI öffnen. | # Datei mit der Benutzerdatenbank mit dem Editor VI öffnen. | ||
<pre>vi passwd</pre> | <pre>vi passwd</pre> | ||
In die Datei 'passwd' zukünftige SVN-Benutzer eintragen. Im Klartext User und Passwort der Benutzer für das Repository eingeben. | # In die Datei 'passwd' zukünftige SVN-Benutzer eintragen. Im Klartext User und Passwort der Benutzer für das Repository eingeben. | ||
<pre>mein_svn_user1 = testpw123 | <pre>mein_svn_user1 = testpw123 | ||
mein_svn_user2 = testpw123 | mein_svn_user2 = testpw123 | ||
...</pre> | ...</pre> | ||
# | |||
# | # Editiermodus verlassen, in den befehlsmodus wechseln. | ||
# | <pre>Taste "ESC"</pre> | ||
# Datei speichern und VI-Editor verlassen (write & quite). | |||
<pre>:wq</pre> | |||
# Für begrenzte Schreib/Leserechte der Datei "passwd" sorgen. | |||
<pre>chmod 600 passwd</pre> | |||
# '''vi svnserve.conf''' | # '''vi svnserve.conf''' | ||
# i (Editor VI in den Editiermodus umschalten.) | # i (Editor VI in den Editiermodus umschalten.) |
Version vom 10. April 2011, 00:43 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. Der Beitrag basiert auf diesem Thread im Forum von Toscman
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
Pakete installieren
Wie bei ipkg Pakete üblich geht das mit dem gewohnten "Zweisatz" bei den DS
$ ipkg update $ ipkg install svn
Verzeichnis und Benutzer anlegen
Im Disk Station Manager (Web GUI) mit Hilfe von Volume Managers eine neue Netzwerkfreigbe svn erstellen. Einen neuen Benutzer svnowner ohne Passwort anlegen und ihm Schreib- Leserechte für das Verzeichnis svn freigeben.
Konfiguration + Einrichten
- Einloggen mit Putty als root (wirklich Namen mit "root" angeben und Adminpasswort, Putty ist ein kleines Tool, mit dem man sich komfortabel auf die DS verbinden kann.)
- Wechseln ins Verzeichnis /volume1/svn
cd /volume1/svn
- Benutzer wechseln. "Meinuser" ist der Synology-Benutzer mit Administratorrechten jedoch kein root! Das wechseln der Identität funktioniert nicht: Wechseln des login für einen Benutzer
su meinuser
- Mit diesem Benutzer das SVN-Verzeichnis erstellen. 'unser_svn_repo' ist der Name des Repository.
svnadmin create /volume1/svn/unser_svn_repo
- In das Unterverzeichnis "/conf" im neu erstellten SVN-Repository wechseln.
cd unser_svn_repo/conf
- Datei mit der Benutzerdatenbank mit dem Editor VI öffnen.
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
- vi svnserve.conf
- i (Editor VI in den Editiermodus umschalten.)
- anon-access = none # Rechte für anonyme Benutzer einschrenken.
- auth-access = write # Angemeldeten benutzern den zugang erlauben.
- password-db = passwd (Bezeichnung der Passwortdatei in der die Benutzer aufgelistet sind.)
- realm = Mein Repository (Bezeichnung des Repository - optional.)
- "ESC" (Editiermodus verlassen, in den befehlsmodus wechseln.)
- :wq (write & quite - Datei speichern und VI-Editor verlassen.)
Start des Servers
Einmalig (geht verloren bei reboot)
Auf Konsole aufrufen:
svnserve -d -r %repos_ordner%
Start des SVN-Servers bei Systemstart
Nach dieser Anleitung vorgehen und in das eigene Bootscript obigen Code einfügen.
Einbinden des Servers auf "elegante" Weise
siehe Originaleintrag im englischen Wiki hier
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 under Linux/Unix mit dem inet-Daemon.
Einrichtung inet-Daemon
- Mit vi inetd.conf bearbeiten:
vi /etc/inetd.conf
- Folgende Zeile einfügen (zwischen den Wörtern sind Tabs):
svn stream tcp nowait %svnowner% /opt/bin/svnserve svnserve -i -r %repo_ordner%
- Speichern und schließen:
: wq
Bearbeitung services- File
- Mit vi services bearbeiten:
vi /etc/services
- z.B. am Ende folgende Zeilen einfügen (zwischen den Blöcken sind Tabs):
svn 3690/tcp #Subversion
svn 3690/udp #Subversion
- Speichern und schließen:
: wq
Neustart
reboot
Probleme
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
SVN auf Clienten aufrufen
Das geht am besten mit dem Programm Tortoise. Ist kostenlos im Internet erhältlich. Einfach runterladen und installieren. Anschließend kann man per Rechtsklick das Kontextmenü aufrufen und dort den Punkt "SVN Checkout" aufrufen.
Der SVN-Pfad den man eingeben muss lautet folgendermaßen:
svn://%ip_von_DS%/%repos_ordner%
Anschließend wird der Ordner an der entsprechenden Stelle erzeugt und ihr könnt damit arbeiten.