Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Sync calendars and address books between Macs Network
One feature which is sorely missed by owners of multiple Macs is the ability to easily share their calendars and contacts between their computers. There are third-party software solutions, such as Mark/Space's The Missing Sync, but they cost money. There are also web services that offer calendar and contact synchronization, but they either cost money (such as MobileMe), or they are not completely dependable and compatible (such as Plaxo and Google).

Apple has another solution for you, in addition to MobileMe, and that's to get Mac OS X Server. Among other things, the server edition of OS X has a built-in calendar and contacts server. As of the Snow Leopard version, both are based on the newest standards -- CalDAV for calendars, and CardDAV for contacts. All you need to do from your client computer is to subscribe to the server from within iCal and Address Book, and you are all set for bi-directional sync.

Fortunately enough, these portions of OS X Server are also open-source, and are known as the Darwin Calendar and Contacts Server. The two servers are still separate projects (written in Python and based on the Twisted framework), and are very much under development.

The CardDAV server was only released in early 2010. Consequently, a lot of the installation, configuration and operation is only half-baked, and it takes some work to get to the point of the famous Apple "it just works" (well, they do want you to buy OS X Server). Nevertheless, once you have everything up and running, this is exactly what you get: the most dependable way to sync your calendars and contacts within a local network or over the internet, for free. You can designate any Mac on your network to be the server, and it will serve itself as well.

To help get this working, I've written up a detailed tutorial on how to get both CalDAV and CardDAV running on a Mac, thereby turning allowing you to easily sync contacts and calendars through that Mac.

[robg adds: While I've got the author's permission to replicate his how-to here, the reality is that, at over 8,000 words with a slew of associated images, I don't have the time available to reformat the article for displaying in the macosxhints template. So if you're interested in reading about syncing via CalDAV and CardDAV servers, visit the linked site.

To protect this hint, in the event that the original site ever vanishes, I've also created a PDF from the how-to, and placed it on the hints server: CalDAV and CardDAV how-to (1.38MB). I'd use the linked site first, though, as it's likely to be updated at some point.]
    •    
  • Currently 2.82 / 5
  You rated: 1 / 5 (11 votes cast)
 
[34,826 views]  

Sync calendars and address books between Macs | 32 comments | Create New Account
Click here to return to the 'Sync calendars and address books between Macs' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Sync calendars and address books between Macs
Authored by: pwsloss on Apr 30, '10 07:49:36AM

An inelegant but simple alternative method is to save archives from each calendar and address book. If your Macs are networked, you can cross-load the archives to the applications on other machines and sync by opening the imported archives. Just remember to make an archive of the existing data before changing sources, since existing content will be overwritten. I do this routinely to sync calendars and contacts in two iPhones with different users.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: caroleee on Sep 30, '12 09:39:36AM

hi trying to do this and not sure what you mean by "Just remember to make an archive of the existing data before changing sources, since existing content will be overwritten".
Thanks



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: chocky on Apr 30, '10 07:52:48AM

Rob, the link to the pdf seems to be broken.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: robg on Apr 30, '10 08:19:40AM

Hehe, it helps if I actually put the URL in the hyperlink :). All better now.

thanks;
-rob.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: zed on Apr 30, '10 07:56:00AM

If you want to install DarwinCalendar server on Centos (Linux) then have a look here:

http://www.rho.cc/index.php/calendar-and-contact-server/59-calendar-setup/100-installing-darwin-calendar-and-contact-server-version-3-on-centos-5

And if you have openVZ VM systems (Such as Proxmox) then you can always install this:

http://www.rho.cc/index.php/calendar-and-contact-server/59-calendar-setup/101-openvz-template-for-dcs-30-released

Where I've done all the hard work for you! :)

---
macosx.miraworld.tv



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: Coumerelli on Apr 30, '10 07:59:20AM

Without reading the entire linked article...is this a 10.6 only hint? For software compatablility reasons, I'm still running 10.5 on all my home computers. Any love for Leopard out there?

---
"The best way to accelerate a PC is 9.8 m/s2"



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: flammable on May 02, '10 10:11:14AM

