CalendarServer

Differences between revisions 20 and 23 (spanning 3 versions)
Revision 20 as of 2008-01-11 20:12:20
Size: 4560
Editor: 26-191
Comment:
Revision 23 as of 2008-01-11 23:29:15
Size: 4141
Editor: optussatellitebintb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
THIS PAGE IS NOT FINISHED. DON'T FOLLOW ANY ADVISE IN IT UNTIL THIS LINE IS REMOVED. /!\ ''' THIS PAGE IS NOT FINISHED. DON'T FOLLOW ANY ADVICE IN IT UNTIL THIS LINE IS REMOVED. '''
Line 5: Line 5:
This page will explain how to install Apple's iCal Server on Ubuntu Server, though desktop variants should also work without any problems. This page explains how to install Apple's iCal Server (also called DCS or Darwin Calendar Server) on Ubuntu Server, though desktop variants should also work without any problems.
Line 8: Line 8:
Explain that here, together with an explanation between CalDAV and WebDAV/webcal, with a link to a page describing how to make that happen. CalDAV is a proposal for a standard protocol to enable calendar access via WebDAV. WebDAV, an abbreviation that stands for Web-based Distributed Authoring and Versioning, refers to the set of extensions to the Hypertext Transfer Protocol (HTTP) which allows users to collaboratively edit and manage files on remote World Wide Web servers.
Line 11: Line 11:

Installing Apple's iCal Server is fairly trivial once you know what to do. We do need to download some additional packages using apt-get, and we 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.
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.
Line 17: Line 16:
 * Install some software: {{{ apt-get install subversion libkrb5-dev attr curl build-essential libssl-dev python-pysqlite2 bzip2 }}}
 * Install some more software: {{{ apt-get install curl zope3 python-xml python-pyopenssl python-dateutil python-xattr python-pysqlite2 python-twisted python-vobject python-kerberos }}}
 * Install some software:
{{{ apt-get install subversion libkrb5-dev attr curl build-essential libssl-dev python-pysqlite2 bzip2 }}}
 * Install some more software:
{{{ apt-get install curl zope3 python-xml python-pyopenssl python-dateutil python-xattr python-pysqlite2 python-twisted python-vobject python-kerberos }}}
Line 22: Line 22:
This is how my change looked like:
{{{
Before: UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro 0 1
After : UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro,user_xattr 0 1
}}}

 * We must now remount the filesystem: {{{ mount -o remount / }}}
 * We'll install the server in /opt, so lets change into it: {{{ cd /opt }}}
 * Let's download the server software itself using subversion: {{{ svn checkout http://svn.macosforge.org/repository/calendarserver/CalendarServer/trunk CalendarServer }}}
 * Subversion has downloaded alot of software, and created a directory for us, called CalendarServer. Let's change into it: {{{ cd CalendarServer }}}[[BR]]
 * And run a script to download some necessary packages, configure, etc: {{{ ./run -s }}}
 * Ok, our CalDAV server is almost ready for action. Let's copy the test configuration so we can get it up as quickly as possible. Real configuration can wait: {{{ cp conf/caldavd-test.plist conf/caldavd-dev.plist }}}
 * We do need to do some configuration though: {{{ vim conf/caldavd-dev.plist }}}

 * Let's change the hostname for the server. Locate the line {{{ <!-- Network host name --> }}} and change {{{ <string>localhost</string> }}} to {{{ <string>your-real-hostname</string> }}} [[BR]]
 * We have to make it available to connections from other computers. Locate this line: {{{ <!-- List of IP addresses to bind to [empty = all] --> }}} and replace {{{ 127.0.0.1 }}} in {{{ <string>127.0.0.1</string> }}} with either nothing or a spesific, public ip address for your server.

 * There is a bug in Evolution that prevents us from using this setup. The bug is located here, and please visit it now to see if it's been fixed. It also explains how to enable Evolution to connect. I won't include it here, because it's important that you check out the bug yourself: https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/16019
 This is what the /etc/fstab change looks like:
 {{{ Before: UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro 0 1
After : UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro,user_xattr 0 1 }}}
Line 42: Line 27:
 * Run the server: ./run
 * 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 }}}
 * But we're not really done yet. So, what's next? We're currently running the server as root. That's not necessary, so we shouldn't. What we should do, is create a user for our CalDAV server, set permissions for /opt/CalendarServer to that user and run as that user. We should also create scripts for /etc/init.d/ so we can manage it like we do with other services, and we should add a script to run it when we boot and properly shut it down when we shut down the system.
 
 /!\ You ''must'' modify the settings for the partition on which you're installing the server. So if your /opt is on a different partition, you must set the {{{ user_xattr }}} flag and modify the instructions below.
