The biggest gotcha - after filesystem and configuration issues - is that iCal wants to publish via SSL. And it's very strict about the certificate it gets from the server.
This means that:
- You need to have an apache with SSL support (--enable-ssl).
- You need to have a valid certificate for the server name to which you are trying to publish..
Since I am publishing to calendar.iain.cx I had to configure apache to serve https://calendar.iain.cx/. See my OpenSSL notes for more details. Or if you can't figure it out there's always the "Publish to .Mac option.