In case someone else is looking for a very simple way to let web users see a read-only version of your calendar, here's what I did. (I'm running Apache/PHP on the same machine as Zimbra, but you can do this from anywhere.)
Make the desired Zimbra calendar shared.
Get phpiCalendar code from the 'latest version' links here:
After installing that you have to put your .ics file(s) into the /calendars directory. To do that I used wget in a cron script that runs every 5 minutes, but there's lots of ways to do it. I think phpicalendar will even let you specify the remote URL directly in its config file, but I wanted the .ics file for other reasons as well. The URL I used to get the file looks kind of like this although I've seen other versions in various forum messages:
That was it. It works perfectly and lets people browse around different time periods, day/month/week views, and has a printable view. It even lets people overlay multiple calendars in the same view much like Zimbra does.
This will be very handy for our customer support web site where most people won't have a Zimbra log in account.