USVN – feine Sache so ein eigenes SVN

Schon seit der Version 0.7.2 setze ich für meine Projekte auf ein eigenes SVN mit Webinterface. Dazu habe ich schon seit ein paar Jahren das, auf dem Zend-Framework basierende, Webinterface „User-friendly SVN“ kurz USVN im Einsatz. Eingerichtet auf einer Subdomain hat mir das Interface nun lange gute Dienste geleistet und lief, nachdem die Einrichtung etwas kniffelig war, problemlos im täglichen Einsatz.

Schon seit geraumer Zeit gibt es aber für USVN eine neuere Version, und da nun beim Upgrade der Server und nach Migration der Subdomain unter PHP > 5.3 nun erstmal nix mehr ging, mußte ein Upgrade von USVN her, das jedoch ein paar kleine Stolpersteine hatte.

Sehr hilfreich, wenn auch nicht vollständig, war der Artikel auf http://dev.webbymx.net/2011/10/04/installing-usvn-and-migrating-from-old-subversion-server. Der dort vorgeschlagene Austausch des ZEND-Frameworks gegen eine aktuellere Version funktionierte leider so nicht. Aber im Einzelnen.

Als 1. habe ich mir die aktuelle Version 1.0.4 von USVN mit wget direkt auf den Server gezogen. Da ein Upgrade von der 0.7.2er Version nicht direkt möglich ist, muß man eine Neuinstallation durchführen, wobei die Möglichkeit besteht ein bereits vorhandenes SVN auf Basis einer älteren USVN-Version zu importieren.

Doch Achtung! Nach dem Entpacken des Archivs sollte man zuerst im Pfad library/Zend/Loader nachschauen ob die Datei Autoloader.php vorhanden ist. In der aktuellen Version 1.0.4 fehlt diese Datei nämlich. Ich habe Sie einfach aus dem aktuellen Download des ZEND-Frameworks Version 1.11.11 extrahiert und in den Ordner gelegt.
Den kompletten USVN-Ordner habe ich dann per SSH-Shell in den Web-root der Domain gelegt,und Owner und Group, sowie Schreibrechte, entsprechend rekursiv angepasst.

Erst jetzt kann man mit der Installation durch Aufruf der URL http://meinedomain.tld/public/install.php beginnen. Schrittweise wird man nun durch die Installation des Webinterface geführt. Bis zum 4. Schritt verfährt man wie bei einer Neuinstallation. Dort angekommen besteht die Möglichkeit eine config.ini-Datei einer älteren Installation hochzuladen. Doch hier wird es ein wenig tricky.

Kopieren Sie zuerst den alten files-Ordner mit den SVN-Repos der alten Installation in einen neuen Ordner im Web-root, z.B. in einen Ordner _old/. Öffnen Sie nun auf Ihrem PC die alte config.ini-Datei und ändern sie die dort eingetragenen Serverpfade zu den repo-Dateien entsprechend dem neuen „alten“ Pfad.
Spielen Sie die alte Datenbank, sofern nicht schon geschehen, auf dem MySQL-Server z.B. mit phpMyAdmin ein und passen Sie geänderte Zugangsdaten ebenfalls im ini-File an.
Speichern Sie nun die Änderungen lokal im ini-File und geben dann dieses im Dateiuploadfeld im Installationsschritt 4 an. Bevor Sie nun auf Weiter drücken prüfen Sie ob Sie das in den neuen Pfaden angegebene files-Verzeichnis bereits per FTP angelegt haben und Schreibrechte zugewiesen sind. Stimmen Ihre Angaben in der ini-Datei und hat das Installationsscript lesenden Zugriff auf die alten SVN-Daten, so werden nun beim Klick auf Weiter alle alten Repos in den neuen files-Ordner kopiert und der Installer springt, sofern auch die DB erkannt wird und Zugriff darauf vorhanden ist, direkt zu Schritt 7.

Dort werden Sie nun aufgefordert Statistik-Daten an die Programmierer des Scripts zu versenden, was Sie aber auch überspringen können. Im letzten Schritt 8 bekommen Sie nun noch einen Auschnitt für eine vhost-Konfiguration präsentiert, welches sie in der entsprechenden vhosts.conf Datei eintragen müssen. Nach einem Restart des Webservers steht dann einer Nutzung von USVN mit Ihren Daten nichts mehr im Wege.

Ich hoffe ich konnte Jemandem mit dieser Beschreibung helfen und freue mich auf Ihr Feedback.