Allgemeines

Die VIS-Abteilung nutzt für die meisten Projekte (noch) SVN-Repositories. Der Rechner auf dem der SVN-Server läuft ist aus Sicherheitsgründen nur aus dem internen Abteilungsnetzwerk zugänglich. Natürlich ist es trotzdem möglich auch durch das Internet auf die Repositories zuzugreifen, solange man einen Account bei der Abteilung hat. Diese Anleitung zeigt eine Möglichkeit wie man dies bewerkstelligen kann, indem man einen SSH-Tunnel einsetzt. Es gibt auch noch andere Möglichkeiten (z. B.: der Einsatz eines VPN Clients), die hier vorgestellte Möglichkeit ist jedoch die am wenigsten Anstrengende.

Vorbereitung

Um durch das Internet auf dem VIS-SVN-Server zugreifen zu können, benötigt man folgendes:

Zugang erlangen

1 HOSTS-Datei editieren

Zunächst muss die lokale HOSTS-Datei editiert werden damit die Netzwerk-Namen des Subversion-Servers auf den SSH-Tunnel umgebogen werden. Die HOSTS-Datei sollte recht schnell gefunden sein (Bei 32-Bit Windows XP beispielsweise: C:\WINDOWS\system32\drivers\etc\hosts). In diese Datei werden nun einfache Namensauflösungen für den Subversion Server eingetragen. Um mögliche Probleme gleich zu vermeiden sollen hier sowohl der kurze als auch der vollständige Name eingetragen werden.

Sollten Sie nicht in der Lage sein diese Datei zu editieren (z. B.: aufgrund unzureichender Berechtigung auf ihrem lokalen Rechner, so überspringen Sie diesen Schritt und lesen sie in Abschnitt 3 den Absatz über die Subversion-Externals).

127.0.0.1 vissvn # Kurzname des VIS-SVN-Servers
127.0.0.1 vissvn.informatik.uni-stuttgart.de

Diese Änderung an der HOSTS-Datei können wieder rückgängig gemacht werden, da jedoch dieser Rechnername zu nichts anderem benutzt wird als auf die SVN-Repositories zuzugreifen, ist es unbedenklich diese zwei Zeilen in der Datei zu lassen, deshalb ist das Entfernen dieser Zeilen auch nicht in dieser Anleitung explizit aufgeführt.

2 SSH-Tunnel aufbauen

Benutzen Sie nun Ihren SSH-Client um sich bei einem der aus dem Internet zugänglichen Rechner der VIS-Abteilung einzuloggen und gleichzeitig einen Tunnel für das SVN-Protokol aufzubauen. Das SVN-Protokol benutzt normalerweise den TCP-Port 3690 so dass der Tunnel entsprechend aufgebaut werden muss. Der Lokale-Port 3690 muss also auf das Ziel vissvn:3690 getunnelt werden. Da die Zielangabe bereits von einem Rechner des internen Netzwerks aus geht, reicht hier der kurze Name.

3 Subversion benutzen

Nun kann über den kurzen oder vollständigen Namen auf den Subversion-Server zugegriffen werden.

svn co svn://vissvn/repositoryname

(repositoryname muss selbstverständlich durch den Namen eines echten Repositories ausgetauscht werden.)

Durch die beiden Einträge in der HOSTS-Datei werden auch alle Subversion-Externals korrekt geladen. Sollten Sie diese beiden Einträge nicht vorgenommen haben so können sie zwar immernoch auf die Repositories zugreifen, jedoch können die External nicht korrekt aufgelöst werden. Sie müssen daher, bei Checkout oder Update Ihren Subversion-Client so einstellen dass Externals ignoriert werden. Anschließend müssen Sie dann alle Externals manuell in die richtigen Unterverzeichnisse auschecken. Hierzu geben die Subversion-Properties die notwendigen Informationen.