WebDav Apache

Status
Für weitere Antworten geschlossen.

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich beschäftige mich schon seit Tagen damit WebDav auf meiner DS207+ einzurichten.
Nun bin ich soweit gekommen.

1. WebDav mit Lighthttp nach euerer Anleitung hier im Forum.
Jedoch bekomme ich keine Art von Passwortschutz hin. Weder htaccess noch die eingebaute von Lighthttp.

2. WebDav mit Apache habe ich zu mindest mal soweit bekommen, das er mich nach einem Passwort fragt. Jedoch habe ich dann keinen Schreizugriff bzw. sehe ich keine Daten, die sich in diesem Ordner befinden.

Punkt 2 würde ich gern so einrichten, das es mal funktioniert.
Wie muss eine httpd.conf aussehen, damit dies funktioniert.
Ziel soll es sein ,das ich mich mit dem Novell Netdrive Client 4.1 mit meiner DS207+ über das Internet verbinden kann.

Abschließend möchte ich noch sagen, das ich bereits durch viele Foren gewandert bin und schon einiges ausprobiert habe.
Berechtigungen passen !

Hoffe hier jemanden zu finden, der mir helfen kann.
 

itari

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

WebDav mit einem zusätzlich installierten Apache läuft bei mir (und lief auf Anhieb). Allerdings habe ich den nicht per http-Kennwort (.htacccess) geschützt. Interessiert mich auch nicht sonderlich, weswegen ich das auch nicht ausprobieren werde. Ich habe allerdings XMLRPC zwischen zwei Apache-Servern im Betrieb (wovon einer der zusätzliche Apache auf der DS ist) und da wird sehr wohl per http-User/Kennwort (credentials) konnektiert und das läuft einwandfrei. Also denke ich, dass es auch bei WebDAV zu schaffen ist.

itari
 

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Danke für die schnelle Antwort.

Kannst du mir dann bitte aus deiner httpd.conf mal die Einstellung posten auch wenn dies ohne Passwort ist.
Der Part wo du den WebDav Ordner definierst.
 
Zuletzt bearbeitet:

itari

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

hier die httpd.conf:
Rich (BBCode):
ServerRoot "/opt"
Listen 80
LoadModule authn_file_module libexec/mod_authn_file.so
LoadModule authn_dbm_module libexec/mod_authn_dbm.so
LoadModule authn_anon_module libexec/mod_authn_anon.so
LoadModule authn_dbd_module libexec/mod_authn_dbd.so
LoadModule authn_default_module libexec/mod_authn_default.so
LoadModule authz_host_module libexec/mod_authz_host.so
LoadModule authz_groupfile_module libexec/mod_authz_groupfile.so
LoadModule authz_user_module libexec/mod_authz_user.so
LoadModule authz_dbm_module libexec/mod_authz_dbm.so
LoadModule authz_owner_module libexec/mod_authz_owner.so
LoadModule authz_default_module libexec/mod_authz_default.so
LoadModule auth_basic_module libexec/mod_auth_basic.so
LoadModule auth_digest_module libexec/mod_auth_digest.so
LoadModule file_cache_module libexec/mod_file_cache.so
LoadModule cache_module libexec/mod_cache.so
LoadModule disk_cache_module libexec/mod_disk_cache.so
LoadModule mem_cache_module libexec/mod_mem_cache.so
LoadModule dbd_module libexec/mod_dbd.so
LoadModule dumpio_module libexec/mod_dumpio.so
LoadModule ext_filter_module libexec/mod_ext_filter.so
LoadModule include_module libexec/mod_include.so
LoadModule filter_module libexec/mod_filter.so
LoadModule substitute_module libexec/mod_substitute.so
LoadModule deflate_module libexec/mod_deflate.so
LoadModule ldap_module libexec/mod_ldap.so
LoadModule log_config_module libexec/mod_log_config.so
LoadModule log_forensic_module libexec/mod_log_forensic.so
LoadModule logio_module libexec/mod_logio.so
LoadModule env_module libexec/mod_env.so
LoadModule mime_magic_module libexec/mod_mime_magic.so
LoadModule cern_meta_module libexec/mod_cern_meta.so
LoadModule expires_module libexec/mod_expires.so
LoadModule headers_module libexec/mod_headers.so
LoadModule ident_module libexec/mod_ident.so
LoadModule usertrack_module libexec/mod_usertrack.so
LoadModule unique_id_module libexec/mod_unique_id.so
LoadModule setenvif_module libexec/mod_setenvif.so
LoadModule version_module libexec/mod_version.so
LoadModule proxy_module libexec/mod_proxy.so
LoadModule proxy_connect_module libexec/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/mod_proxy_http.so
LoadModule proxy_ajp_module libexec/mod_proxy_ajp.so
LoadModule proxy_balancer_module libexec/mod_proxy_balancer.so
LoadModule ssl_module libexec/mod_ssl.so
LoadModule mime_module libexec/mod_mime.so
LoadModule dav_module libexec/mod_dav.so
LoadModule status_module libexec/mod_status.so
LoadModule autoindex_module libexec/mod_autoindex.so
LoadModule asis_module libexec/mod_asis.so
LoadModule info_module libexec/mod_info.so
LoadModule cgid_module libexec/mod_cgid.so
LoadModule dav_fs_module libexec/mod_dav_fs.so
LoadModule vhost_alias_module libexec/mod_vhost_alias.so
LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule dir_module libexec/mod_dir.so
LoadModule imagemap_module libexec/mod_imagemap.so
LoadModule actions_module libexec/mod_actions.so
LoadModule speling_module libexec/mod_speling.so
LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
LoadModule rewrite_module libexec/mod_rewrite.so
LoadModule php5_module libexec/libphp5.so
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User nobody
Group #-1
</IfModule>
</IfModule>
ServerAdmin you@example.com
ServerName *:80
DocumentRoot "/volume1/web"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/volume1/web">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html default.html index.php default.php default.xml index.xml
</IfModule>
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "var/apache2/log/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/opt/share/apache2/cgi-bin/"
</IfModule>
<Directory "/opt/share/apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig etc/apache2/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

