Webdav
From Hackepedia
I should have started documenting this from the beginning, but hopefully this helps.
<VirtualHost cal.example.com:80>
ServerAdmin frank@example.com
ServerName cal.example.com
DocumentRoot /var/www/cal.example.com
<Directory />
Options FollowSymLinks
AllowOverride all
# Order allow,deny
# This line below, allows my subnet only (which if my IP is 1.2.3.4, I used the first 3 octets)!
Allow from 1.2.3
</Directory>
ErrorLog ${APACHE_LOG_DIR}/webdav.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/webdav.access.log combined
Alias /webdav /var/www/cal.example.com/webdav
<Location /webdav>
Dav On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/cal.example.com/passwd.dav
Require valid-user
</Location>
</VirtualHost>
In your apache logs, if you see:
(13)Permission denied: An error occurred while opening a resource. [500, #0]
then make sure this matches (apache needs write permissions to the webdav directory!)
webdav$ ls -la total 12 drwxrwxr-x 2 root www-data 4096 Apr 24 05:50 . drwxr-xr-x 4 www-data www-data 4096 Apr 24 04:07 .. -rw-r--r-- 1 www-data www-data 2970 Apr 24 05:50 mycal.ics