QNAP als Subversion Server

Wenn man Software entwickelt, ob privat oder beruflich, ob alleine oder im Team, kommt man ab einem gewissem Umfang nicht um eine Versions- bzw. Revisionsverwaltung herum. Es gibt eine große Anzahl an freien und kostenpflichtigen Hosting-Lösungen, allerdings bin ich kein großer Freund von dezentralen Speicherlösungen, da man nie wissen kann was letztlich mit den Daten angefangen wird. Das gilt auch oder insbesondere für Software an denen man letztlich das Urheberrecht hält.

qnap_svnsrv

Nach etlichen Versuchen habe ich es nun endlich geschafft, Subversion so auf meinem QNAP zu installieren, dass es meinen Wünschen und Anforderungen entspricht.

Vorbereitung

Voraussetzung für die Installation ist das QPKG Paket Optware. Es lässt sich einfach aus dem QPKG-Center installieren. Hierzu nur im QNAP Web-Administrator Interface auf Anwendungen und dann auf QPKG Center klicken. Im QPKG Center den Reiter Verfügbare und den Unterpunkt mehr wählen, nach unten scrollen bis zum Eintrag Optware. Anschließend den Link installieren klicken und warten bis die Installation abgeschlossen ist. Danach kann Optware über die Eingabe “https://{QNAP-NAME}:8081/Optware/” in die Adressleiste eines beliebigen Browsers aufgerufen werden. Die Benutzung ist auf den admin Account des QNAPs beschränkt. Alternativ lässt sich Optware auch über die SSH-Konsole mit dem Befehl  ipkg verwenden. Diese Variante werde ich auch im weiteren Verlauf anwenden.

Remote Zugang: Telnet oder SSH

Für die Installation ist ein, bereits konfigurierter, SSH oder Telnet Zugang zum QNAP erforderlich. Ist dieser nicht vorhanden, so kann er über das Web-Administration Interface, unter “Netzwerkdienste” → “Telnet / SSH” aktiviert werden. Nach erfolgreicher Einrichtung, kann man sich über ein beliebiges Terminal Programm am QNAP anmelden (Spotlight → “Terminal”).

Es ist zu empfehlen nur den Zugriff über SSH zu verwenden, da dieser die Daten verschlüsselt überträgt.

Optware Datenbank aktualisieren

Vor der Installation sollte die Optware/IPKG Datenbank auf den neuesten Stand gebracht werden:

Wenn bereits IPKG-Pakete installiert sind, ist es empfehlenswert diese zu aktualisieren:

Noch ein Hinweis: QNAP bietet die Editoren Vi und Vim an. Wer mit diesen noch nie gearbeitet hat oder wie ich, sich auch nach Jahren nicht den Syntax merken kann (und somit bei der Benutzung unter Tobsuchtsanfällen leidet), sollte an dieser Stelle gleich nano installieren:

Subversion installieren

Die Installation von ist völlig  unproblematisch. Das Subversion Paket nennt sich svn und kann wie folgt installiert werden:

Die abhängigen Pakete werden hier automatisch installiert. Nach der Installation sollten die folgenden Pakete installiert sein:

  • apr – 1.4.6-1 – Apache Portable Runtime library
  • apr-util – 1.4.1-1 – Apache Portable Runtime utilities library
  • bash – 3.2.49-1 – A bourne style shell
  • cyrus-sasl-libs – 2.1.23-2 – Provides client or server side authentication (see RFC 2222).
  • e2fslibs – 1.41.14-1 – Ext2 Filesystem Libraries
  • expat – 2.0.1-1 – XML Parser library
  • file – 5.12-1 – Ubiquitous file identification utility.
  • gdbm – 1.8.3-4 – GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
  • libdb – 4.2.52-3 – Berkeley DB Libraries
  • libxml2 – 2.7.8-1 – Libxml2 is the XML C parser and toolkit developed for the Gnome project.
  • ncurses – 5.7-3 – NCurses libraries
  • neon – 0.29.6-1 – an HTTP and WebDAV client library, with a C interface
  • openldap-libs – 2.3.43-2 – Open Lightweight Directory Access Protocol
  • openssl – 0.9.8v-2 – Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
  • psmisc – 22.17-1 – A set of some small useful utilities that use the proc filesystem.
  • readline – 6.1-2 – The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
  • sqlite – 3.7.14.1-1 – SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
  • svn – 1.7.7-1 – a compelling replacement for CVS
  • zlib – 1.2.5-1 – zlib is a library implementing the ‚deflate‘ compression system.

