SVN-Server installieren: Unterschied zwischen den Versionen

Aus
Keine Bearbeitungszusammenfassung
 
(45 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== SVN (Subversion) auf der DS ==
== Anleitung ist veraltert ==
Subversion ist eine Codeverwaltung, die das gemeinsame Arbeiten an gleichen Codes wesentlich vereinfacht. Subversion übernimmt hierbei das Versionsmanagement der Codes.
Diese Anleitung ist veraltet. SVN ist jetzt als Zusatzpaket im DiskStation Manager verfügbar.
 
[
https://www.synology.com/de-de/dsm/packages/SVN]
 
== SVN (Subversion) auf der Disk Station ==
Subversion ist eine Versionsverwaltungsoftware, die das gemeinsame Arbeiten an dem Code für einen Nutzer oder große Gruppen wesentlich vereinfacht. Subversion übernimmt hierbei das Versionsmanagement des Code.
 
== Installation ==
== Installation ==
=== Voraussetzungen ===
=== Voraussetzungen ===
Zeile 7: Zeile 14:
* [[IPKG|Paketverwaltung ipkg muss installiert sein]]
* [[IPKG|Paketverwaltung ipkg muss installiert sein]]
* Login auf die Shell als '''root''' mit Administrator Passwort
* Login auf die Shell als '''root''' mit Administrator Passwort
== IPKG SVN Pakete installieren ==
Auf der DiskStation IPKG Pakete aktualisieren und das Paket SVN installieren.
<pre>
$ ipkg update
$ ipkg install svn
</pre>


== Netzwerkfreigabe und Synology-Benutzer anlegen==
== 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.
Im Disk Station Manager (Web GUI) eine neue Netzwerkfreigabe (gemeinsamen Ordner) Namens "'''svn'''" erstellen. Dabei wird von dem System der SVN Arbeitsordner '''/volume1/svn''' angelegt.


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.
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 alle weiteren Freigaben versperrt bleiben. Zur Not müssen die Rechte nachträglich angepasst werden. Oft sind die falschen Rechte bei den Dateien und Verzeichnissen ein Grund dafür, dass der Server nicht startet.


== Neus SVN Repository anlegen und konfigurieren ==
== Neus SVN Repository anlegen und konfigurieren ==
Zeile 23: Zeile 24:
Einloggen mit [http://www.putty.org/ Putty] als '''root''' mit Adminpasswort.
Einloggen mit [http://www.putty.org/ Putty] als '''root''' mit Adminpasswort.


Die '''Prozentzeichen (%...%)''' deuten auf eine Variable die Sie entsprechend Ihren Bedürfnissen ohne Prozentzeichen ersetzen sollen.
Die '''Prozentzeichen (%...%)''' deuten auf eine Variable die Sie entsprechend Ihren Bedürfnissen jedoch ohne Prozentzeichen ersetzen sollen.


<pre>login as: root
<pre>login as: root
password: %Adminpasswort%</pre>
password: %Adminpasswort%</pre>
Auf der DiskStation IPKG Pakete aktualisieren und das Paket SVN installieren.
<pre>
$ ipkg update
$ ipkg install svn
</pre>


Wechseln ins Verzeichnis /volume1/svn
Wechseln ins Verzeichnis /volume1/svn
Zeile 32: Zeile 39:




Das SVN-Verzeichnis erstellen. "'''unser_svn_repo'''" ist der Name des Repository.  
Das SVN-Verzeichnis erstellen. "'''my_svn_repo'''" ist der Name von unserem neuen Repository. Wichtig - vollständigen Pfad angeben.


<pre>svnadmin create /volume1/svn/%unser_svn_repo%</pre>
<pre>svnadmin create /volume1/svn/%my_svn_repo%</pre>


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.
Benutzerrechte für das Verzeichnis /volume1/svn/%my_svn_repo% anpassen. Rechte mit dem Befehl "dir" überprüfen. Alle Dateien sollen dem User "svnowner" und der Gruppe "users" gehören.
<pre>chown svnowner:users -R %unser_svn_repo%
<pre>chown svnowner:users -R %my_svn_repo%
dir</pre>
dir</pre>


In das Verzeichnis /volume1/svn/%unser_svn_repo% wechseln. Eventuell die Struktur wieder mit dem Befehl "dir" kontrolieren.
In das Verzeichnis /volume1/svn/%my_svn_repo% wechseln. Eventuell die Struktur wieder mit dem Befehl "dir" kontrollieren.
<pre>cd %unser_svn_repo%
<pre>cd %my_svn_repo%
dir</pre>
dir</pre>


In das Unterverzeichnis "'''conf'''" in unserem neu erstellten SVN-Repository wechseln. Wieder mit "dir" die Struktur Prüfen.
In das Unterverzeichnis "'''conf'''" in unserem neu erstellten SVN-Repository wechseln. Wieder mit "dir" die Struktur kontrollieren.
<pre>cd conf
<pre>cd conf
dir</pre>
dir</pre>


Datei mit der Benutzerdatenbank "/volume1/svn/%unser_svn_repo%/conf/passwd" mit dem Editor VI öffnen.
Datei mit der Benutzerdatenbank "/volume1/svn/%my_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 [http://notepad-plus-plus.org/ Notepad++] bearbeitet werden.
'''Bemerkung''': Die Konfigurationsdateien können auch in dem freigegebenen Ordner "svn" mit einem Windows-Editor wie [http://notepad-plus-plus.org/ Notepad++] bearbeitet werden.
Zeile 54: Zeile 61:


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% = %meinpasswort123%
%mein_svn_user2% = %testpw123%
%mein_svn_user2% = %meinpasswort456%
karlheinz = geheim
...</pre>
...</pre>


Zeile 67: Zeile 75:
<pre>chmod 600 passwd</pre>
<pre>chmod 600 passwd</pre>


Konfigurationsdatei des neuen SVN Repository "/volume1/svn/%unser_svn_repo%/conf/svnserve.conf" mit dem Editor VI anpassen.
Konfigurationsdatei des neuen SVN Repository "/volume1/svn/%my_svn_repo%/conf/svnserve.conf" mit dem Editor VI anpassen.
<pre>vi svnserve.conf</pre>
<pre>vi svnserve.conf</pre>


Zeile 119: Zeile 127:
Am besten geht das mit dem Programm [http://tortoisesvn.net/ Tortoise]. Es ist ein mächtiges Werkzeug, ist kostenlos und kann einfach runterladen und auf den Arbeitscomputer installieren werden.  
Am besten geht das mit dem Programm [http://tortoisesvn.net/ 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.
Nach dem '''Tortoise''' auf Ihrem Arbeitscomputer installiert ist kann man per '''Rechtsklick auf dem Desktop oder Ordner''' das Kontextmenü aufrufen und dort den Punkt "SVN Checkout" aufrufen.  


Der SVN-Pfad den man eingeben muss lautet folgendermaßen:
Der SVN-Pfad den man eingeben muss lautet folgendermaßen:
<pre>
<pre>
svn://%ip_von_DS%/%unser_svn_repo%
svn://%ip_von_DS%/%my_svn_repo%
</pre>
</pre>
Anschließend wird der Ordner an der entsprechenden Stelle erzeugt und ihr könnt damit arbeiten.
Man wird nach dem Benutzernamen und Passwort gefragt. Hier geben Sie den Benutzernamen denn Sie in der Datei mit der Benutzerdatenbank '''/volume1/svn/%my_svn_repo%/conf/passwd''' eingetragen haben. Anschließend wird der Ordner an der entsprechenden Stelle erzeugt.
 
Nun kann man mit dem SVN Repository arbeiten. Ihr könnt die Dateien in den Ordner hineinpacken und mit dem Rechtsklick auf Datei oder Ordner und dem Kontextmenu "SVN übertragen" die Dateien auf den Server hochladen oder mit "SVN aktualisieren" herunterladen.


== SVN Reporitory löschen ==
== SVN Repository 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.
Wird ein SVN Repository nicht mehr benötigt kann es mit dem einfachen Befehl "rm -r %my_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" kontrollieren. Nicht mehr benötigtes Repository löschen.
<pre>cd /volume1/svn
<pre>cd /volume1/svn
dir
dir
rm -r %unser_svn_repo%"</pre>
rm -r %my_svn_repo%"</pre>


== Mit einem SVN Repository auf einen Ort umziehen ==
== Mit dem SVN Repository auf einen anderen Ort umziehen ==
Beim Systemwechsel, Neuinstallation der DiskStation OS ist es notwendig das Repository zu sichern und wieder neu einzuspielen.
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.
Mit dem Befehl "svnadmin dump..." wird eine Kopie des SVN Repositorys erstellt. Bei diesem Beispiel wird die Dump-Datei im vorher freigegebenen Ordner "public" gespeichert.
<pre>svnadmin dump /volume1/svn/%unser_svn_repo% > /public/%unser_svn_repo%.dump
<pre>svnadmin dump /volume1/svn/%my_svn_repo% > /volume1/public/%my_svn_repo%.dump</pre>
 
Wiederherstellen auf dem neuen Ort geht mit dem Befehl "load". Das Ziel SVN Repository "my_svn_repo" muss bereits existieren.
<pre>svnadmin load /volume1/svn/%my_svn_repo% < /volume1/public/%my_svn_repo%.dump</pre>
 
==WebSVN installieren==
Aktuelle Version von [http://www.websvn.info/download/ WebSVN] herunterladen und in den Ordner '''/web/websvn''' entpacken. Es wird empfohlen die Datei INSTALL.TXT durchzulesen. bei der Version 2.3.2 liegt die unter "/doc/install.html". Damit die Anwendung gestartet werden kann muss die Konfigurationsdatei angelegt werden. Dafür im Ordner '''/include''' eine Kopie der Datei '''distconfig.php''' anlegen und in '''config.php''' umbenennen.
 
Die Datei '''/web/websvn/include/config.php''' wie folgt ergänzen:
 
1. Folgende Zeile hinzufügen ( SVN läuft im Ordner /opt/bin).
<pre>$config->setSVNCommandPath('/opt/bin');</pre>
 
2. SVN Repository hinzufügen (etwa bei der Zeile 70). Es können mehrere Repositorys untereinander eingetragen werden.
 
<pre>$config->addRepository('Mein repository','file:///volume1/svn/%my_svn_repo%');</pre>
 
Weitere Einstellungen in der Datei nach Bedarf ändern.
 
Damit WebSVN den Server erreichen kann müssen die PHP Konfigurationsdateien angepasst werden. Sonst beim Aufruf der Adresse http://%ip_von_DS%/websvn/ bekommt man die Fehlermeldung mit '''open_basedir'''.
 
In der Datei '''/usr/syno/etc/php.ini''' den eintrag '''safe_mode_execdir''' entfernen.
<pre># WebSVN
# safe_mode_exec_dir = /usr/syno/bin
safe_mode_exec_dir =</pre>
 
Unter DSM 3.0 muss der Eintrag "open_basedir, PHPINI_BASEDIR_DEF" in der Datei '''/usr/syno/etc/php/user-setting.ini''' erfolgen (Nicht getestet, Sehe [http://forum.synology.com/wiki/index.php/Step-by-step_guide_to_installing_Subversion  http://forum.synology.com/wiki]).
 
Da DSM 2.3 die Datei php.ini bei dem Start überschreibt muss der Eintrag PHPINI_BASEDIR_DEF im Skrips '''/usr/syno/etc/rc.d/S97apache-user.sh''' geänder werden.
<pre>
# WebSVN
# PHPINI_BASEDIR_DEF="/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:${PHPINI_BASEDIR_SERV}"
PHPINI_BASEDIR_DEF="/usr/bin/php:/opt/bin:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:${PHPINI_BASEDIR_SERV}"</pre>
Apache neu starten.
<pre>/usr/syno/etc/rc.d/S97apache-user.sh restart</pre>
 


Wiederherstellen auf dem neuen Ort geht mit dem Befehl "load" im bereits angelegten SVN Repository.
Nun kann man das angelegte Repository unter der Adresse öffnen: <pre>http://%ip_von_DS%/websvn/</pre>
<pre>svnadmin load /volume1/svn/%unser_svn_repo% < /public/%unser_svn_repo%.dump</pre>


== Probleme und Bemerkungen der User ==
== Probleme und Bemerkungen der User ==


Einmaliges Starten des Servers, geht bei Neustart verloren. Auf Konsole aufrufen:  
Einmaliges Starten des Servers, geht bei Neustart verloren. Auf Konsole aufrufen:  
<pre>svnserve -d -r %unser_svn_repo%</pre>
<pre>svnserve -d -r %my_svn_repo%</pre>


Start des SVN-Servers bei Systemstart:
Start des SVN-Servers bei Systemstart:
Zeile 166: Zeile 210:
* [http://subversion.tigris.org/ Projekt Homepage von Subversion]
* [http://subversion.tigris.org/ Projekt Homepage von Subversion]
* [http://de.wikipedia.org/wiki/Subversion_(Software)#Grafische_Benutzeroberfl.C3.A4chen Beispiele von Clients für svn]
* [http://de.wikipedia.org/wiki/Subversion_(Software)#Grafische_Benutzeroberfl.C3.A4chen Beispiele von Clients für svn]
* [http://www.kf-tech.net/synology-nas/21-svn-auf-synology-diskstation.html Originalbeitrag auf www.kf-tech.net]

Aktuelle Version vom 21. Juli 2017, 21:58 Uhr

Anleitung ist veraltert

Diese Anleitung ist veraltet. SVN ist jetzt als Zusatzpaket im DiskStation Manager verfügbar.

[ https://www.synology.com/de-de/dsm/packages/SVN]

SVN (Subversion) auf der Disk Station

Subversion ist eine Versionsverwaltungsoftware, die das gemeinsame Arbeiten an dem Code für einen Nutzer oder große Gruppen wesentlich vereinfacht. Subversion übernimmt hierbei das Versionsmanagement des Code.

Installation

Voraussetzungen

Netzwerkfreigabe und Synology-Benutzer anlegen

Im Disk Station Manager (Web GUI) eine neue Netzwerkfreigabe (gemeinsamen Ordner) Namens "svn" erstellen. Dabei wird von dem System der SVN Arbeitsordner /volume1/svn angelegt.

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 alle weiteren Freigaben versperrt bleiben. Zur Not müssen die Rechte nachträglich angepasst werden. Oft sind die falschen Rechte bei den Dateien und Verzeichnissen ein Grund dafür, dass der Server nicht startet.

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 jedoch ohne Prozentzeichen ersetzen sollen.

login as: root
password: %Adminpasswort%

Auf der DiskStation IPKG Pakete aktualisieren und das Paket SVN installieren.

$ ipkg update
$ ipkg install svn

Wechseln ins Verzeichnis /volume1/svn

cd /volume1/svn


Das SVN-Verzeichnis erstellen. "my_svn_repo" ist der Name von unserem neuen Repository. Wichtig - vollständigen Pfad angeben.

svnadmin create /volume1/svn/%my_svn_repo%

Benutzerrechte für das Verzeichnis /volume1/svn/%my_svn_repo% anpassen. Rechte mit dem Befehl "dir" überprüfen. Alle Dateien sollen dem User "svnowner" und der Gruppe "users" gehören.

chown svnowner:users -R %my_svn_repo%
dir

In das Verzeichnis /volume1/svn/%my_svn_repo% wechseln. Eventuell die Struktur wieder mit dem Befehl "dir" kontrollieren.

cd %my_svn_repo%
dir

In das Unterverzeichnis "conf" in unserem neu erstellten SVN-Repository wechseln. Wieder mit "dir" die Struktur kontrollieren.

cd conf
dir

Datei mit der Benutzerdatenbank "/volume1/svn/%my_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% = %meinpasswort123%
%mein_svn_user2% = %meinpasswort456%
karlheinz = geheim
...

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/%my_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:

  1. Rechte für anonyme Benutzer einschränken.
  2. Angemeldeten Benutzern den Zugang erlauben.
  3. Bezeichnung der Passwortdatei in der die Benutzer aufgelistet sind.
  4. 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 Ordner das Kontextmenü aufrufen und dort den Punkt "SVN Checkout" aufrufen.

Der SVN-Pfad den man eingeben muss lautet folgendermaßen:

svn://%ip_von_DS%/%my_svn_repo%

Man wird nach dem Benutzernamen und Passwort gefragt. Hier geben Sie den Benutzernamen denn Sie in der Datei mit der Benutzerdatenbank /volume1/svn/%my_svn_repo%/conf/passwd eingetragen haben. Anschließend wird der Ordner an der entsprechenden Stelle erzeugt.

Nun kann man mit dem SVN Repository arbeiten. Ihr könnt die Dateien in den Ordner hineinpacken und mit dem Rechtsklick auf Datei oder Ordner und dem Kontextmenu "SVN übertragen" die Dateien auf den Server hochladen oder mit "SVN aktualisieren" herunterladen.

SVN Repository löschen

Wird ein SVN Repository nicht mehr benötigt kann es mit dem einfachen Befehl "rm -r %my_svn_repo%" gelöscht werden. Das Löschen über die Netzwerkfreigabe reicht ebenfalls aus.

In das SVN Verzeichnis wechseln. Verzeichnisstruktur mit "dir" kontrollieren. Nicht mehr benötigtes Repository löschen.

cd /volume1/svn
dir
rm -r %my_svn_repo%"

Mit dem SVN Repository auf einen anderen Ort umziehen

Beim Systemwechsel, Neuinstallation der DiskStation OS ist es notwendig das Repository zu sichern und wieder neu einzuspielen.

Mit dem Befehl "svnadmin dump..." wird eine Kopie des SVN Repositorys erstellt. Bei diesem Beispiel wird die Dump-Datei im vorher freigegebenen Ordner "public" gespeichert.

svnadmin dump /volume1/svn/%my_svn_repo% > /volume1/public/%my_svn_repo%.dump

Wiederherstellen auf dem neuen Ort geht mit dem Befehl "load". Das Ziel SVN Repository "my_svn_repo" muss bereits existieren.

svnadmin load /volume1/svn/%my_svn_repo% < /volume1/public/%my_svn_repo%.dump

WebSVN installieren

Aktuelle Version von WebSVN herunterladen und in den Ordner /web/websvn entpacken. Es wird empfohlen die Datei INSTALL.TXT durchzulesen. bei der Version 2.3.2 liegt die unter "/doc/install.html". Damit die Anwendung gestartet werden kann muss die Konfigurationsdatei angelegt werden. Dafür im Ordner /include eine Kopie der Datei distconfig.php anlegen und in config.php umbenennen.

Die Datei /web/websvn/include/config.php wie folgt ergänzen:

1. Folgende Zeile hinzufügen ( SVN läuft im Ordner /opt/bin).

$config->setSVNCommandPath('/opt/bin');

2. SVN Repository hinzufügen (etwa bei der Zeile 70). Es können mehrere Repositorys untereinander eingetragen werden.

$config->addRepository('Mein repository','file:///volume1/svn/%my_svn_repo%');

Weitere Einstellungen in der Datei nach Bedarf ändern.

Damit WebSVN den Server erreichen kann müssen die PHP Konfigurationsdateien angepasst werden. Sonst beim Aufruf der Adresse http://%ip_von_DS%/websvn/ bekommt man die Fehlermeldung mit open_basedir.

In der Datei /usr/syno/etc/php.ini den eintrag safe_mode_execdir entfernen.

# WebSVN
# safe_mode_exec_dir = /usr/syno/bin
safe_mode_exec_dir =

Unter DSM 3.0 muss der Eintrag "open_basedir, PHPINI_BASEDIR_DEF" in der Datei /usr/syno/etc/php/user-setting.ini erfolgen (Nicht getestet, Sehe http://forum.synology.com/wiki).

Da DSM 2.3 die Datei php.ini bei dem Start überschreibt muss der Eintrag PHPINI_BASEDIR_DEF im Skrips /usr/syno/etc/rc.d/S97apache-user.sh geänder werden.

# WebSVN
# PHPINI_BASEDIR_DEF="/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:${PHPINI_BASEDIR_SERV}"
PHPINI_BASEDIR_DEF="/usr/bin/php:/opt/bin:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:${PHPINI_BASEDIR_SERV}"

Apache neu starten.

/usr/syno/etc/rc.d/S97apache-user.sh restart


Nun kann man das angelegte Repository unter der Adresse öffnen:

http://%ip_von_DS%/websvn/

Probleme und Bemerkungen der User

Einmaliges Starten des Servers, geht bei Neustart verloren. Auf Konsole aufrufen:

svnserve -d -r %my_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

Links