Monday, August 3, 2009

Open Source Calendar Server

I was looking for open source calender server with CalDev support. I finally decided to go with "Darwin Calendar Server", that is being developed and maintained by Apple. Darwin calendar server is developed with Python. Here are the instructions to build darwin calendar server on ubuntu,

a) apt-get install following components, if you don't have it,

build-essential
python-openssl
python-xattr
python-zopeinterface
python-xml
ibkrb5-dev
krb5-config

b) Create empty directory, check out CalendarServer inside empty directory (while building, system will download number of other necessary libs inside empty directory you have created),

svn checkout http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk CalendarServer

c) Enable extended attributes for the filesystem (CalendarServer expects extended attribute enabled file system for storing calendar data),

edit, /etc/fstab and add user_xattr

Here is how my "/etc/fstab" looks after adding user_xattr,

UUID=2594fb7b-cb60-490c-8d08-1fbee11f1e5f / ext3 relatime,errors=remount-ro,user_xattr 0 1

d) Activate fstab changes, with 'mount -o remount /<mountpoint>'

e) To build CalendarServer, follow the instructions listed at,
http://trac.calendarserver.org/wiki/QuickStart

f) If everything goes fine, open browser with http://localhost:8008/calendars/users/admin/calendar (If you are challenged by security realm, enter admin for both username and password). You should see admin's calendar listing

g) You may use any calendar client that supports "CalDev" to access your calendar. If you plan to use sunbird as your client, follow the instructions at
http://trac.calendarserver.org/wiki/Sunbird