Warning /!\ THIS PAGE IS NOT FINISHED. CONSIDER THE INSTRUCTIONS OF ALPHA RELEASE QUALITY.

This page explains how to install Apple's Darwin Calendar Server (also called DCS, and the basis for their iCal Server) on Ubuntu Gutsy.

Install procedure for Ubuntu Server 7.10

Installing Apple's iCal Server is fairly trivial once you know what to do. You do need to download some additional packages using apt-get, and you'll 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.

To make this work you will need to enable the Universe repositories (see AddingRepositoriesHowto and remember to do an  apt-get update  afterwards).

Ready?

That's it! The server is up and running, and you can connect to it with your CalDAV client using  caldav://ADDRESS:8008/calendars/users/admin/calendar  to test the server using username  admin  and password  admin 

To work with Apple iCal under Mac OS 10.5, the URI required was simply:  caldav://ADDRESS:8008 

We want our CalendarServer to start up when our server starts up. Thatfor we write a little startup script:

/etc/init.d/caldavd

. /lib/lsb/init-functions

CALDAVD="/opt/caldavd/CalendarServer/run"
CALDAVD_USER="caldavd"
CALDAVD_OPTS="-d"
PIDFILE="/opt/caldavd/CalendarServer/logs/caldavd.pid"
NAME=caldavd

test -x $CALDAVD || exit 0

case "$1" in
  start)
        log_daemon_msg "Starting Darwin Calendar Server" "$NAME"
        if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --chuid $CALDAVD_USER --exec $CALDAVD -- $CALDAVD_OPTS; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  stop)
        log_daemon_msg "Stopping Darwin Calendar Server" "$NAME"
        if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  restart)
        log_daemon_msg "Restarting Darwin Calendar Server" "$NAME"
        start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
        if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --chuid $CALDAVD_USER --exec $CALDAVD -- $CALDAVD_OPTS; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  status)
        status_of_proc -p "$CALDAVD" "$NAME" && exit 0 || exit $?
        ;;
  *)
        log_action_msg "Usage: /etc/init.d/caldavd {start|stop|restart|status}"
        exit 1
esac

exit 0

And to get it to load on boot and shutdown safely:

update-rc.d caldavd defaults

To Do:

We also need to set up users and permissions for the server itself, so people can connect to the server and share their calendars, which is what we've been aiming for.

We should also document where the server-data is stored, so the information that users have entrusted to the server can be backed up.

Ideally we should package this application so the installation is installable with a single command.

CalendarServer/GutsyRecipe (last edited 2011-05-23 21:08:50 by cpc11-cdif12-2-0-cust1)