“Why should I read this silly article when I can just install the CalendarServer .deb?!”, you might be thinking. That’s easy. That deb is release 1.2, which is like a million years old or something. Lots of great stuff has been added since then, such as shared calendars and the integration of the formerly separate AddressBook server.
The concept here is to use apt to satisfy as many of the CalendarServer dependencies as possible, then let the ‘run’ script do the rest. I’ve tested this numerous times, and it works pretty flawlessly. I’ll have more detailed content later, but I just wanted to get the quick steps out there for any bleeding edgers out there…
1) edit /etc/fstab to enable xattrs by adding the “user_xattr” option.
e.g. (all on one line):
UUID=8f2bb850-0e8f-4d81-bba5-fb93ef9b9990 / ext4 errors=remount-ro,user_xattr 0 1
after doing the above you need to reboot, or “sudo mount / -o remount”
2) sudo apt-get build-dep postgresql
3) sudo apt-get install python-setuptools python-xattr python-twisted subversion curl
4) svn co http://svn.macosforge.org/repository/calendarserver/CalendarServer/trunk CalendarServer
5) cd CalendarServer ; ./run -s
… at this point, if all goes well, you should be prompted with a message indicating that there is no config file. Run the suggested command to use the sample config file. You can then start the server with run -d, and run the protocol tests using the ‘testserver’ script.