Include etc/apache2/extra/httpd-dav.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
AddType application/x-httpd-php .php
MaxClients 10
MaxSpareThreads 5
MinSpareThreads 2
ServerLimit 8
StartServers 2
ThreadsPerChild 5

und hier die extra/httpd-dav.conf:
Rich (BBCode):
DavLockDB "/opt/var/DavLock"
Alias /uploads "/opt/uploads"
<Directory "/opt/uploads">
    Dav On
    Order Allow,Deny
    Allow from all
    AuthType Digest
    AuthName DAV-upload
    AuthUserFile "/opt/user.passwd"
    AuthDigestProvider file
    # Allow universal read-access, but writes are restricted
    # to the admin user.
    <LimitExcept GET OPTIONS>
        require user admin
    </LimitExcept>
</Directory>
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

Die Datei /opt/user.passwd existiert nicht.

itari
 

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Hy itari,

danke für dein Post.
Dieser hat mir leider nicht die Lösung des Problems gebracht, jedoch hat er mich ein ganzes Stück weiter gebracht.

Ich poste dir nun mal meine httpd-dav.conf die ich per Include lade.

PHP:
<VirtualHost *:8020>
  Alias /webdav "/volume1/webdav"
  <Directory "/volume1/webdav">
    Dav On
    Order Allow,Deny
    Allow from all
    AuthName DAV-upload
    AuthType Digest
    AuthUserFile "/opt/user.passwd"
    AuthDigestProvider file
    <LimitExcept OPTIONS>
        Require valid-user
    </LimitExcept>
    <Limit COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK>
        Require valid-user
    </Limit>
  </Directory>
</VirtualHost>

Passwortabfrage kommt nun, da ich die Passwort-Datei erstellt habe.
Anmelden funktioniert nun und ich sehe den kompleten Inhalt des Verzeichnis.

Der Download funktioniert.
Neuanlage eines Verzeichnis oder der UpLoad einer Datei endet immer mit folgender Meldung in der error_log des Apache.

[Fri Oct 31 17:43:40 2008] [error] [client 192.168.x.xx] File does not exist: /volume1/xxxxx/xxxxx.jpeg

Vielleicht hats du ja noch eine Idee.

PS: Berechtigungen habe ich bereits kontrolliert. Auch der Apache Dienst läuft unter dem entsprechenden User.

Meiner Meinung nach kann es nur noch an dem Eintrag in der httpd-dav.conf liegen.

Also... vielleicht hat einer ja noch eine oder die entscheidende Idee.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Diesen Teil
Code:
[FONT=Courier New][COLOR=#007700]<[/COLOR][COLOR=#0000bb]Limit COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]> [/COLOR][/FONT]
[FONT=Courier New][COLOR=#007700]       Require [/COLOR][COLOR=#0000bb]valid[/COLOR][COLOR=#007700]-[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]user [/COLOR][/FONT]
[FONT=Courier New][COLOR=#007700]</[/COLOR][COLOR=#0000bb]Limit[/COLOR][COLOR=#007700]> [/COLOR][/FONT]
mal weggelassen, Server neu gestartet und dann geschaut?
 

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Leider ja....

Habe auch mal versucht das ganze Thema mit dem <Limit..... mal wegzulassen.
Auch ohne Erfolg.
 

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Erfolg WebDav über Apache per https

Hallo,

da ich es bisher nicht hinbekommen habe WebDav entsprechend mit Schreibrechten zum laufen zu bringen, habe ich das ganze nun über https inkl. Anmeldung gelöst.

vi /opt/etc/apache2/httpd.conf -> folgendes kontrollieren und im Notfall eintragen
include /opt/etc/apache2/extra/httpd-dav.conf
LoadModule dav_module libexec/mod_dav.so
LoadModule dav_fs_module libexec/mod_dav_fs.so

# Passwort-Datei erstellen
htpasswd -c /opt/sshuser.passwd username

# SSL Key erstellen
mkdir /opt/etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /opt/etc/apache2/ssl/apache.pem -keyout /opt/etc/apache2/ssl/apache.pem
chmod 600 /opt/etc/apache2/ssl/apache.pem
Den Wert nach -days nach belieben anpassen. Je nachdem wie lange das Zertifikat gelten soll.

/opt/etc/apache2/extra/httpd-dav.conf
DAVLockDB /volume1/web/sshDavLock
Listen 443
<virtualhost *:443>
SSLEngine On
SSLCertificateFile /opt/etc/apache2/ssl/apache.pem
Alias /webdav "/volume1/webdav"
<Directory /volume1/webdav>
DAV On
AllowOverride AuthConfig
AuthType Basic
AuthName "WebDAV Login"
AuthUserFile /opt/sshuser.passwd
Require valid-user
</Directory>
</VirtualHost>

#Apache neu starten
/opt/etc/init.d/S80apache restart

Und das war es eigentlich schon von meiner Seite aus. :rolleyes:
 
Zuletzt bearbeitet:
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