Dies kann überprüft werden, indem folgender Befehl in die Konsole eingegeben wird:

Subversion selbst ist nun schon voll funktionsfähig lediglich der Subversion Server ist noch nicht konfiguriert. Hat man nur eine Projekt, arbeitet alleine und möchte auch sonst nichts weiter konfigurieren, kann der Server folgendermaßen gestartet werden:

Allerdings muss dieser Befehl bei jedem Start des QNAPs erneut abgesetzt werden, der Server ist nur über „svn://“ erreichbar und auch die Benutzerverwaltung muss von Hand durchgeführt werden. Wer etwas mehr Komfort und Professionalität möchte sollte dann doch weiter lesen.

Subversion Server beim Booten starten

Eigentlich könnte die Initialisierung für den Server einfach in die Datei „autorun.sh“ geschrieben werden. Da diese Datei aber nicht beliebig groß werden darf und es mir auch zu mühsam ist bei jeder Änderung eines Start-Skriptes diese zu bearbeiten, habe ich in die autorun.sh so modifiziert, dass sie das Verzeichnis „/opt/etc/init.d“ scannt und die dort vorhandenen Init-Skripte startet. Die genaue Funktionsweise und das Skript habe ich bereits hier beschreiben, daher füre ich es nicht noch mal explizit auf.

Für das Subversion Server Init-Script wie folgt eine Datei erstellen:

Sollte noch kein Init-Script vorhanden sein, muss ggf. zuvor das init.d Verzeichnis angelegt werden:

Danach den folgenden Inhalt in die Datei kopieren:

Die Datei mit „ctrl+o“ speichern und nano mit „ctrl+x“ beenden. Danach das Script noch ausführbar machen:

Bei dem Script wird davon ausgegangen, dass die Projekte im Verzeichnis „/share/HDA_DATA/svn“ liegen. Diese Verzeichnis muss nun erzeugt werden:

Das Daten Verzeichnis, hier  HDA_DATA, unterscheidet sich bei den verschiedenen QNAP Modellen und muss entsprechend bei der Erzeugung des Verzeichnisses, als auch im obigen Skript, angepasst werden. Dort wird ein symbolischer Link erzeugt, damit nicht immer der komplette Pfad angegeben Werden muss.

Bevor das Script gestartet wird, sollte überprüft werden, ob die Datei „/opt/lib/libsqlite3.so.0“ existiert. Sie sollte eigentlich automatisch mit installiert werden. Die auf dem QNAP vorhandene Datei, im Verzeichnis „/usr/lib/“ erlaubt nicht den Zugriff über http auf den Subversion Server.

Es gibt auch eine kompliziere Variante die hier beschreiben ist, jedoch hat diese Link-Variante bislang bei mir funktioniert.

Apache für Subversion Server konfigurieren

Um den Zugriff auf Subversion über http bzw. https zu ermöglichen muss der QNAP eigene Webserver, dessen sicher Anschluss (SSL) und WebDAV aktiviert sein. Des weiteren muss noch eine Konfigurationsdatei für den Apache Web Server erstellt werden. Zunächst sollte überprüft werden, ob sich im Verzeichnis „/opt/libexec/“ die beiden folgenden Dateien befinden:

  • mod_dav_svn.so
  • mod_authz_svn.so

