One of the up-and-coming web publishing tools is… not what you’d expect! Pretty much anything that can save a file to disk! Anything, that is, that can be extended to save a file with the WebDAV protocol. DAV stands for “Distributed Versioning and Authoring”. This particular topic will house my notes on getting WebDAV set up with my apache server, and getting clients to use it. Currently there’s a pretty extensive list of clients that support it, such as Microsoft Office and OpenOffice. See my notes on OpenOffice and others in the rest of the article…

Apache Setup
For Apache 2.2.0, these are the general settings that are needed/suggested for DAV functionality. (earlier versions of apache also support DAV, I just happen to be on 2.2.0 at the moment)

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
DavLockDB /usr/site/www/logs/DAVlock.db
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

Take note with the DavLockDB line – you can’t just create that file and be done, because that file is not even used! It creates a .dir and a .pagfile with that prefix. Best to let apache own the directory the files are in, but you can probably pre-make and chown them…

Next, on a location-by-location basis, enble DAV:

Alias /davtest /usr/site/www/davtest/www
<Directory /usr/site/www/davtest/www>
    Dav on
    AuthType Digest
    AuthName DAV-upload
    AuthUserFile "/usr/site/apache-2.2.0/user.passwd"

    # Allow universal read-access, but writes are restricted to the admin user.
    <LimitExcept GET OPTIONS>
        require user admin

This is nice – authentication is required for DAV modification methods, but reading, such as is done by the webserver, requires no authentication.

The first thing you should do is change the options to use the Open/Save dialogs from OpenOffice instead of Windows (or Linux? I am not sure how they behave) because the Windows ones won’t let you save a new file to a DAV site. Open a blank document and go to Tools - Options - OpenOffice.org - General and check the “Use Openoffice.org dialogs” checkbox.
Now when you save a file (html, text, spreadsheet, etc), when you create the filename, simply enter the full path to the DAV file, such as http://mercury.guyton.net/davtest/testing.html. For saving a file, it’s the same thing, just enter the full path of the DAV site if the browser is not focused there already.

To load an existing file, it’s similar, and I believe works with either the openoffice or windows load dialogs. Better to stick with the openoffice ones though, so you can save new files.

One down side to OpenOffice was that it did not support digest authentication. We had to revert to Basic auth, which does not encrypt the password well. If it’s over SSL, that’s fine, but most users should be able to use HTTP and digest…

This still does not address images, though…. or other random file types.

Share and Enjoy:
  • Print
  • Facebook
  • Twitter
  • PDF

Leave a Reply

Your email address will not be published. Required fields are marked *