Better Living Through Thinking

Installing mod_dav

Mon, 23 Jan 2006

This document describes (briefly) how to setup mod_dav for a FreeBSD system.

1) Install mod_encoding.so

# cd /usr/ports/www/mod_encoding
# make && make install

Note: this step is only necessary if you have Windows XP clients connecting to your DAV share. Windows XP does strange and non-standard things (surprise!) when mounting a DAV network share; mod_encoding smooths things over.

Mac OS X and other DAV clients do not have these problems.

2) Modify httpd.conf

Note: the sections marked as 'Windows XP' may be omitted if none of your DAV clients use Windows XP.

<====== begin httpd.conf mods ======>
## loading modules
LoadModule dav_module      libexec/mod_dav.so
LoadModule encoding_module libexec/mod_encoding.so

## setup lockfile
<IfModule mod_dav.c>
  DAVLockDB /usr/local/apache/var/DAVLock
</IfModule>

## this is part of the DAV setup for Windows XP
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully

## this is part of the DAV setup for Windows XP
<IfModule mod_headers.c>
    Header add MS-Author-Via "DAV"
</IfModule>

## this is part of the DAV setup for Windows XP to translate
## hostname\\username into just username
<IfModule mod_encoding.c>
    EncodingEngine on
    NormalizeUsername on
</IfModule>

## share this directory
Alias /dav/domain.tld /home/joe/www/domain.tld
<Location /dav/domain.tld>
  DAV On
  AllowOverride none
  AuthType Basic
  AuthName "domain.tld access"
  AuthUserFile /home/joe/www/.domain.tld.htpasswd
  Require valid-user
</Location>
<====== end httpd.conf mods ======>

Make sure that /usr/local/apache/var exists and is writable by 'www':

# chown www:www /usr/local/apache/var
# chmod 0750 /usr/local/apache/var

3) Make sure the shared directory is writable by 'www' group (you have to do this as root)

# chgrp -R www /home/joe/www/domain.tld
# chmod -R g+w /home/joe/www/domain.tld

4) Add authentication data for each subuser

$ touch /home/joe/www/.domain.tld.htpasswd
$ htpasswd -m /home/joe/www/.domain.tld.htpasswd subuser1
New password:
Re-type new password:

Lather, rinse, repeat as necessary.

5) connect to the server via mod_dav

For Mac OS X:

  • In Finder, type Command+K, or "Go -> Connect to Server" in the menu
  • In the Server Address field, type 'https://domain.tld/dav/domain.tld/' (add any directory information also)

Mac OS X 10.3 notes: you cannot connect via 'https' and must connect via 'http'. 10.4 and later allow ssl connections via https.

For Windows XP, try this link for a thorough tutorial:

<www.ed.uiuc.edu/oet/network/webdavwinXP.html>

For item 4 on the above link, you don't need to put in 'UIUC\' before the username--that's specific to the website above. If the above link is not working, try googling for 'webdav windows xp' or try this link which is simpler but has no graphics:

<www.hss.caltech.edu/help/web/webdav/accessing/windowsxp>

[ category: /sysadmin | link: mod_dav ]

Audio Broadcast

(standby)

Moon Status

Phase: 64.15%
Illuminated: 81.51%
Age (days): 18.94
moon phase 0.64149266586616 Fri Jul 30 11:07:05 MDT 2010