The Apple iPhone, from OS version 3.0 is generally well-behaved and will discover your own calendars when configured. It will not allow you to manipulate other calendars on the same server, however, unless you use different credentials to access them.

  1. Open "Settings", "Mail, Contacts, Calendars" and choose "Add Account".
  2. Choose "Other" and "Add CalDAV Account".
  3. Fill in the fields with your server name, username & password. The description can be anything.
  4. Press the "Next" button at top-right.
  5. At this point you may get an error message about SSL connection not available. You should choose "Cancel", to get to the advanced settings slightly quicker.
  6. Open the "Advanced Settings" area and choose whether SSL is on or off, and enter the port number (80 is standard for http & 443 is standard for https, but the iPhone wants to use 8008 & 8443 for these)
  7. In the "Account URL" change "/principals/users/username" to "/caldav.php/username"
  8. Click on the "Caldav" top left to return to the basic settings and click on "Next" top right.

Other Settings

You may want to go into some of the other settings under "Mail, Contacts, Calendars" and set some of the other settings, including:

  • Fetch New Data
  • Time Zone Support
  • Default Calendar

All of these should be obvious. You can choose the calendar which an event goes into when you create the event, but if you want to move it to a different calendar you will need to do it with a different client - it's not an option in Apple's one.

Similarly, in the events the repeat frequencies are fairly limited, but the calendar does support the more arcane possibilities which you could create with a different client application.


Screenshot of setting up an account on an iPhoneScreenshot of setting up an account with adanced settings on an iPhone
Adding an Account“Advanced Settings” will appear if service discovery is unavailable.
Screenshot of the advanced settings on an iPhoneScreenshot of common advanced settings on an iPhone
Security, port, and pathTypical settings for non-SSL, port 80 and 443 for SSL