IIRC, iCal on 10.5 supports CalDAV, but Address Book doesn't support CardDAV until 10.6.

I don't know if the open source code referenced in the hint works with 10.5, but you'll only be able to get half of the client end working in 10.5.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: agentx on Apr 30, '10 08:06:02AM

The Link is currently dead to the PDF.

Also CalDav Server and Address Book on OS X Server is far from "it just works!" ;-)

Personally i have a MobileMe account as that just works for my 3 machines and iPhone. And i see this as a very small price compared to loads of hours configuring/maintaining Server side functions etc. But would still be interested in checking this out



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: auco on Apr 30, '10 08:09:41AM

I'm using a nice app called addressbookserver ( http://addressbookserver.com ) since a couple of months now and I'm very happy with it. It's proprietary and costs money (not really much and from time to time they're giving away a couple of free licences). It syncs the whole address book (incl. groups) and calendars if you like. I never had an error so far. You just need to install the server version on your main computer and can then schedule your syncs. Plus you have access to your AB via http if you like.

Of course you should back up your addressbook before installing this, but this should be done from time to time anyways.

Note that I'm in no way affiliated or related to the author/s of abs ;-)



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: scott721 on Apr 30, '10 08:18:55AM

All of this work to save $99/year for a MobileMe account is absurd. I'm constantly amazed by the people willing to go to any lengths to save a few dollars to avoid a "pay" solution. MobileMe, despite its numerous flaws (and there are many - I've got a list of complaints) is a simple, elegant and fast solution to keep multiple Macs - and iPhones - synced. Going through these gyrations to save <$10/month just strikes me as a myopic view of what your time is worth.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: ddauerbach on Apr 30, '10 08:28:26AM

While we're giving shoutouts to other solutions, I'll say I'm a big fan of busycalc. It's basically a better ical, with very smooth syncing. (Wish they did contacts too...)



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: everkleer80 on Apr 30, '10 09:09:23AM

When I read this, I was thinking about checking it out as an alternative to renewing my MobileMe, but then again MobileMe does provide you with other services like the 20GB of network storage and the ability to locate/post messages to your iPod Touch/iPhone if you have one.

That said, I still might try this since I'm the type of guy (and I'm sure there's a lot of people like me out there) who does these things not so much to save money, but more just to see if they can do it!

Anyway, one downside I see here is I'm assuming this requires your "server" machine to be on in order to sync to any clients?



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: bitwise on May 03, '10 06:12:06PM

Your comment just rubs me the wrong way. As a small business tech support guy, I'm quite interested in this hint, but do not consider myself myopic. Without trying to think of every scenario in which this hint may offer a good solution, let me just put it this way. There are those for whom OS X server is the best solution and those for whom MobileMe is the best solution. I think there's plenty of room between those two for solutions such as this.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: moofie on May 03, '10 08:55:01PM

Problem is, MobileMe doesn't do this. They removed shared address books and calendars when .mac turned into mobileme, and if they've been added back in I sure can't figure out how to make them work.

I live in the future. Why can't I sync my address book with other users?

---
Why yes! I AM a rocket scientist!



