Skip to the content
Documentation

Setting it up

No ratings yet

These steps switch the WebDAV server on for one or more siteaccesses and make the web server pass WebDAV requests to it.

1. Switch it on

# settings/override/webdav.ini.append.php
[GeneralSettings]
EnableWebDAV=true

2. Choose the siteaccesses

The siteaccesses offered to WebDAV clients are those in SiteList[]:

# settings/override/site.ini.append.php
[SiteSettings]
SiteList[]
SiteList[]=site
SiteList[]=admin

3. Clear the INI cache

php bin/php/ezcache.php --clear-tag=ini

Under PHP-FPM, reload it; with Exponential Velocity, restart it (./console exp:velocity restart).

4. Let the web server reach the script

On the same host as the site, uncomment this line in the .htaccess made from .htaccess_root, so that the rewrite rules leave index_webdav.php alone:

RewriteRule ^index_webdav\.php - [L]

Clients then connect to https://www.example.com/index_webdav.php/<siteaccess>/.

Alternatively, give WebDAV a host of its own, for example webdav.example.com, and send every request on it to the script:

<VirtualHost *:443>
    ServerName webdav.example.com
    DocumentRoot /path/to/exponential
    RewriteEngine On
    RewriteRule . /index_webdav.php [L]
    # the TLS settings of your site go here
</VirtualHost>

Name index_webdav.php in new rules: webdav.php only forwards to it and will be removed in a later major version.

5. Test

Connect with a WebDAV client to the address of step 4, choose a siteaccess and sign in. To see what the server receives, set Logging=enabled in webdav.ini [GeneralSettings] and read var/log/webdav.log.

Related pages

Contributors

Comments (6 historical)

Written by readers of the earlier documentation sites, kept as they were.

  1. Comments

    Marco ·

    There is an image missing/not displayed on that page: "IE Open Dialog"
    Also, this documentation shows how to set up WebDAV using virtual host setup. This requires access to DNS and Apache names/setup for the server (at least, you'll need to be able to create a subdomain and create/modify Rewrite Rules in Apache).
    I know, that it is possible to run WebDAV without a dedicated Host name using just another Rewrite Rule.
    But: Is WebDAV also availbe for those, who cannot access the rewrite Rules?

  2. webdav and windows XP

    Gaetano ·

    The documented method to use internet explorer is in fact wrong for windows XP (at least with SP2 and IE7).
    There are two dav connectors in xp, and the default one (called mini-redirector) is so buggy it is basically useless. Also by default it does not support basic http auth, which is the method used by Exponential. You have to edit a reg key to allow it, see KB #841215.
    The recommended way to create a dav connection making sure the other connector (aka 'web folders') is used, is to add the port number at the end of the server address, starting from 'my neighborhood' | add network resource.
    Please note that it is also a good idea to update the web folders software package first. The latest version is found on MS KB #907306.
    Useful resources:
    http://www.greenbytes.de/tech/webdav/webdav-redirector-list.html
    http://www.greenbytes.de/tech/webdav/webfolder-client-list.html
    http://svnbook.red-bean.com/en/1.4/svn.webdav.clients.html
    http://support.microsoft.com/kb/907306
    http://support.microsoft.com/kb/841215

  3. how to force IE to ask for password?

    vytis ·

    i set up webdav on server.
    on IE i get list of sitaccesses, but if i click on any - i get error.

  4. use dav:// to access from Nautilus in Gnome

    vytis ·

    use dav:// to access from Nautilus in Gnome

  5. configuration files

    gaetano ·

    Take care that [DatabaseSettings] and [FileSettings]/VarDir settings need to be set in the override site.ini file for webdav to work, as those settings are used by the server before checking for the siteaccess to use

  6. Using global overrides for environment specific settings

    Seth Gottlieb ·

    It seems like the global settings would be useful for environment-specific settings. For example, if you have three server environments (dev, qa, and production), you would put things like database server in the global file that you would not check into source control and manage directly on each environment. Does this seem like a good approach?

Comments

Add a comment

Comments are read by a moderator before they appear.