Here you find an example for a WebDAV configuration in Apache that is used for YADE file transfers.
Prerequisites
- Make sure that the modules dav_module, dav_fs_module and dav_lock_module are loaded.
- See http://httpd.apache.org/docs/2.2/mod/mod_dav.html, http://httpd.apache.org/docs/2.2/mod/mod_dav_fs.html and http://httpd.apache.org/docs/2.2/mod/mod_dav_lock.html for more information.
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.