WebSVN findet svn nicht

Status
Für weitere Antworten geschlossen.

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen

Habe das Paket SVN installiert und soweit funktioniert dieses auch gut, Authenfizierung für die verschiedenen Repositories habe ich noch nicht eingerichtet, aber ich hoffe dass ich dies noch schaffen werde. Falls aber jemand die richtige Anleitung kennt, wäre ich dankbar für einen Tipp.

Mein Hauptproblem ist aber die Einrichtung von WebSVN. Habe das Paket nach Anleitung installiert und konfiguriert. Nach einem Aufruf von http://<ip>/websvn bekomme ich folgende Fehlermeldung:

Rich (BBCode):
Unable to find "svn" tool at location "/var/packages/SVN/target/bin/svn"

Ich weiss, in jeder Anleitung steht für den Pfad "/opt/bin" nur in diesem Verzeichnis liegt definitiv kein SVN. ei mir liegt SVN wirklich im angegebenen Verzeichnis und es gibt noch einen Link im Verzeichnis "/usr/bin". Egal welchen Pfad ich konfiguriere, bekomme immer die oben angegebene Fehlermeldung, nur mit einem anderen Pfad.

Habe noch versucht die Berechtigungen für das Programm SVN auf rwxrwxrwx zu setzen, hat aber auch nichts genutzt.

Hat jemand WebSVN zum Laufen gebracht und kann mir helfen?

Gruss
René
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
kannst du denn dieses svn Binary direkt via Konsole aufrufen? Irgendwelche Fehlerausgaben auf der Konsole?
 

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo jahlives

Ja, von der Konsole aus ist es kein Problem.

svn co svn://<ip>/<repository>

gibt keine Fehlermeldung und der Checkout passiert wie gewünscht.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
hm ich nehme an du hast dich als root angemeldet. Geht dasselbe denn auch wenn du als nobody unterwegs bist? (das ist der User unter dem der Webserver läuft)
Code:
su nobody -s /bin/sh -c "[COLOR=#333333]svn co svn://<ip>/<repository>"
[/COLOR]

geht dat auch ohne Fehler?
 

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Nein, das geht nicht mehr ohne Fehler

Rich (BBCode):
root@DiskStation:/volume1/homes/kurtr/svn# su nobody -s /bin/sh -c "svn co svn://192.168.1.11/sandbox"
su: can't chdir to home directory '/home'
Authentication realm: <svn://192.168.1.11:3690> Test
Password for 'nobody':

nobody ist kein User für SVN. Muss ich diesen einrichten?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ist /volume1/homes/kurtr/svn der Ort wo der Checkout hingeschrieben werden soll? Könnte dann imho auch ein Rechteproblem sein. Darf der User nobody auf das SVN Verzeichnis in deinem Home überhaupt schreiben?
Die Fehlermeldung dürfte normal sein, weil nobody eigentlich kein Homeverzeichnis hat, scheinbar hat Synology für den User nobody /home als Homeverzeichnis in /etc/passwd eingetragen. Dürfte aber nichts mit dem Problem zu tun haben.
Den User nobody im SVN anzulegen dürfte imho auch nicht nötig sein. Du wirst ja irgendwo in der Konfig von Websvn festgelegt haben mit welchem SVN-User am Server angemeldet werden soll, oder?

Schau dir mal die Parameter vom svn Binary an. Dort kannst du sicher als Parameter einen SVN User und ein SVN-PW angeben. Probier mal
Code:
su nobody -s /bin/sh -c "svn co --username DEIN_SVN_USER svn://192.168.1.11/sandbox"
 

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
ist /volume1/homes/kurtr/svn der Ort wo der Checkout hingeschrieben werden soll?
Ja, da sollte nach dem Checkout den ich ausführe ein Verzeichnis "sandbox" erstellt werden und die Dateien dahin ausgecheckt werden.

Den User nobody im SVN anzulegen dürfte imho auch nicht nötig sein. Du wirst ja irgendwo in der Konfig von Websvn festgelegt haben mit welchem SVN-User am Server angemeldet werden soll, oder?
Nein, das habe ich in der Konfiguration nirgends gefunden. Finde auch nichts im Laufenden SVN Server welcher auf Debian basiert. Kann mir nicht vorstelln dass es dies braucht.

Die Ausgabe deines Vorschlags ergibt folgendes:
Rich (BBCode):
root@DiskStation:/volume1/homes/kurtr/svn# su nobody -s /bin/sh -c "svn co --username user svn://192.168.1.11/sandbox"
su: can't chdir to home directory '/home'
Authentication realm: <svn://192.168.1.11:3690> Test
Password for 'user': 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://192.168.1.11:3690> Test

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
svn: E000013: Can't make directory '/sandbox': Permission denied

Auch ein chmod 777 des Verzeichnisses svn ändert daran nichts.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich habe irgendwie das Gefühl der chmod wird nichts bringen weil der checkout imho im Home von nobody landen soll. Und da hier /home eingetragen ist klappt das imho niemals
Wenn es mein Server wäre würde ich jetzt folgendes probieren: die Datei /etc/passwd öffnen und als Homeverzeichnis für den User unter dem der Apache läuft (auf der DS wohl nobody) /volume1/homes/kurtr/svn eintragen und dann den su nochmals testen
 

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Habe wie von dir vorgeschlagen den Eintrag in /etc/passwd geändert und ab dann funktioniert dieser Aufruf ohne Fehler und das Respository wird ausgecheckt.

Aber leider habe ich noch immer den Fehler beim Aufruf von WebSVN wie ich den in meinem 1. Post geschrieben habe.

Irgend eine Idee?
 

pweb

Benutzer
Mitglied seit
18. Mrz 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Gelöst

Habe nun mal das Problem gelöst!

In der Datei /usr/syno/etc/php/user-setting.ini muss der Eintrag open_basdir um den Eintrag

/var/packages/SVN/target/bin/

erweitert werden, dann geht es.

Werde nun weiter testen ob alles so tut wie ich es mir wünsche.

Besten Dank für den Support.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wiedermal der openbasedir :) Lektion daraus: wenn immer man komische Probleme mit PHP hat bringt es etwas das error Reporting von PHP voll aufzudrehen, damit die PHP Fehler im Browser/Log rausgehauen werden. In dem Fall hättest du eine openbasedir Warnung gesehen :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat