WebDAV

Status
Für weitere Antworten geschlossen.

peez

Benutzer
Mitglied seit
11. Apr 2009
Beiträge
39
Punkte für Reaktionen
0
Punkte
0
Ich habe erfolgreich einen WebDAV Zugang über den User-Apache eingerichtet.
So kann ich http://synology/webdavordner als Netzlaufwerk mounten und so auch von außerhalb normal auf meine Dateien zugreifen.

Noch mit Basic Authentifizierung und ohne SSL aber jetzt will ich erst mal die grund-Funktionalität ganz fertig kriegen bevor ich mich um die Sicherheit kümmere.

Zwei Probleme habe ich noch:
1. Ich habe in meinem Webdav root einfach symbolische Links zu den Ordnern (z.B. /volume1/video) angelegt und dem Apache die Direktive "Options FollowSymLinks" angegeben. Wenn ich jetzt auf das Root gehe, sehe ich die Ordner, die per Symlink angelegt sind, nicht. Gebe ich den Ordner allerdings manuell ein (Y:\video), komme ich trotzdem drauf. Habe ich nur irgendeine Direktive vergessen, die Verzeichnisnamen nicht im Verzeichnislisting mitgibt?

2. Öffne ich eine Textdatei oder kopiere sie per Windows Explorer funktioniert alles super. Will ich allerdings eine Videodatei oder eine Musikdatei mit dem Media Player öffnen, bekomme ich lediglich die Fehlermeldung "Beim Wiedergeben der Datei ist in Windows Media Player en Problem aufgetreten".
Videos bzw. meine Musik von wo anders zu schauen wäre eigentlich meine Hauptanwendung für meinen WebDAV Ordner...


Hat jemand vielleicht noch ne Idee wie ich die Probleme noch lösen könnte?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das mit dem WebDAV per User-Apachen hört sich gut an ... kannst das mal dokumentieren?

Besteht dein Link-Problem auch noch, wenn du per mount --bind die Verlinkung machst?

Itari
 

peez

Benutzer
Mitglied seit
11. Apr 2009
Beiträge
39
Punkte für Reaktionen
0
Punkte
0
Eigentlich habe ich da keine speziellen Tricks angewendet ;-) Den IPKG Apachen will ich nicht mehr installieren - damit hatte ich das letzte mal nur Probleme.

Im Grunde habe ich die Anleitung von hier befolgt, abzüglich der SSL Schritte.

Wichtig ist, dass wenn man mit Windows zugreifen will, es ab XP SP2 nötig ist, einen Registryeintrag zu machen.
Seit Vista ist das unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters ein DWORD Namens "BasicAuthLevel" mit dem Wert 2.

Bei XP heißt der Wert irgendwie anders u. muss auf 1 gesetzt werden. Wird aber auch in dem Artikel beschrieben.

Hier die entsprechenden Teile aus meiner httpd.conf-user:

Rich (BBCode):
#Ab hier Webdav Freigaben
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule auth_digest_module modules/mod_auth_digest.so

#LockDB
DavLockDB /opt/var/DavLock

Alias /dav /volume1/admin_scripts/webdav_root

<Directory /volume1/admin_scripts/webdav_root>
#WebDAV einschalten
Dav on

#Alles als Plain Text zurueckgeben
ForceType text/plain

#Benutzerauthentifizierung
AuthType Basic
AuthName "Syno WebDAV"
#AuthDigestDomain /dav/ http://syno/dav/
#AuthDigestFile  /volume1/web/htpasswd
AuthUserFile /volume1/web/htpasswd
Require valid-user

#.htaccess Dateien ignorieren
AllowOverride None

#Verzeichnislisting erlauben u. Symlinks beruecksichtigen
Options Indexes FollowSymLinks

</Directory>
 

DSL-Hexe

Benutzer
Mitglied seit
01. Apr 2008
Beiträge
692
Punkte für Reaktionen
4
Punkte
44
Hi, habe da auch Interresse daran.

Hast du nur die httpd.conf-user geändert oder musstest du noch etwas installieren?

Wie gebe ich die Ordner für WebDAV frei?

Könnte ich auch das ganze /Volume1 freigeben?
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
Hallo

Hab mich mal an die oben beschriebene anleitung gehalten.

Mein problem ist das ich zwar per Browser (auch mit passwort abfrage) drauf komme leider keine verbindung bekomme wenn ich ein Netzlaufwerk verbinden möchte ?

Ich komme da zZ nicht über die Passwort abfrage hinnaus ?

Kann man da was falsch eingeben ?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Hallo

Hab mich mal an die oben beschriebene anleitung gehalten.

Mein problem ist das ich zwar per Browser (auch mit passwort abfrage) drauf komme leider keine verbindung bekomme wenn ich ein Netzlaufwerk verbinden möchte ?

Ich komme da zZ nicht über die Passwort abfrage hinnaus ?

Kann man da was falsch eingeben ?

Schau mal diesen Wiki-Beitrag an. Vielleicht hilft er dir da weiter.

Itari
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
Besten dank für den Tipp itari.

Leider iss der erfolg mässig - nun komm ich OHNE passwort mit dem Browser ran :)

und wieder nicht mit Netzlaufwerk verbinden :-(

anscheind wird die AuthUserFile "/usr/syno/etc/user.passwd" garnicht benutzt.
obwohl sie da ist und an der richtigen stelle liegt.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Bei mir wir auch auf dem Webseiten-Zugriff der Benutzer und das Kennwort abgefragt ...

Kannst ja mal ein wenig modifizieren (musst allerdings das Verzeichnis /volume1/dav verschieben):

Rich (BBCode):
Alias     /dav /volume1/@dav

<Directory "/volume1/@dav">
    Order Allow,Deny
    Allow from all
    # Options Indexes FollowSymLinks MultiViews
</Directory>

<Location /dav>
    Dav On
    AuthType Digest
    AuthName DAV
    AuthDigestDomain /dav/ https://syno/dav/
    AuthDigestProvider file

Da wird im Browser dann nichts mehr angezeigt, aber der Explorer kann weiterhin locker auf alles zugreifen.

Itari
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
OK - grosser erfolg

konnte mich von intern "https://ds-209/dav" und extern "https://<dyndns>/dav" auch mit einem Netzlaufwerk verbinden.

Eine kleine dumme frage bleibt noch (nicht das ich die ganze zeit was sinloses versucht habe)
HTTP geht nicht ?
HTTPS geht !

ich ging immer davon aus das es auch mit HTTP gehen sollte ?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Scheint als erlaube Windows nur https Verbindungen, wenn man eine Dav Freigabe als Laufwerk einbinden will. Im Browser geht http problemlos, aber der Windows Explorer will https
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
OK - grosser erfolg

konnte mich von intern "https://ds-209/dav" und extern "https://<dyndns>/dav" auch mit einem Netzlaufwerk verbinden.

Eine kleine dumme frage bleibt noch (nicht das ich die ganze zeit was sinloses versucht habe)
HTTP geht nicht ?
HTTPS geht !

ich ging immer davon aus das es auch mit HTTP gehen sollte ?

Schön das es jetzt bei dir geht. :)

Bei mir ist http und https gleichzeitig aber auch jeweils für sich möglich und zwar mit obiger Konfiguration. Bei https wird nach einem Zertifikat gefragt, aber das kann man auch wegklicken ...

Itari
 

hagncola

Benutzer
Mitglied seit
01. Mrz 2009
Beiträge
187
Punkte für Reaktionen
0
Punkte
16
Hallo,

bitte um Hilfe:

habe folgende Settings am ENDE der Datei /usr/syno/apache/conf/httpd.conf-user hinzugefügt

#Ab hier Webdav Freigaben
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule auth_digest_module modules/mod_auth_digest.so

#LockDB
DavLockDB /opt/var/DavLock

Alias /dav /volume1/network

<Directory /volume1/network>
#WebDAV einschalten
Dav on

#Alles als Plain Text zurueckgeben
ForceType text/plain

#Benutzerauthentifizierung
AuthType Basic
AuthName "Syno WebDAV"
#AuthDigestDomain /dav/ http://syno/dav/
#AuthDigestFile /volume1/web/htpasswd
AuthUserFile /volume1/web/htpasswd
Require valid-user

#.htaccess Dateien ignorieren
AllowOverride None

#Verzeichnislisting erlauben u. Symlinks beruecksichtigen
Options Indexes FollowSymLinks

</Directory>


nach speichern und Restart mit /usr/syno/etc/rc.d/S97apache-user.sh restart

