Subversion installieren

  • Hallo,


    ich arbeite mit einem Windows PC und wollte als Versionsverwaltung nun Tortoise SVN nutzen. Außerdem habe ich ein QNAP-Gerät, worauf ich bereits Daten gesichert habe.


    Meine Frage lautet nun: Kann ich Subversion auf dem QNAP installieren ohne dass meine Daten verloren gehen? Anders gefragt, muss ich vor der Installation von Subversion die Platten formatieren (oder passiert das gar automatisch)?


    Wie das Ganze dann zu machen ist? Keine Ahnung! Aber hier hätte ich mal eine Anleitung:
    http://wiki.qnap.com/wiki/Subversion


    Gruß Sam77

  • Danke für den Tipp!


    Sollte ich vor dieser Installations- und Update-Orgie eine komplette Sicherung meines QNAP durchführen? Oder kann da nichts passieren?


    Gruß Sam77

  • Zitat von "Sam77"

    Oder kann da nichts passieren?


    Es kann immer etwas passieren.
    Programme/Firmware sind von Menschen erstellt,
    daher ist auch ein Programm nicht fehlerfrei.
    Also wenn die Daten einem Lieb sind, mach ein Backup.

  • Hallo Sam77,


    ein Backup sollte man immer haben - schon allein, weil man durch scheinbar simple Änderungen den größten Unfug anstellen kann.


    Ich lese deine Frage aber eher so, ob Subversion (SVN) eine formatierte Festplatte benötigt, um zu funktionieren. Klare Antwort: NEIN.
    Du kannst SVN parallel zu anderen Serverdiensten installieren und nutzen.


    SVN organisiert die Daten in Repositories. Diese werden seit Version 1.1 nicht mehr nur in einer Datenbank (BerkeleyDB) gespeichert, sondern dateisystembasierend. Ich empfehle letztere Methode regelmäßig, da die Migration der Datenbestände denkbar einfach ist, indem die gewünschten Repository-Verzeichnisse einfach umkopiert werden. Zudem erweisst sich eine zyklische Sicherung der Verzeichnisse als sehr trivial (SVNserve vorher stoppen). Alle relevanten Daten eines Repositories (Datenbasis mit Inkrementen, Konfigurationen, SVN-Berechtigungen, Hooks, Locks, Properties etc.) sind in Unterverzeichnissen organisiert. So kann man bspw. bei Hook-Skripten bequem mit Symlinks arbeiten, wenn Hook-Skripte an einer zentralen Stelle bearbeitet werden sollen.


    Beim Erstellen eines neuen Repository, legt SVNadmin einfach ein neues Verzeichnis an. Der Server identifiziert die Repositories intern nicht am Verzeichnisnamen, sondern an einer eindeutigen ID (siehe <repository>/db/uuid). Der Verzeichnisname dient der externen Adressierung.



    Gruß vom subitus

  • Hallo zusammen,


    ich probiere jetzt schon mehrere Anleitung, um einen SVN-Server auf dem Qnap zu installieren.
    Leider ohne nachhaltigen Erfolg.


    http://www.welzels.de/blog/201…ap-als-subversion-server/
    > Nachdem ich fertig war und das NAS neugestartet hatte war das Verzeichnis unter
    /share/svn/test wieder weg...


    Ich möchte aus meinem NAS (mein erstes und gestern erhalten) auch nicht durch ausprobieren verschmutzen.


    Bei der Anleitung http://wiki.qnap.com/wiki/Subversion
    Weiss ich jetzt nicht welches Verzeichnis ich auswählen soll weil dies in der Anleitung offen gelassen wird.


    Am liebsten würde ich das NAS zurücksetzen (hab noch keine Daten überspielt) und mit einer aktuellen Anleitung Subversion installieren und konfigurieren.
    Kennt jemand eine aktuelle Anleitung oder kann mir jemand kurz sagen, wie man auf der Version 4.1.1 einen Subversion installiert und so konfiguriert, dass man mit TortoiseSVN arbeiten kann?


    Was ich geschafft habe ist:
    IPKG installiert
    SVN Installiert


    Konfiguration in der Datei etc/config/apache/apache.conf hat nicht funktioniert bzw. nach einem Neustart war die Zeile gelöscht....
    Wie muss ich das SVN unter 4.1.1 konfigurieren, dass ich es über TortoiseSVN erreichen kann und auch nach einem Neustart funktioniert?


    Obwohl der Commit funktioniert hat konnte ich mit TortoiseSVN nicht über einen Win Client auf der Repo zugreifen...


    Grüße
    Stefan

  • Zitat von "Darkghost"

    > Nachdem ich fertig war und das NAS neugestartet hatte war das Verzeichnis unter
    /share/svn/test wieder weg...


    Die Daten solltest du nicht in /share speichern, da es im RAM liegt und nach einem Reboot verloren gehen, so wie du sehen mußtest.
    Führe auf der Konsole den Befehl "df" aus, dort siehst du alle gemounteten Laufwerke.
    Je nach deiner Konfiguration findest du dort /share/HDA_DATA (Singeldisk) oder MD0_DATA (RAIDx),
    dort kannst du dann deine Ordnerstruktur für den SubVersion-Server anlegen.

  • Vielen Dank für die Information.
    Macht es Sinn, das ich einen Freigabeordner für das SVN erstelle? Eigentlich nicht, da ich ja Daten nur über das SVN-System ändern sollte, oder?


    Kann mir noch jemand sagen, wie ich das mit der
    etc/config/apache/apache.conf mache, da die Zeile nach einem Neustart nicht mehr da ist?


    Gibt es irgendwo eine aktuelle und vollständige Anleitung (OS ver. 4.1.1)?


    Grüße
    Stefan

  • So ich habs jetzt halb geschafft.
    Svn ist über svn://192.168.178.22/share/CACHEDEV1_DATA/svn2 erreichbar.


    Ich habe auch die Anpassungen bzgl. des Apache gemacht. Leider kann ich über
    http://://192.168.178.22/share/CACHEDEV1_DATA/svn2 nicht zugreifen.


    Jemand ne Idee was ich falsch gemacht habe?


    Hier die Schritte die ich durchgeführt habe:


    Code
    ipkg installierensvn ordner erstellen (Freigabeordner)ipkg install svnipkg install nanomkdir svn2svnadmin create /share/CACHEDEV1_DATA/svn2/svnadmin create /share/svn3/nano /share/CACHEDEV1_DATA/svn2/conf/passwdnano /share/svn3/conf/passwdnano /share/CACHEDEV1_DATA/svn2/conf/svnserve.confnano /share/svn3/conf/svnserve.confsvnserve -d --listen-port=3690svn://192.168.178.22/share/CACHEDEV1_DATA/svn2svn://192.168.178.22/share/svn3


    AUTOSTART


    Code
    nano /etc/config/qpkg.conf[autorun]Name = autorunVersion = 0.1Author = neomiliumDate = 2013-05-06Shell = /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.shInstall_Path = /share/CACHEDEV1_DATA/.qpkg/autorunEnable = TRUEmkdir /share/CACHEDEV1_DATA/.qpkg/autorunnano /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh autorun.sh (while test ! -x "/opt/bin/svnserve"; do sleep 5; done; /opt/bin/svnserve -d --listen-port=3690)&chmod +x /share/CACHEDEV1_DATA.qpkg/autorun/autorun.sh


    KONFIGURATION Appache


    Code
    ln -sf /opt/lib/libsqlite3.so.0 /usr/lib/libsqlite3.so.0nano /etc/config/apache/apache.conf


    Zeile am Ende hinzufügen -> Include /etc/config/apache/extra/apache-svn.conf


    Code
    nano /etc/config/apache/extra/apache-svn.conf


    apache-svn.conf:

    Code
    LoadModule dav_svn_module     /opt/libexec/mod_dav_svn.soLoadModule authz_svn_module   /opt/libexec/mod_authz_svn.so## Example configuration to enable HTTPS access for a Subversion# repository, "/share/MD0_DATA/svn".#<Location /svn>IndexOptions Charset=UTF-8DAV svnSVNParentPath share/CACHEDEV1_DATA/svn2SVNAutoversioning on# Limit write permission to list of valid users.# Require SSL connection for password protection.SSLRequireSSLAuthType BasicAuthName "Subversion"AuthBasicProvider externalAuthExternal pwauthAuthzUnixgroup onrequire valid-user</Location>



    Wenn ich dann websvn konfigurieren will bekomme ich bei:

    Code
    chmod -R httpdusr:everyone /share/svn3/tmp


    Die Meldung:

    Code
    chmod: invalid mode: httpdusr:everyone


    Grüße
    Stefan

    Einmal editiert, zuletzt von TobiasK () aus folgendem Grund: Code Blöcke eingefügt, siehe Forenregeln!

  • Beim Config-test des Apaches entsteht ein Fehler.

    Zitat


    [/usr/local/apache/bin] # ./apache
    apache: Syntax error on line 224 of /etc/config/apache/apache.conf: Syntax error on line 2 of /etc/config/apache/mod/apache_dav_svn.conf: Cannot load /opt/libexec/mod_dav_svn.so into server: /opt/lib/libsvn_subr-1.so.0: undefined symbol: sqlite3_open_v2


    Die Libraries sind wohl mit dem Apache nicht kompatibel.
    ich werde mal weiter schauen.

  • Cool. Vielen Dank. :)
    Wenn Du noch irgend etwas brauchst, dann sag einfach beischeid.


    In welchem Error log finde ich die Fehlermeldung?

  • Zitat von "Darkghost"

    In welchem Error log finde ich die Fehlermeldung?


    Die Meldung bekam ich direkt in der Konsole.
    Dies habe ich erst herausgefunden, nachdem ich mit die "/etc/init.d/Qthttpd.sh" genau angeschaut hatte.

    Code
    if [ -x /usr/local/apache/bin/apache ] && [ -d "$QWEB_FOLDER" ]; then
    		/usr/local/apache/bin/apache -t -f "${APACHE_CONF}" 1>/dev/null 2>/dev/null
    		[ $? = 0 ] || return 1
    	fi


    Bei einem Fehler des Testes wird die komplette apache.conf zurückgesetzt.

  • Hallo,


    ich hab paar Foreneinträge zu dem Thema gefunden aber leider keine Lösung (soweit ich dies dort nachvollziehen konnte):


    [HELP] svn over http, apache fails to start
    -> http://forum.qnap.com/viewtopic.php?f=32&t=13819&start=15


    SVN over HTTP fw 4.0.2
    -> http://forum.qnap.com/viewtopic.php?f=32&t=81236


    Instalar y configurar Subversion (SVN) con Apache
    -> http://www.qnapclub.es/viewtopic.php?f=21&t=67


    Konnte jemand das Problem schon lösen?


    Grüße
    Stefan


    --- EDIT ---


    Hallo,


    ich hab jetzt das System so umgestellt, dass der Apache auf einem PI läuft und nicht mehr auf dem Qnap.
    SVN auf dem Qnap funktioniert.


    Wenn ich über http geh (also über PI) dann kann ich den Inhalt lesen aber ich kann nicht ändern/schreiben.
    Fehlermeldung ist z.B. beim Erstellen des Verzeichnisses:


    Subversion reported an error:
    Server sent unexpected return value (500 internal server error) in response to POST request for '/repos/!svn/me


    Ich hab natürlich auch schon im Internet nach gesucht aber nichts über das Problem in dem Fall "svn funktioniert und über den apache nicht" gefunden.


    Eigentlich kann es ja nicht so schwer sein, da die Probleme nur in den Rechten zwischen http und svn liegen kann.
    Hat da jemand Erfahrung, was kann es sein?


    Grüße
    Stefan

    Einmal editiert, zuletzt von GorillaBD () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln! Bitte den &quot;Ändern&quot; - Button benutzen.

  • Wenn es weiterhilft: Bei mir läuft SVN als eigenständiger Dienst (svnserve) und nicht als Apache-Modul.


    BTW: Das Apachemodul hätte jedoch den Vorteil, dass die Autorisation durch die Windows-Domäne mittels SSPI erfolgen kann.


    Gruß vom subitus

  • Ich schaffe es leider auch nicht nach der Anleitung von welzels eine Subversion zu installieren.
    Nach jedem Neustart ist die Zeile in der Apache Config gelöscht.


    Weiters fünktioniert manchmal der Connect zum SVN Server über PHP Storm, dann mal überhaupt nicht.
    Wenn ich die https URL welche Direkt auf mein Repository zeigt in den Broser eingeben, dann muss ich mich Anmelden.
    Leider läßt er meinen Admin user nicht zu -> keine Ahnung warum.
    Die Anmeldung unter WebSVN funktioniert.


    Kann es eigentlich sein das ich mich auch mit einer Session logge?


    Danke für die Hilfe :)

  • Ich kann nur bekräftigen, SVN als eigenständigen Dienst (svnserve) zu installieren.


    Gruß vom subitus

  • Ich hole den Thread mal wieder hervor.


    Ich musste mein NAS leider neu aufsetzen. Daher muss ich auch SVN neu installieren.
    Ich habe das vorher mit Optware gemacht. Das gibt es nun nicht mehr.
    Wie kann ich denn jetzt Subversion installieren? Alle Anleitungen im Internet beziehen sich auf Optware IPKG.


    Danke
    Gruß Thomas

  • Zitat von "Vertex"

    Du musst auf Git umsteigen :thumb: :D


    VG
    Vertex


    Das hatte ich mir schon gedacht.
    Leider sind meine Sourcen bei der Firma in Subversion und ich greife mit TortoiseSVN drauf zu. Ich hatte daher meine eigenen Dinge auch damit verwaltet.
    So, jetzt habe ich also Git auf dem NAS installiert und als Client auf dem Windows-PC TortoiseGit.
    (Wollte eigentlich schon immer auf Git umsteigen. Hab es nur vor mir her geschoben)


    Hat schon jemand Erfahrung mit Git auf QNAP und kann mir eben schnell ein paar Links posten?
    Ich versuche mal selber zu suchen, was alles zu tun ist.


    Gruß Thomas