Here you find an example for a WebDAV configuration in Apache that is used for YADE file transfers.

Prerequisites

Example of WebDAV configuration

<VirtualHost *:80>
        ServerAdmin webmaster@sos-berlin.com
        ServerName homer.sos
        ServerAlias homer.sos
        
        # don't loose time with IP address lookups
    	HostnameLookups Off

    	# needed for named virtual hosts
    	UseCanonicalName Off

    	# configures the footer on server-generated documents
   	    ServerSignature On

        Alias /jade /tmp/test/jade
       
       	<Directory /tmp/test/jade/ >
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        
        <Location /jade >
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /srv/www/passwd.dav
           Require valid-user
           
           ErrorDocument 400 default
    	   ErrorDocument 401 default
    	   ErrorDocument 403 default
    	   ErrorDocument 404 default
    	   ErrorDocument 405 default
    	   ErrorDocument 408 default
    	   ErrorDocument 410 default
    	   ErrorDocument 411 default
    	   ErrorDocument 412 default
    	   ErrorDocument 413 default
    	   ErrorDocument 414 default
    	   ErrorDocument 415 default
    	   ErrorDocument 500 default
    	   ErrorDocument 501 default
    	   ErrorDocument 502 default
    	   ErrorDocument 503 default
    	   ErrorDocument 506 default
       	</Location>        

</VirtualHost>

DAVLockDB /var/lib/dav/lockdb
  • Make sure that the Apache user (e.g. wwwrun) has sufficient permissions for the above WebDAV directory /tmp/test/jade.
  • It is strongly recommended that you configure all Apache ErrorDocument to default in the WebDAV location or you remove all ErrorDocument in the httpd.conf.
    • If you send a file with YADE to an Apache WebDAV server then YADE checks wether the target file exists.
    • If the target file doesn't exist then the Apache WebDAV server response will include the ErrorDocument 404 in addition to the HTTP Status 404.
    • If the ErrorDocument 404 points e.g. to /error/HTTP_NOT_FOUND.html.var then the answer of the Apache takes much longer (~1 minute).

Example for WebDAV configuration behind a proxy

Change the <Directory> element of the above configuration so that exclusively the proxy has access to the WebDAV location:

        # allow only from proxy server 192.11.0.222 
        <Directory /tmp/test/jade/ >
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from 192.11.0.222
        </Directory>

Where 192.11.0.222 is the IP address of the proxy server.