kommt bei Zugriff auf http://192.168.178.3/dav erst die Abfrage User und Passwort und Es tut uns Leid die von Ihnen gesuchte Seite konnte nicht gefunden werden. (network ist ein share von mir auf dem NAS)

Wo ist der Fehler ?

Danke
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Fehlt bei dir nicht der Location Eintrag?
Bei mir schaut es so aus
Code:
Alias     /dav /volume1/media
<Directory "/volume1/media">
    Order Allow,Deny
    Allow from all
    Options Indexes FollowSymLinks MultiViews
</Directory>

<Location /dav>
    Dav On
    AuthType Digest
    AuthName myDomain.tld/dav
    AuthDigestDomain http://myDomain.tld/dav/
    AuthDigestProvider file
    # You can use the htdigest program to create the password database:
    #   htdigest -c "/usr/syno/etc/user.passwd" DAV admin
    AuthUserFile "/opt/etc/dav/user.passwd"
    <LimitExcept OPTIONS>
        Require valid-user
   </LimitExcept>
</Location>
 

hagncola

Benutzer
Mitglied seit
01. Mrz 2009
Beiträge
187
Punkte für Reaktionen
0
Punkte
16
Hallo,

hier war das Problem

AuthUserFile /volume1/web/htpasswd

so ist es bei mir richtig AuthUserFile /volume1/web/.htpasswd
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich würde aber .htpasswd nicht in ein Verzeichnis legen, dass der Client direkt aufrufen kann. Wenn der Server irgendeinen Hammer hat, könnte es theoretisch sein, dass man diese Datei aufrufen und im Client anzeigen könnte.
Und da die meisten PW zu kurz und zu wenig komplex sind, könnte man die PW-Hashes wohl brechen.
Solche Dateien gehören für mich in ein Verzeichnis ausserhalb von /volume1/web. Der Webserver wird diese Datei ja über das Dateisystem aufrufen.

Gruss

tobi
 

ibicus

Benutzer
Mitglied seit
02. Mrz 2010
Beiträge
33
Punkte für Reaktionen
0
Punkte
6
mehrere Ordner freigeben

Wie gebe ich den unterschiedliche Ordner frei?

Reicht es mehrere Aliase zumachen, wenn die Freigabe über die selben Passwörter laufen (ich einziger Nutzer bin)? Also z.B.

Alias /itunes /volume1/music
Alias /projekte volume1/projekte

<Directory /volume1>
...

bzw. wenn mehrere Nutzer vorhanden sind für jeden Ordner ein Alias und ein Diectory. Also etwa so:

Alias /itunes /volume1/music
<Directory /volume1/music>
...
AuthUserFile pfad/datei1
</Directory>

Alias /projekte volume1/projekte
<Directory /volume1/projekte>
...
AuthUserFile pfad/datei2
</Directory>

Oder wie mach ich das am besten?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Am "Besten" geht das wenn du eine DAV Freigabe machst und dort drin symlinks auf die weiteren Verzeichnisse anlegst. Das geht wesentlich schneller als jedesmal die Apache Config anzupassen ;)
Sagen wir du hast die DAV Freigabe unter /volume1/dav und willst music und photo auch einbinden
Code:
ln -s /volume1/photo /volume1/dav/photo
ln -s /volume1/music /volume1/dav/music
 

ibicus

Benutzer
Mitglied seit
02. Mrz 2010
Beiträge
33
Punkte für Reaktionen
0
Punkte
6
jahlies, Danke für die Antwort. Bin leider noch kein Linux Profi, deshalb: wo muss der Code eingegeben werden?
Und zweite Frage: Wenn ich unterschiedliche Nutzer habe mit unterschiedlichen Zugriffsrechten, wie sollte ich das am besten machen?

Schönes Wochenende!
 

Chyper

Benutzer
Mitglied seit
07. Jul 2013
Beiträge
112
Punkte für Reaktionen
3
Punkte
18
Ich stelle meine Frage erstmal hier.

Ich möchte meine DS per WebDAV einbinden. Über Win 10 "Netzwerkadresse hinzufügen" http://meinedyndns.synology.me:5005 geht es leider nicht. Daraufhin habe ich Netdrive installiert. Damit funktioniert es.

Wo kann der Fehler liegen?
 
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