Using WebDAV set up by cPanel 11 on my account on server aldo.asmallorange.com, I was able to successfully publish a calendar directly using Apple iCal v2.0.4. I am very pleased with this.
How to do it with Apple iCal v2.0.4 in Tiger. You are on your own to figure out other versions.
In this example, let us say that you want to set up access specifically for iCal with a uniquely chosen username and password for the new WebDAV account.
domain name: interactive.com
iCal-specific username is "zork"
iCal-specific password: xyzzy
publish in: /public_html/ical/
filename: adventure.ics
Of course you would change these to fit your circumstances.
Set up a "Web Disk" account (WebDAV account) using cPanel 11 on your server.
In the Create Web Disk account form enter
Login: zork
Password: xyzzy
Password (Again): xyzzy
Directory: /public_html/ical
(I'm not sure if you need to create this directory ahead of time. I did.)
Hit the Create button.
In Apple iCal, select the calendar you wish to publish.
In the Calendar menu select Publish... (or Change Location... if you have configured it previously).
Fill in the dialog as (using the example info above)
Publish calendar as: adventure
Publish on: a Private Server
Base URL:
http://www.interactive.com:2077/Login: zork@interactive.com
Password: xyzzy
Set the checkboxes in the dialog to your preferences.
Push the Publish button.
A file called "adventure.ics" will be uploaded into /public_html/ical on your server.
It will be uploaded again each time you "Refresh" the calendar publication in iCal.
Note that if you go back to edit the publishing information using "Change Location...", the Base URL will be incorrect. It will drop the :2077. You will need to add it back each time you edit the configuration info in that dialog.
With a shared hosting account, using port :2078 instead of :2077 will not work for iCal. The SSL will fail since iCal can't do a reverse DNS lookup to make sure that the name corresponds to the IP address. This is due to the account being on a shared server. Those of you with static IP addresses might be able to use :2078 and SSL for the connection.
-Tom