Revision 17 as of 2008-01-11 19:14:01

Clear message


This page will explain how to install Apple's iCal Server on Ubuntu Server, though desktop variants should also work without any problems.

What is CalDAV?

Explain that here, together with an explanation between CalDAV and WebDAV/webcal, with a link to a page describing how to make that happen.

Install procedure for Ubuntu Server 7.10

Installing Apple's iCal Server is fairly trivial once you know what to do. We do need to download some additional packages using apt-get, and we need to download some software using subversion. Most users will be familiar with apt-get, many with subversion. If you're not familiar with subversion, don't panic. This guide will be a detailed, step by step howto, showing exactly which commands to enter and when.


  • Log into the server console or via ssh, so you can enter commands, and run sudo -s to get a root shell.
  • Install subversion: apt-get install subversion
  • Install some software:  apt-get install libkrb5-dev attr curl build-essential libssl-dev python-pysqlite2 bzip2 

  • Install some more software:  apt-get install curl zope3 python-xml python-pyopenssl python-dateutil python-xattr python-pysqlite2 python-twisted python-vobject python-kerberos 

  • We now need to edit our /etc/fstab file and add user_xattr to the options for the partition containing the CalDAV server, / in this case:  vim /etc/fstab 

This is how my change looked like:

Before: UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro 0 1
After : UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro,user_xattr 0 1
  • We must now remount the filesystem:  mount -o remount / 

  • We'll install the server in /opt, so lets change into it:  cd /opt 

  • Let's download the server software itself using subversion:  svn checkout CalendarServer  BR

  • Subversion has downloaded alot of software, and created a directory for us, called CalendarServer. Let's change into it:  cd CalendarServer BR

  • And run a script to download some necessary packages, configure, etc:  ./run -s  BR

  • Ok, our CalDAV server is almost ready for action. Let's copy the test configuration so we can get it up as quickly as possible. Real configuration can wait:  cp conf/caldavd-test.plist conf/caldavd-dev.plist  BR

  • We do need to do some configuration though:  vim conf/caldavd-dev.plist  BR BR

  • Let's change the hostname for the server. Locate the line  <!-- Network host name -->  and change  <string>localhost</string>  to  <string>your-real-hostname</string>  BR

  • We have to make it available to connections from other computers. Locate this line:  <!-- List of IP addresses to bind to [empty = all] -->  and replace  in  <string></string>  with either nothing or a spesific, public ip address for your server. BR

  • There is a bug in Evolution that prevents us from using this setup. The bug is located here, and please visit it now to see if it's been fixed. It also explains how to enable Evolution to connect. I won't include it here, because it's important that you check out the bug yourself: BR BR

  • Run the server: ./run
  • That's it! Smile :)


Cam's blog: BR BR BR Lenfis blog: BR BR BR Calendar Server wiki: BR BR BR