Getting Started
This is the core code base for Darwin Calendar Server, which is a CalDAV, CardDAV, WebDAV, and HTTP server.
For general information about the server, see:
http://www.calendarserver.org/
Copyright and License
Copyright (c) 2005-2007 Apple Inc. All rights reserved.
This software is licensed under the Apache License, Version 2.0. The Apache License is a well-established open source license, enabling collaborative open source software development.
See the "LICENSE" file for the full text of the license terms.
Quick Start
WARNING: these instructions are for running a server from the source tree, which is useful for development and you edit the source code. These are not the correct steps for running the server in deployment or as part of an OS install. You should not be using the run script in system startup files (eg. /etc/init.d); it does things (like download software) that you don't want to happen in that context.
Create an empty development directory, such as ~/Developer/CalendarServer/. Then check out or copy this source project into this directory. The server requires a number of libraries in order to operate, which will need to be places as peers of the source directory. The run script in the sources will automatically download or check out the appropriate libraries and build them for you:
./run -s
The result will be a set of directories, including the CalendarServer source directory in your original empty directory:
% ls -1 ~/Developer/CalendarServer CalendarServer Twisted ...
Before you can run the server, you need to set up a configuration file for development. There is a provided test configuration that you can use to start with, called caldavd-test.plist. Copy this to caldavd-dev.plist, which the server will use in development:
cp ./conf/caldavd-test.plist ./conf/caldavd-dev.plist
You will need to choose a "directory service" to use to populate your server's principals (users, groups and resources). A directory service provides the calendar server with information about these principals. Some of the directory services which are supported by the calendar server include:
- XMLDirectoryService: this service is configurable via an XML file that contains principal information. The file conf/auth/accounts.xml provides an example principals configuration.
- OpenDirectoryService: this service uses Apple's OpenDirectory client (which in turn uses LDAP, Active Directory, etc.) to obtain principal information.
The caldavd-test.plist configuration uses XMLDirectoryService by default, set up to use conf/auth/accounts-test.xml. This is a generally useful configuration for development and testing.
This file contains a user principal, named admin, with password admin, which is set up (in caldavd-test.plist) to have administrative permissions on the server.
You can then run the server as follows:
./run
The server should then start up and bind to port 8008 for HTTP and 8443 for HTTPS. You should then be able to connect to the server using your web browser (eg. Safari, Firefox) or with a CalDAV client (eg. iCal).