Line 48: Line 30:
References:  * Remount the filesystem (to activate user_xattr): {{{ mount -o remount / }}}
 * We'll install the server in /opt, so lets change into it: {{{ cd /opt }}}
 * Let's download the server software itself using subversion:
 {{{ svn checkout http://svn.macosforge.org/repository/calendarserver/CalendarServer/trunk CalendarServer }}}
 * Subversion has downloaded a lot of software, and created a directory for us, called CalendarServer. Let's change into it: {{{ cd CalendarServer }}}
 * And run a script to download some necessary packages, configure, etc: {{{ ./run -s }}}
 * Our CalDAV server is almost ready for action. Let's copy the test configuration so we can get it up as quickly as possible. Real configuration can wait: {{{ cp conf/caldavd-test.plist conf/caldavd-dev.plist }}}
 * We do need to do a little configuration though: {{{ vim conf/caldavd-dev.plist }}}
 * First change the hostname for the server. Locate the line {{{ <!-- Network host name --> }}} and change {{{ <string>localhost</string> }}} to {{{ <string>your-real-hostname</string> }}} (That is, put the actual name of your server inside the string, it's used within URLS within the software.)
 * To make the server available to connections from other computers. Locate this line: {{{ <!-- List of IP addresses to bind to [empty = all] --> }}} and replace {{{ 127.0.0.1 }}} in {{{ <string>127.0.0.1</string> }}} with either nothing or a specific, public ip address for your server.
Line 50: Line 41:
Cam's blog: [[BR]]
http://cam.moobox.org/blog/?p=5
[[BR]] [[BR]]
Lenfis blog: [[BR]] http://blog.jl42.de/index.php?/archives/231-Installation-of-the-Apple-Calendar-Server-on-Ubuntu-Edgy.html
[[BR]] [[BR]]
Calendar Server wiki: [[BR]]
http://trac.macosforge.org/projects/calendarserver/wiki/ [[BR]] [[BR]]

 /!\ [https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/160190 Bug #160190]: As of 2007-11-05 there is a bug in Evolution that prevents us from using this setup to authenticate to the caldavd server. The report has contributions which explain how to enable Evolution to connect. It's not included here, because it's important that you check out the bug yourself.


 * Run the server: {{{ ./run }}}

Warning /!\ THIS PAGE IS NOT FINISHED. DON'T FOLLOW ANY ADVICE IN IT UNTIL THIS LINE IS REMOVED.

This page explains how to install Apple's iCal Server (also called DCS or Darwin Calendar Server) on Ubuntu Server, though desktop variants should also work without any problems.

What is CalDAV?

CalDAV is a proposal for a standard protocol to enable calendar access via WebDAV. WebDAV, an abbreviation that stands for Web-based Distributed Authoring and Versioning, refers to the set of extensions to the Hypertext Transfer Protocol (HTTP) which allows users to collaboratively edit and manage files on remote World Wide Web servers.

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.

Ready?

  • Log into the server console or via ssh, so you can enter commands, and run  sudo -s  to get a root shell.

  • Install some software:

     apt-get install subversion libkrb5-dev attr curl build-essential libssl-dev python-pysqlite2 bzip2 

  • Install some more software:

     apt-get install curl zope3 python-xml python-pyopenssl python-dateutil python-xattr python-pysqlite2 python-twisted python-vobject python-kerberos 

  • We now need to edit our /etc/fstab file and add  user_xattr  to the options for the partition containing the CalDAV server, / in this case:  vim /etc/fstab  This is what the /etc/fstab change looks like: {{{ Before: UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro 0 1

After : UUID=94a96528-c889-45a1-bc98-d9d02ecdd59c / ext3 defaults,errors=remount-ro,user_xattr 0 1 }}}

  • Warning /!\ You must modify the settings for the partition on which you're installing the server. So if your /opt is on a different partition, you must set the  user_xattr  flag and modify the instructions below.

  • Remount the filesystem (to activate user_xattr):  mount -o remount / 

  • We'll install the server in /opt, so lets change into it:  cd /opt 

  • Let's download the server software itself using subversion:

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

  • Subversion has downloaded a lot of software, and created a directory for us, called CalendarServer. Let's change into it:  cd CalendarServer 

  • And run a script to download some necessary packages, configure, etc:  ./run -s 

  • Our CalDAV server is almost ready for action. Let's copy the test configuration so we can get it up as quickly as possible. Real configuration can wait:  cp conf/caldavd-test.plist conf/caldavd-dev.plist 

  • We do need to do a little configuration though:  vim conf/caldavd-dev.plist 

  • First change the hostname for the server. Locate the line  <!-- Network host name -->  and change  <string>localhost</string>  to  <string>your-real-hostname</string>  (That is, put the actual name of your server inside the string, it's used within URLS within the software.)

  • To make the server available to connections from other computers. Locate this line:  <!-- List of IP addresses to bind to [empty = all] -->  and replace  127.0.0.1  in  <string>127.0.0.1</string>  with either nothing or a specific, public ip address for your server.

    Warning /!\ [https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/160190 Bug #160190]: As of 2007-11-05 there is a bug in Evolution that prevents us from using this setup to authenticate to the caldavd server. The report has contributions which explain how to enable Evolution to connect. It's not included here, because it's important that you check out the bug yourself.

  • Run the server:  ./run 

CalendarServer (last edited 2014-07-13 21:21:52 by 5ac9a5f8)