Running on various operating systems
Portability may be limited in this release.
The server requires:
- Python 2.5
- Zope Interface 3.1.0c1
- PyXML 0.8.4
- pyOpenSSL 0.6
- python-dateutil-1.0
- xattr 0.2 (Bob Ippolito's implementation)
- Twisted
- vObject
- PyKerberos
- PyOpenDirectory
It also requires, naturally, anything these components depend on. For example, pyOpenSSL requires the OpenSSL library.
The server is most actively developed on Mac OS 10.5 Leopard, which is presently only available to Apple developers in a preview release. (See http://developer.apple.com/ for more information.) However, it is not intended to run solely on that platform; that just happens to be what the current developers are using (because we work at Apple, and are building it as a feature of Mac OS X Server).
If you are using Tiger (Mac OS 10.4), you will need to install Python 2.5. See http://pythonmac.org/packages/ for installable packages.
Portability Issues
If you are using other operating systems, there may be additional coding work required before you can get started.
WebDAV Property Stores
For starters, twisted.web2.dav requires Bob Ippolito's xattr library to access file system extended attributes, which are used to store WebDAV properties. File system extended attributes are available on all file systems in Mac OS X, and on some file systems on Linux and FreeBSD. Another alternative is to implement a new property store class which does not use extended attributes. The Apache HTTP Server, for example, uses a database to keep track of properties on files, and this method works on many more platforms and file systems.
Linux and FreeBSD users have has some success running our calendar server. Check our bug tracker for status:
Python 2.5
The Calendar Server was implemented using Python 2.5. Backporting to earlier Python releases might be possible, however we use a number of language constructs specific to 2.5 that might make that hard.
