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.
Enabling WebDAV on your Apache server is a two stage process:
- You need to build and/or install the mod_dav module to add WebDAV services to your Apache installation.
- You must make some changes to your Apache configuration to tell it the directories in which to enable WebDAV services.
For 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.
Windows versions of Apache 2 come with the mod_dav module.
Original date of publication, 04/07/2003