Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search
Last modified 22 months ago Last modified on 07/12/12 11:16:19

Frequently Asked Questions

Troubleshooting the Server

My server fails to start with this error: "Inappropriate file type for dynamic loading". What's up?

This error often happens when the Python tries to load a C extension module built for a different architecture than Python was built for. For example, if you have a module built for PowerPC and an Intel Python, you'll get this error when Python tries to load the module.

The Rosetta PowerPC emulator on Intel-based Macs can actually confuse users with it's magic because a PowerPC Python will run on an Intel Mac, but then fail to load a plugin built for Intel.

Most Python modules are written in Python, and therefore platform-independant, but the Calendar Server uses several C extension modules. Make sure that your Python and all C extension modules are built for the same architecture.

Server logs show lots of: "Unable to find any record with GUID XXX" errors after deleting users from the directory. What's up?

Scheduling over Email (iMIP)

How do I configure Calendar Server to send email invitations?

Calendar Server can send invitations to "external" users (i.e., those without an account on the server) via email, using the iCalendar Message-Based Interoperability Protocol (iMIP - http://tools.ietf.org/html/rfc2447 ). If you create an event and add an attendee which has an email address but does not have a local account, the server will generate an email message with a icalendar attachment containing the event details and a request for response. If the attendee uses an iMIP-compatible client to respond to the invitation, the server will parse the reply and update the organizer's copy of the event accordingly.

What is required to set up iMIP:

  • An SMTP server
  • An IMAP or POP server
  • An email account dedicated to the calendar server -- it is important that you not use your own email account for this because the server will delete any messages that appear in this account

Steps:

  1. Create an IMAP or POP account on your mail server solely for use by the calendar server (used to send a receive email)
  2. Create a user account on the calendar server (used to do authentication between calendar server and mail gateway process)
  3. Edit caldavd.plist:
    • iMIP
      • Enabled = true
      • Username = username for account you created in step 2
      • Password = password for account you created in step 2
      • Sending
        • Server = your SMTP server name
        • Port = the port your SMTP server is listening on
        • UseSSL = true/false depending on whether your SMTP server is using SSL
        • Username = username to log in to SMTP (leave empty if no authentication is required by your SMTP server)
        • Password = password to log in to SMTP (leave empty if no authentication is required by your SMTP server)
        • Address = used as the From: address
      • Receiving
        • Server = your inbound (IMAP/POP) server name
        • Port = the port your IMAP/POP server is listening on
        • Type = either pop or imap
        • UseSSL = true/false depending on whether your IMAP/POP server is using SSL
        • Username = username to log in to IMAP/POP (do not use your own email account for this or your inbox will be wiped out)
        • Password = password to log in to IMAP/POP
        • PollingSeconds = how often to poll for incoming replies
      • AddressPatterns = an array of regular expressions defining which email addresses to send iMIP messages to -- if an external attendee's email address does not match these patterns, no invitation will be sent to them.
  4. Restart calendar server

Troubleshooting iMIP

Mail gateway didn't find a token in message -- Calendar Server uses "plus addressing" to encode a token into the reply-to address for email invitations. That way, when a reply comes back, the token can be used to look up the appropriate organizer, attendee, and event to update. This special tokenized email address is not only in the reply-to field, but also substituted for the organizer's email address within the embedded icalendar body attached to the invitation. So iMIP-aware clients should direct the reply to the email address including the token. If that token is missing, the iMIP reply is not processed.

iMIP injection principal not found: com.apple.calendarserver -- By default, Calendar Server assumes there is a user named com.apple.calendarserver on the system and it uses that account to authenticate requests between the calendar server processes and the mail gateway process. If you're not on an OS X server, you'll need to create a user account for this purpose, and put its username and password into the caldavd.plist as described in the steps above.

Configuring for LDAP

How do I configure Calendar Server to use LDAP for users, groups, locations, and resources?

See Configuring LDAP