webdav 404 not found error

etron770

Member
perfect server squeeze apache2

Webdav user and directory created with IspConfig 3.0.4.4
Code:
cadaver http://.www.example.com:80/webdav/dir/
Authentication required for uni on server www.example.com
Username: name
Password:
Could not access /webdav/dir/ (not WebDAV-enabled?):
404 Not Found
Connection to www.example.com closed.
dav:!>
any hints?

Knut
 
Zuletzt bearbeitet:

etron770

Member
Ich habe folgende Fehler im Logfile gefunden wenn ich mich einlogge

[error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/Server_example.com/web/dir1/_vti_inf.html
[error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/Server_example.com/web/dir1/_vti_bin


Das webdav Verzeichnis ist (in ISPconfig eingegeben)

/var/www/Server_example.com/webdav/dir1

Das dir1.htdigest file ist in
/var/www/Server_example.com/webdav/

ABer um Mißverständnisse zu vermeiden:

Das Startverzeichnis für die Domain ist

/var/www/Server_example.com/web/dir1

es gibt also dir1 doppelt , was aber doch nichts ausmachen sollte oder?
 

Till

Administrator
es gibt also dir1 doppelt , was aber doch nichts ausmachen sollte oder?

Das ist egal, webdav hat seinen eigenen Verzeichnisbaum und dient ja auch nicht dem Zugriff auf das web Verzeichnis, denn dort hätte es keine Schreibrechte.

Der Fehlermeldung nach würde ich sagen dass webdav entweder nicht installiert ist oder das Modul nicht im apache aktiviert wurde.
 

etron770

Member
Das ist egal, webdav hat seinen eigenen Verzeichnisbaum und dient ja auch nicht dem Zugriff auf das web Verzeichnis, denn dort hätte es keine Schreibrechte.

Das dachte ich auch ansonsten wäre es unmöglich einen Benutzer das Recht einzuräumen Verzeichnisse anzulegen...

root@server
a2enmod dav_fs dav auth_digest
Considering dependency dav for dav_fs:
Module dav already enabled
Module dav_fs already enabled
Module dav already enabled
Module auth_digest already enabled

Grüße Knut
 

etron770

Member
Code:
<Directory /var/www/server_example.com>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>

<VirtualHost xxx.xxx.xxx.xxx:80>
      DocumentRoot /var/www/server_example.com/web
  
    ServerName server_example.com
    ServerAlias www.server_example.com 
    ServerAlias www.server_example_1.de server_example_1.de 
    ServerAlias www.server_example_1.eu server_example_1.eu 
    ServerAlias www.server_example_1.org server_example_1.org 
    ServerAlias www.server_example_2.de server_example_2.de 
    ServerAlias www.server_example_3.de server_example_3.de 
    ServerAlias www.server_example_3.eu server_example_3.eu 
    ServerAlias subdomain.server_example_1.de
    ServerAdmin webmaster@server_example.com

    ErrorLog /var/log/ispconfig/httpd/server_example.com/error.log

    Alias /error/ "/var/www/server_example.com/web/error/"
    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 502 /error/502.html
    ErrorDocument 503 /error/503.html

    <IfModule mod_ssl.c>
    </IfModule>

    <Directory /var/www/server_example.com/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/www/clients/client1/web1/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>



    # suexec enabled
    <IfModule mod_suexec.c>
      SuexecUserGroup web1 client1
    </IfModule>
    # Clear PHP settings of this website
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler None
    </FilesMatch>
    # php as fast-cgi enabled
    # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
    <IfModule mod_fcgid.c>
        IdleTimeout 300
        ProcessLifeTime 3600
        # MaxProcessCount 1000
        DefaultMinClassProcessCount 0
        DefaultMaxClassProcessCount 100
        IPCConnectTimeout 3
        IPCCommTimeout 360
        BusyTimeout 300
    </IfModule>
    <Directory /var/www/server_example.com/web>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php
        Options +ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/www/clients/client1/web1/web>
        AddHandler fcgid-script .php .php3 .php4 .php5
        FCGIWrapper /var/www/php-fcgi-scripts/web1/.php-fcgi-starter .php
        Options +ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    RewriteEngine on
    RewriteCond %{HTTP_HOST}   ^server_example.com$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example.com$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_1.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_1.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_1.eu$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_1.eu$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_1.org$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_1.org$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_2.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/refdb/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_2.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/refdb/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_3.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_3.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^server_example_3.eu$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^www.server_example_3.eu$ [NC]
    RewriteRule   ^/(.*)$ /uni/$1  
    RewriteCond %{HTTP_HOST}   ^subdomain.server_example_1.de$ [NC]
    RewriteRule   ^/(.*)$ /uni/refdb/$1  

    # add support for apache mpm_itk
    <IfModule mpm_itk_module>
      AssignUserId web1 client1
    </IfModule>

    <IfModule mod_dav_fs.c>
      # Do not execute PHP files in webdav directory
      <Directory /var/www/clients/client1/web1/webdav>
        <FilesMatch "\.ph(p3?|tml)$">
          SetHandler None
        </FilesMatch>
      </Directory>
      # DO NOT REMOVE THE COMMENTS!
      # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN

      Alias /webdav/uni /var/www/clients/client1/web1/webdav/uni
      <Location /webdav/uni>
        DAV On
        BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
        AuthType Digest
        AuthName "uni"
        AuthUserFile /var/www/clients/client1/web1/webdav/uni.htdigest
        Require valid-user 
        Options +Indexes 
        Order allow,deny 
        Allow from all 
      </Location> 
      # WEBDAV END
    </IfModule>


</VirtualHost>
 

Till

Administrator
Das Verzeichnis heißt uni und nicht dir1, die Webdav Verbindung wird also aufgebaut mit:

Code:
cadaver http://www.example.com/webdav/uni/
 

etron770

Member
ja dir war nur universell sozusagen wie server_example

mit Cadaver habe ich das schon so aufgerufen

bei falschem Verzeichnis kommt ja auch

Ignored error: /webdav/dir1/ not WebDAV-enabled:
405 Method Not Allowed

Sorry
 

Till

Administrator
Ich schätze mal Dein Problem sind die Rewrite Regeln, da Du ja alle ankommenden Aufrufe für die Domains umleitest, kann webdav nicht mehr greifen, denn damit leitest Du auch die URL /webdav mit um denn rewrite Rules überschreiben Location Definitinen im apache.

Was Du aber versuchen kannst ist dass Du eine Subdomain webdav.deinedomain.tld definierst welche Du nicht umleitest und dann Webdav über diese Domain nutzt.
 

etron770

Member
Danke das hat funktioniert
hätte ich es auf irgendeinem anderen Webspace auf dem Server ausprobiert, hätte es auf Anhieb geklappt:rolleyes:

Viele Grüße Knut
 

Werbung

Top