Hosting Subversion Service on your router/de

From DD-WRT Wiki

Jump to: navigation, search

SVN ist ein Versionskontrollsystem.

Contents

[edit] Vorraussetzungen

  • USB Stick gemounted
  • optware installiert und gemounted auf /opt
  • SSH/Telnet Zugriff

[edit] Installation

Baue eine Verbindung mit dem SSH/Telnet Client deiner Wahl auf.

Führe folgende Befehle aus:

ipkg-opt update
ipkg-opt install svn

Warte bis die Nachricht kommt, dass das SVN Packet erfolgreich installiert wurde.

[edit] Konfiguration

Beachte, dies sind alles Beispielkonfigurationen, um weitere Informationen zu erhalten ziehe die SVN Dokumentation zu Rate.

[edit] Vorbereitungen Repository Verzeichnis

Wir erstellen ein Repository nach "/mnt/subversion/repos"

mkdir /mnt/subversion/repos
svnadmin create /mnt/subversion/repos

Nun sollte der Ordnerinhalt wie folgt aussehen (ls /mnt/subversion/repos):

README.txt  conf        db          format      hooks       locks

[edit] Benutzer und Rechte

Bearbeite "/mnt/subversion/repos/conf/svnserve.conf", z.B. mit vi, wie folgt:

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz    
realm = My Subversion

Nun erstellen wir einen Benutzer inkl. Passwort in "/mnt/subversion/repos/conf/passwd"

[users]
benutzer = geheim

Jetzt fehlen nur noch die Berechtigungen:

[groups]
admins = benutzer

[/]
@admins = rw
* =

[edit] Startup-Skript einrichten

Damit der SVN-Server auch immer startet müssen wir nun das Startup-Skript anpassen. Öffne dazu deinen Browser und besuche dein Web Interface. Gehe dann zu Administration>Diagnose. Falls du schon ein Startup-Skript gespeichert hast, lade das aktuelle Skript über den Button "In den Textbereich kopieren" in den Textbereich. Nun füge folgende Zeile hinzu:

/opt/bin/svnserve -d -r /mnt/subversion/repos

Mittels "Startup speichern" speicherst du das Startup-Skript.

[edit] SVN Ports öffnen

Damit man von aussen auf dein SVN Repository zugreifen kann, füge folgende Zeilen zu deinem Firewall Skript (Webinterface > Administration > Diagnose) hinzu:

iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
iptables -I INPUT -p udp --dport 3690 -j ACCEPT

"Firewall speichern" speichert das Skript.

[edit] Letzter Schritt

Starte den Router mittels "reboot" neu. Nun kann du über "svn://deine-ip" dich mit deinem SVN Repository verbinden. Für Windows eignet sich "TortoiseSVN".