Enabling WebDAV on Apache

There is nothing worse when setting up a
website than having to build some complicated method of viewing and updating
the information on the site. There are lots of solutions -- using a local copy,
using a combination of HTTP and FTP tools to download the original and upload
the changes and of course the full-blown dynamic/content managed system that
provides that nice cuddly front end for you to enter the information into.

SWatch Reader Favorite! WebDAV is turning into an important tool on Apache-based servers. Learn how to enable WebDAV on your Apache server and offer services like Apple's iCal to your users.

In order to simplify the way you update
websites, WebDAV was invented. Web-based Distributed Authoring and Versioning
(WebDAV) uses extensions to the existing HTTP protocol to enable multiple users
to manage and modify the files in a remote system. Using suitably enabled
clients you can view, open, edit and save files directly into the filesystem of
the Web site as it were of a remote website.

There are some obvious immediate
benefits of this, not least of which the ability to edit the website without
jumping through too many hoops, but it's the inventive use of the technology
beyond editing a remote website that has lead to a recent explosion in interest
of WebDAV. Nowhere is this explosion more prevalent than in the Mac OS X arena,
where the iCal calendar application, provided free by Apple, can publish
calendars to a WebDAV server so that other users can subscribe to the
calendars and find out what you're doing.

You must make some
changes to your Apache configuration to tell it the directories in which to
enable WebDAV services.

Installing mod_davFor Apache 1.3.x under Unix you need the mod_dav module from http://www.webdav.org/mod_dav/,
the package you need is listed at the top of the main part of the page, or you
can download Version 1.3 using http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz.
Note that you'll need at least Apache version 1.3.6 to use the mod_dav module and it's best to use dynamic module loading rather than
having to recompile the Apache binary. Once you've downloaded the package and
extracted it using gunzip and/or tar, it should just be a case of:

./configure
make
make install

That will copy the libdav.so module created into your apache's libexec directory, probably /usr/local/apache/libexec.

Mac OS X and Mac OS X Server should come
with the DAV module as part of the standard installation -- check the /usr/libexec/httpd directory for the libdav.so. If it
isn't there, follow the steps above for Unix to compile your own version.

For Apache 1.3.x under Windows, the same
site also provides a copy of a ready to run library to include (see http://www.webdav.org/mod_dav/win32/ for more
details). You'll need to download
the extension and then copy the module into the modules directory in your Apache installation.

For Apache 2.x a version of the mod_dav module is included. To ensure it's in your installation under Unix/Mac OS X you'll
need to recompile the Apache source, running the configure utility with the --enable-dav
option. Binary packages come with the module already enabled.