[ Reply to This | # ]
Fruux
Authored by: capacity on Apr 30, '10 09:15:55AM
Fruux is a fantastic, and free!, utility that will sync contact (and groups!) from Address Book, calendars from iCal, bookmarks from Safari, and Notes (from Mail? I don't use this part) to any Mac you install it on.

It installs in the system preferences and all you have to do to start syncing is sign into your account (yes, this means your data is stored in a location that is not your computer; they use SSL and have the privacy policy linked on the FAQ page). For syncing your data, it is an excellent alternative to all of the options described in this hint.

http://fruux.com/

I am in no way affiliated with Fruux, just a happy user for well over a year.

[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: zadig on Apr 30, '10 10:19:57AM

I have a Google account, so here's what I did:

  • Subscribed to my calendar in OS X iCal. This gave me two calendars: my local calendar, and my Google calendar
  • (optional) Moved all of my local calendar entries onto my Google calendar, then deleted my local calendar (this ended up making my Google calendar the default, and got rid of the local calendar so I wouldn't accidentally use it).

    Now all of my calendar entries are created on Google by default.

  • Set up Address Book syncing with Google in Address Book prefs. (Preferences/Synchronize with Google)
  • Repeated all of this on each machine you want to sync to your Google data. You can include an iPhone in the mix too by syncing Google as an Exchange server.

One caveat: I did lose some entries one time where I guess iSync screwed up -- entered them on one Mac, and they vanished next time I synced.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: mkhaw on Apr 30, '10 10:26:28AM

Doesn't OS X Server cost money?

I second the recommendation of BusySync. It's an iCal-compatible enhanced replacement for iCal that can sync Mac calendars over LAN or WAN. If you decide it's not for you, you can easily revert back to iCal.

Edited on Apr 30, '10 10:27:20AM by mkhaw



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: agentx on Apr 30, '10 10:56:07AM

Yes Busycal really rocks i have just got rid of a ton a problems my users at one site were having with Google Cal & Delegation.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: david-bo on Apr 30, '10 12:51:04PM

The problem with CalDAV calendars are that they can not be synced to a phone (not iPhone that is) since they are not listed i iSync. Or is there a solution for this problem?



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: kaih on Apr 30, '10 06:11:03PM

You can set up a CalDAV account on the iPhone to sync over-the-air with such a server, if it's internet accessible via http and https.

---
k:.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: david-bo on May 01, '10 03:35:38AM

I don't have an iPhone



[ Reply to This | # ]
Another commercial product...
Authored by: kaih on Apr 30, '10 06:10:08PM
Seeing as others are posting links to commercial products, I can wholeheartedly recommend Kerio Connect

* Disclaimer - I'm a reseller of this product, but I'm not linking to my site and I use it personally as it's a very mature and stable product.

It is a Mac, Linux or Windows-based replacement for Exchange. It has IMAP and POP for mail, CalDAV for calendars, CardDAV for address book entries (requires 10.6 on the client) and ActiveSync support for mail, contacts and calendars over-the-air. Oh, and it's also got a great webmail interface that rivals OWA.

The iCal and Address Book syncing in it are fantastic and you can sync your contacts and calendar appointments to your iPhone (or other mobile device), have them on your Mac(s) and have access to them via the webmail interface as well.
---
k:.


[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: theboyk on May 03, '10 07:46:50AM

I just tried this under 10.6.3 and when I got to the part where I enter...

./run -s

I get the following error:

Building PyXML...
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1

Anyone have any suggestions on what's wrong?

Regards,
Kristin.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: david-bo on May 04, '10 06:14:32AM

You need to install the developer tools.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: js5459 on May 05, '10 07:21:02AM

I'm using Syncmate for syncing contacts and calendars between two macs. This options is free (they have free edition). And if you need to sync music, photos or any other data - Syncmate offers expert edition.

http://mac.eltima.com/sync-mac.html



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: yanro on May 14, '10 09:38:33AM

Hi
tried my best, but got stuck with following message in the terminal:

Removing build directory /Users/yann/calendar/PyXML-0.8.4/build...
Removing pyc files from /Users/yann/calendar/PyXML-0.8.4...

Building PyXML...
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1
Macintosh:CalendarServer yann$

anyone can help me?

thanx



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: ClassicalDude on May 15, '10 01:27:39PM

Wow - I did not anticipate this. I am the author of the original tutorial, and I had no idea Rob finally posted this...

A few words - yes, you need to install the developer tools in order for gcc to work.

The most recent builds of Darwin CalDAV also include the CardDAV server integrated. I will update my tutorial accordingly as soon as I have time.

As for syncing with phones - iSync allows the synchronization of CalDAV calendars, but not of CardDAV address books. Still half-baked. I solved the address book problem with smart folders that show me all new contacts from my phone.

There is a comments section in the tutorial's bottom. I will try my best to help and to answer all questions.

As for the purpose of doing this: well, I did not have savings in mind. I just wanted to see if I could get it to work. And once I did, it proved to be more reliable than any other solution I tried. So if you are tech-savvy, have time and patience (and remember to back up everything before you start!) - it is worth it.

Oh, and yes - the computer acting as server does need to be on. I constantly remote-sync my laptop with my desktop using a VPN connection. I think you can achieve the same by using a dynamic DNS service and forwarding the specified ports (see the tutorial) from your router to the server - but this is a very insecure way. A more secure, much easier way, would be to forward the proper ports with an SSH tunnel. If you guys want me to add this to the tutorial, let me know.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: yanro on May 16, '10 04:30:09AM

thanx!

how do I install developper tools? is that the same as Xcode?

and: how do I do the following?
"Oh, and yes - the computer acting as server does need to be on. "

thanx



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: ClassicalDude on May 16, '10 04:40:31AM

1. Yes, install Xcode.
2. Just make sure that after everything is up and running, the computer acting as the server is turned on whenever you are trying to synchronize from a different computer.

If the server computer is not on, or if you cannot establish a connection, everything will be saved on the client computer locally, and synchronized the next time you connect to the server.



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: yanro on May 16, '10 05:12:26PM

excellent!

worked fine until the last thing to be done: where is HOME/Library? is that like Macintosh/Library oder is it <i>MyUserName</i>/Library?

tried copying your file into both locations (one at a time). logged out and in again.
When opening iCal there is an error saying:
"Der Server meldet einen Fehler.
Die Verbindung zum Server 192.168.1.37 wurde abgelehnt."

Meaning: "the server says there is an error. the connection to the server 192.168.1.37 has been refused."

Any help possible?

And when I go into the terminal and want to run the server in calendar/CalendarServer using ./run the following error message appears:
Macintosh:CalendarServer yann$ ./run

Building PyXML...

Building PyKerberos...

Building PyOpenDirectory...

Building PyDirector...

Using python as Python

Starting server...
exec python /Users/yann/calendar/Twisted/bin/twistd -n caldav -f /Users/yann/calendar/CalendarServer/conf/caldavd-dev.plist -o ProcessType=Combined
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/zope/__init__.py:1: UserWarning: Module twisted was already imported from /Users/yann/calendar/Twisted/twisted/__init__.pyc, but /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python is being added to sys.path
__import__('pkg_resources').declare_namespace(__name__)
/Users/yann/calendar/Twisted/twisted/mail/smtp.py:10: DeprecationWarning: the MimeWriter module is deprecated; use the email package instead
import MimeWriter, tempfile, rfc822
/Users/yann/calendar/CalendarServer/calendarserver/tap/caldav.py:49: DeprecationWarning: mktap and related support modules are deprecated as of Twisted 8.0. Use Twisted Application Plugins with the 'twistd' command directly, as described in 'Writing a Twisted Application Plugin for twistd' chapter of the Developer Guide.
from twisted.scripts.mktap import getid
Another twistd server is running, PID 3923

This could either be a previously started instance of your application or a
different application entirely. To start a new one, either run it in some other
directory, or use the --pidfile and --logfile parameters to avoid clashes.

launchctl bsexec failed: No such file or directory
Macintosh:CalendarServer yann$


is there maybe a link to the first problem?

thanx!



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: ClassicalDude on May 16, '10 09:13:57PM

When I wrote HOME/Library I meant that HOME is your home folder, meaning your username.

As for the errors - it seems that the first time you tried to connect to the server it was still not up and running, and the second time you tried to activate it it was already up...

When a connection is refused, it means that either the service you are trying to reach is not running, or that you did not specify the right port in iCal.

When you try to run the server manually, use the command:
./run -d

The -d switch sends it to the background.

Edited on May 16, '10 09:15:29PM by ClassicalDude



[ Reply to This | # ]
Sync calendars and address books between Macs
Authored by: yanro on May 17, '10 11:56:31AM

now it functions all right!

in the downloaded file I had to change the path from home/CalendarServer/run to home/calendar/CalendarServer.

Maybe you want to correct this...

elsewhise everything is smoothly running. marvelous! I had been looking for such a feature for weeks!



[ Reply to This | # ]