Sollten die beiden Dateien dort nicht vorhanden sein, müssen die Pfade in nachfolgenden Konfigurationsdatei entsprechend angepasst werden ( [~] # find / -name mod_dav_svn.so). Ggf. muss auch wieder das Datenverzeichnis HDA_DATA ersetzt werden.

Die Konfigurationsdatei wie folgt erzeugen:

Und den folgenden Inhalt in die Datei kopieren:

Sollte die Datei bereits existieren, einfach entsprechend anpassen. Diese Konfigurationsdatei erlaubt nur den Zugriff über https. Als Benutzerverwaltung werden die lokalen Benutzer des QNAPs verwendet.

Damit die Konfiguration auch geladen wird, muss sie noch in der Hauptkonfigurationdatei eingetragen werden:

Am Ende die folgende Zeile einfügen:

Installation Testen

Der Subversion Server sollte nach einem Systemstart automatisch ausgeführt werden. Um nun nicht das QNAP neu starten zu müssen, kann dass Script auch erst einmal im laufenden Betrieb gestartet werden:

Wenn der Start erfolgreich war kann, aus der laufenden SSH-Verbindung, eine Test Projekt angelegt werden:

Hat das anlegen des Projektes funktioniert, sollten auch die Basisverzeichnisse angelegt werden:

Im Projektverzeichnis test ist nun eine neue Repository vorhanden, mit dem folgenden Inhalt:

Das Projekt wurde vom Benutzer admin auf dem QNAP erstellt. Der Benutzer, unter dem Apache läuft, kann weder etwas in die Verzeichnisse schreiben, noch die Dateien verändern. Daher müssen die Besitzrechte verändert werden. Eine Möglichkeit wäre es Schreibrechte für alle zu vergeben, besser ist jedoch den Besitz an den Benutzer „httpdusr“ (Apache) und die Gruppe „everyone“ (die Benutzer) zu übertragen.

Danach ist der Zugang über Apache Möglich und durch Eingabe von „https://{QNAP-NAME}:8081/svn/test/“ in einem Browser, gelangt man zum Projekt. Benutzername und Passwort ist der jeweilige lokale QNAP Account.

Mit dieser Ansicht kann man zwar schön durch die jeweiligen Revisionen browsen, dies war es aber schon. Daher sollte nun das Testprojekt auf den Computer geladen werden. Dies setzt jedoch voraus, dass man auf dem Rechner auch ein SVN-Client installiert hat, der aus dem Terminal heraus ansprechbar ist. Für alle UNIX System (Mac OS X und Linux) sollte das kein Problem sein, bei Windows ist das vermutlich etwas schwieriger. Da ich an dieser Stelle nicht näher auf den Client eingehen möchte, verweise ich auch die folgende Seite: http://subversion.apache.org/packages.html.

Ist der SVN-Client vorhanden, kann die aktuelle Revision auf den Rechner geladen werden:

Anschließen eine Datei innerhalb der lokalen Kopie erstellen:

Und die Änderungen zum Projekt hinzufügen:

Danach können die geänderten/hinzugefügten Dateien in die Repository übertragen werden:

Ist man soweit gekommen, läuft der Subversion Server eigentlich fehlerfrei und kann mit dem strukturierten Programmieren beginnen. Allerdings wird die Verwaltung und Erstellung der Subversion Projekte, mit steigender Zahl etwas unübersichtlich, daher empfiehlt es sich ein Management Tool zu verwenden.

Web-basierte Subversion Management Tools

Im Prinzip hätte ich gerne ein Tool mit dem Umfang von VisualSVN doch leider ist dieses ausschließlich für Windows verfügbar. Die Alternative für Linux währe dann uberSVN, es gibt jedoch nur Installationen für x86 System. Läuft also nicht auf einem ARM und da es sich hierbei aber um ein geschlossenes System handelt, kann es auch nicht neu kompiliert werden. Somit bleibt nur eines der vorhanden offenen Systeme:

  • User-Friendly SVN (USVN)
    Im Prinzip erfüllt es die meisten Anforderungen, kombiniert man es mit WebSVN hat man so ziemlich alles abgedeckt. Doch leider tauchte bei USVN, nach einigen Tagen, immer wieder ein Zend-Framework Fehler auf, der sich nur durch ein erneutes Aufsetzen beheben ließ. Daher habe ich USVN mittlerweile aufgegeben. 
  • SVN Access Manager
    Hier habe ich irgendwann die Installation abgebrochen, da bei der Installation schreibrechte in das Verzeichnis „etc“ verlangt werden. Ich habe es nicht geschafft dies zu umgehen. Nach einem Neustart währen die Daten dann nicht mehr vorhanden und das System ohne Funktion.
  • Submin
    Vielleicht ganz gut, aber ein paar mehr Informationen auf der Webseite, was das so kann und vor allem wie es zu installieren ist, hätten mich unter Umständen dazu gebracht es zu testen.
  • SVNManager
    Scheint sich wohl nicht mehr weiterentwickelt zu werden.
  • iF.SVNAdmin
    Wenn die ganzen Windows Pfade aus dem Source entfernt sind vielleicht ganz nützlich, war mir aber zuviel Arbeit.
  • WebSVN
    Sehr gutes Tool um die Übersicht der vorhandenen Projekte und der Revisionen zu behalten. Es lassen sich, mit diesem Tool aber keine neuen Projekte erstellen bzw. vorhandene Projekte löschen.

Da ich aber irgendwann die Hoffnung aufgegeben habe ein Tool nach meinen Wünschen zu finden, WebSVN lediglich die beiden bereits erwähnten Funktionen fehlen, habe ich es einfach um diese erweitert.

WebSVN installieren, konfigurieren und erweitern

Zuerst einmal muss WebSVN geladen werden:

Anschließend entpacken und in das Web-Server Verzeichnis verschieben:

Als nächstes die Konfigurationsdatei öffnen bzw. erstellen:

Und den folgenden Inhalt in die Datei kopieren:

Im Verzeichnis include befindet sich eine Beispiel Datei mit dem Namen distconfig.php, in der alle Optionen aufgeführt sind. Die oben verwendeten sind die mit der meine Installation problemlos läuft.

Nun ist es noch notwendig das temporäre Verzeichnis anzulegen, es sollte nicht im Webserver Verzeichnis liegen. Daher habe ich es in dem Subversion-Projekt-Verzeichnis erstellt:

Damit WebSVN in das Verzeichnis schreiben kann müssen noch die Rechte verändert werden:

Der WebSVN Zugriff kann mit Hilfe einer „.htaccess“ Datei auf die lokale QNAP Benutzer beschränkt werden:

Diese sollte den folgenden Inhalt haben:

Danach ist WebSVN konfiguriert und kann im Browser über “https://{QNAP-NAME}:8081/websvn/” aufgerufen werden.

WebSVN modifizieren/erweitern

Die von mir vorgenommen Änderungen umfassen die Möglichkeit ein neues Projekt zu erstellen bzw. ein vorhandenes Projekt zu löschen. Jeder Benutzer, der Zugriff auf WebSVN hat, kann Projekte löschen und neue Projekte erstellen. Es existiert keine Benutzerverwaltung, in der einzelne Rechte definiert werden können.

websvn-01

Zur Erstellung eines Projekts muss auf der Startseite ein Formular eingefügt werden. Ich beschränke mich auf das Template „calm“, die Vorlage der Startseite ist in der index.tmpl hinterlegt:

In dieser Datei die Zeile 1 bis 8 durch den folgenden markiertem Inhalt ersetzen:

Um ein neues Projekt anlegen zu können, muss noch ein PHP-Script erstellt werden, welches diese Aufgabe übernimmt.

Dies wird durch das nachfolgende Script ermöglicht:

Soll eine Funktion zum löschen vorhandener Projekte vorhanden sein, kann dies wie folgt geschehen. Innerhalb des Info-Bereiches (links) des jeweiligen Projektes wird ein Link eingefügt, mit dem das Projekt löschen kann.

websvn-02

Damit das Projekt nicht ausersehen gelöscht wird, ist noch ein Prompt, zur endgültigen Bestätigung des Löschens nachgeschaltet. Wobei das Projekt nicht wirklich gelöscht wird, sondern es wird ein Archiv des Projektes erstellt und in das Verzeichnis „/share/svn/trash“ verschoben. Dieses Verzeichnis muss allerdings erst eimal erstellt und die Zugriffsrechte gesetzt werden:

Anschließend die Vorlage für die Projektübersicht öffnen:

Und nach Zeile 41 den markierten Abschnitt einfügen.

Neben dem eigentlichen Löschen, wurde auch der Pfad zum Projekt eingefügt. Es muss jedoch {QNAP-NAME} durch den eigenen Namen ausgetauscht werden. Diese Variable existiert nicht als [websvn:] und PHP lässt sich in der Vorlage nicht einbinden.

Das löschen geschieht durch ein weiters PHP-Script, das wie folgt erstellt wird:

Und den nachfolgenden Inhalt besitzt:

Das endgültige löschen der in Trash befindlichen komprimierten Projektarchive, muss dann zwar doch über die Konsole per Hand geschehen. Jedoch ist mir das Risiko zu hoch das ein Projekt unwiderruflich gelöscht wird, so dass ich diesen Aufwand in Kauf nehme.

Fazit

Für meine Bedürfnisse eine perfekte Versionsverwaltung die alles abdeckt. Die Tools mit denen ich normalerweise arbeite, wie Subclipse, RapidSVN und wenn dann mal unter Windows TortoiseSVN (leider nicht für’n Mac verfügbar), funktionieren perfekt mit dem System. Der zusätzliche Ressourcen-Verbrauch ist eigentlich nicht spürbar.

Comments

  • Hallo Knut.

    Super Anleitung! Vielen Dank!!!
    Damit habe ich auf meinem QNAP TS-259 pro+ problemlos einen SVN-Server installiert.

    Ein wenig ins Stolpern bin ich bei dem Detail gekommen:
    Warum soll(te) ich HDA_DATA nehmen?
    Und habe mich dann für MD0_DATA entschieden 🙂

    GrußAchim

    Achim28. April 2013
  • Hallo Achim,

    die Datenträger Bezeichnung unterscheidet sich bei den Verschiedenen Modellen. Bei meinem QNAP ist es eben HDA_DATA.
    Letztlich muss immer das Verzeichnis [XXX]_DATA genommen werden, in dem auch die QNAP User-Daten liegen.

    Gruß

    Knut28. April 2013
  • Danke für die gelungene Anleitung ohne die ich es wohl nicht geschafft hätte.

    Da ich Optware erst für die Installation von SVN installiert habe fehlten mir noch Pakete für WebSVN die ich zusätzlich installieren musste. Im einzelnen waren das die Pakete: tar, gzip, zip, sed, enscript und diffutils.

    Außerdem habe ich noch einen kleinen Fehler entdeckt. Bei der Einrichtung des ‚tmp‘ Verzeichnis schreibst du chmod anstelle von chown.

    Deine Erweiterung für WebSVN sind sehr schön, allerding kann man wenn man nur ein Projekt hat kein zweites anlegen. Beim löschen eines Projekts findet bei mir kein reload der Hauptseite von WebSVN statt. Vielleicht kann ja mal jemand posten wie man diese beiden Punkte noch verbessern kann.

    Ich hoffe, dass meine Anmerkungen anderen, die wie ich in Bezug auf ihr QNAP noch am Anfang stehen.

    Mark Klein27. Mai 2013
  • Noch ein Hinweis:

    Bei meiner 219er funktioniert die „autorun.sh“ Methode nicht mehr. (Firmware ab 3.8.2)
    Aber man kann sich so helfen:

    Editieren der Datei : /etc/config/qpkg.conf

    [Subversion]
    Name = Autorun
    Enable = TRUE
    Shell = /share/HDA_DATA/.qpkg/Optware/autorun.sh
    Install_Path /share/MD0_DATA/.qpkg/Optware
    Author = youandme

    in meiner /share/HDA_DATA/.qpkg/Optware/autorun.sh steht nur:

    #!/bin/sh
    /sbin/log_tool -t 0 -a "Starting subversion on
    /bin/date -R."
    /opt/etc/init.d/svnserve.sh start
    Das genügt mir, die autorun.sh von oben kann natürlich auch verwendet werden.
    Nett ist der log_tool Eintrag, da man so schöne Log Einträge erhält.

    Tankbuster10. Juli 2013
  • Hallo Knut,

    super Anleitung! Hat alles soweit geklappt. Nur der Zugriff über TortoiseSvn von Windows aus will nicht so recht klappen. Nur wenn ich im Repository einen Benutzer mit Passwort hinterlege, fragt TortoiseSvn nach Benutzer und Passwort! Ansonsten bekomme ich keinen Zugriff. Hat du eine Idee?

    Gruß

    Andreas

     

     

     

    Andreas Schlachter13. Februar 2014
  • Ist eigentlich so gewollt.
    Keine Rechte, kein Zugriff!

    Knut13. Februar 2014
  • Das ist bei weitem die beste Anleitung die ich je gelesen habe! Schön verständlich, und alles funktioniert genau so.

    Danke für deine Mühe!

    Ich habe damit auf meinem QNAP TS-212 Optware, SVN, Websvn und noch andere Sachen analog installiert bekommen.

    Mir fehlte nur noch enscript und beim copy&paste hatte ich ein paar Zeilenumbrüche in die Scripte bekommen.

    Doris21. März 2014
  • Hallo Knut,

     

    die Anleitung ist echt super und verständlich. Vielen Dank 🙂

    Leider habe ich ein Problem. Der Svn-Server läuft, ist von außen jedoch nicht über Port 8081 erreichbar.

    Weder der Svn-Server (mit RabbitSVN) noch der Websvn. Ich bekomme immer die Meldung „Unknown Host“. Das scheint der Port blockiert zu sein. Hat jemand vielleicht eine Idee?

     

    Gruß Alex

    Alex14. Juni 2014
  • Vielen Dank für die Anleitung,

    ich hab schon länger den SVN Server laufen.

    Nach dem Update auf QTS 4.1 hat sich bei mir folgendes Problem ergeben:

    Ich habe lange gesucht. Abhilfe hat bei mir vorerst nur gebracht in der apache-svn.conf die Location zu ändern. (Ich verwende abweichend von deiner Anleitung) ein verstecktes share namens „svn“)

    bei mir musste sich der Name der Location vom SVN-Verzeichnis unterscheiden.

    Im Moment habe ich auch noch das Problem dass der Eintrag:

    aus der apache.conf nach dem reboot verschwindet.

    als workaround habe ich mir einfach noch folgenden Eintrag in das Initscript hinzu gefügt.

    Gruß

    Raphael

     

    Raphael31. Juli 2014
  • Ja, das Update hat bei mir auch den SVN-Server zerschossen, und noch einiges mehr.
    Was ich bislang herausgefunden habe ist, dass beim Start die „apache.conf“ aus dem Verzeichnis „/etc/default_config/apache/“ in das Verzeichnis „/etc/config/apache/“ kopiert wird.
    Ändert man also die Konfigurationsdatei in „default_config“, bleiben die Änderungen auch nach einem Systemstart erhalten. Nun hänge ich aber an der Benutzerverwaltung, die bei mir auch nicht mehr funktioniert.

    Gruß,
    Knut

    Knut31. Juli 2014
  • Ok,

    da scheint noch mehr im argen zu liegen.

    bei mir (TS-110) werden auch die Files in default_config überschrieben.

    Bisher hatte ich den https von Apache auf 443. Jetzt hat er nach dem reboot immer 8081. Auf diesem Port liegt aber mein Webinterface… Auch wenn ich den Port in den den Einstellungen ändere und anwende. Ändert sich der Port nur bis zum reboot… bzw. bis zum ausführen von /ete/init.d/Qthttp.sh

    Ich verstehe zwar nicht ganz genau warum ich dieses Verhalten beobachte bin dem aber auch nicht näher nach gegangen in der Hoffnung dass bald ein Fix von Qnap kommt.

    Ich habe mir jetzt mit einem kleinen Hack beholfen.

    shellscript „apache.sh“ dieses verwende ich an Stelle von Qthttps.sh in init.d

    Es startet wenn nötig apache, (bei mir ist er dann falsch konfiguriert, Port z.B. ) dann überschreibe ich die notwendigen config-Dateien, dann löse ich einen restart von apache über apachectl aus. Dazu muss er aber vorher schon laufen…

    Nur zur Info für alle die die selben Probleme haben: Download Link von meiner HP

    Gruß

    Raphael

     

    Raphael3. August 2014
  • Hallo Knut,

    danke für die super Anleitung.

    Ich habe einen SVN-Server in der Version 1.7.7. Dort habe ich ein Repo reinkopiert, welches mal unter einem SVN-Server Version 1.6 lief.
    Browsen udn checkouts funktionieren auch super. Nur beim checkin bekomme ich die Meldung: malformed network data.
    Hast Du zufällig einen Ahnung warum?

    Gruß
    Björn

    Björn22. August 2014
  • Hallo Knut,

    vielen dank für die super Anleitung. Hat mir bei der Einrichtung meiner TS-221 sehr geholfen.

    Ich hatte auch das schon von Mark angesprochene Problem, dass bei nur einem Projekt ein zweites nicht angelegt werden kann, da websvn dann sofort ins erste (und einzige) Projekt springt.

    Meine Lösung: diesen direkten Sprung in der Datei index.php (ab Zeile 39) auskommentieren:

    Gruß
    Chris

    Chris15. Oktober 2014
  • Hallo,

    ich hab vor ein paar Tagen mein erstes NAS (TS-453 Pro) erhalten und nach ein paar Tage auch das svn lauffähig installieren können (ohne http). Aktuell wird aber folgender Fehler noch angezeigt:

    Auf dem NAS ist das aktuelle OS installiert (4.1.1)

    Konnte jemand das Problem schon lösen?

    Grüße

    Stefan

     

    Stefan26. Dezember 2014
  • Hallo Stefan,
    ich habe das mit den Modifikationen am QNAP aufgegeben. Nach jedem Update der Firmware musste ich Änderungen vornehmen damit alles wieder läuft.
    Ich habe jetzt einen kleinen Raspberry Pi neben dem QNAP stehen, die relevanten Verzeichnisse sind per NFS eingebunden und alles wird auf dem QNAP gespeichert.
    AirPrint, Subversion Server (inkl. Apache) und iTunes Server laufen auf dem Pi und wenn QNAP ein Update rausbringt habe ich keine Probleme mehr.
    Bei Gelegenheit poste ich mal eine Anleitung.
    Gruß

    Knut26. Dezember 2014
  • Hallo Knut,

    vielen Dank für die Rückmeldung.

    Einen PI habe ich hier auch. Wäre super, wenn Du mal ne kurze Anleitung posten könntest. Finde ich persönlich eine bessere Variante als das SVN auf dem Qnap zu installieren, da eine Modifikation des Speichersystems auf dem meine wichtigen Daten liegen von vornherein unschön.

    Grüsse

    Stefan

     

    Stefan28. Dezember 2014
  • Hallo,

    bei Rückbau und entfernen des ipkg-Package-Managers werden auch die installierten Paket wohl entfernt. Der Link

    ln sf /opt/lib/libsqlite3.so.0 /usr/lib/libsqlite3.so.0

    zeigt danach ins leere und das ist aber eine wichtige Systemlib, ohne die geht die Gui nicht mehr.

     

     

     

    Tom8. Januar 2015
  • Hallo Tom,
    warum löschst du auch den Packet-Manager? Der heißt ja nicht Install-Manager!
    Ein Packet-Manager verwaltet die Pakete und Abhängigkeiten der Pakete untereinander. Wir der gelöscht, löscht er auch automatisch die von ihm installierten und bereitgestellten Pakete, ist ja auch seine Aufgabe.

    Knut8. Januar 2015
  • Hallo Knut,

    auch auf die Gefahr hin, hier Thread-Nekromantie zu betreiben, hast Du mittlerweile eine Anleitung, wie man SVN auf dem Pi installiert und den QNAP als Laufwerk einbindet? Ich habe zwar 2 Pi hier rumliegen, bin aber absoluter Neuling was Linux betrifft. Von daher wäre ich zwar in der Lage (mit im Netz verfügbaren Anleitungen) einen SVN auf einem Pi zu installieren, aber wie ich dann mein QTS 431+ als Laufwerk einbinde, damit SVN den nutzt, ist mir ein Rätsel (wie gesagt, von Linux eher keinen Plan). SVN direkt auf dem TS scheidet bei mir leider ganz aus, da das auf dem TS431+ wohl leider garnicht geht 🙁

    Daher die Frage an Dich, hast Du da eine Anleitung, oder wärst Du bereit, mir hier im Thread zu erklären, wie ich das am sinnvollsten mache?

     

    Danke und Gruß,

    Markus

    Markus8. Oktober 2015
  • Hallo,
    und Danke für die Anleitung.

    Habe das Problem, dass an der Stelle, wo man den ersten Checkout von ‚test‘-Projekt machen soll folgende Fehlermeldung kommt …

    Was ist hier falsch?

    Ich habe mich strikt an die Anleitung gehalten. Wenn ich versuche den SVN-Server zu starten, sagt er mir, dass er bereits läuft.

    Ich habe ein TS-419P II mit QTS 4.2.0

    Ahmet8. November 2015
Kommentare sind geschlossen