I recently purchased a pair of Apple Xserve boxes for a project at work, with the goal of providing a functional Mac OS X desktop environment via our existing Sun Ray thin-clients. These two systems will be setup using Aqua Connect aka ACTS in a load-balanced, Windows Terminal Server like fashion.

In order to make this production worthy, it needs to integrate well with my existing LDAP and NFS environment. Snow Leopard Server comes with its own built-in Open Directory based on OpenLDAP, but my LDAP instances are based on OpenDS. In researching what would be necessary to make SLS talk to OpenDS, I came across Brent Kearney’s excellent Integrating Leopard Server With UNIX LDAP blog posts. His work is similar to a post by Rajeev Karamchedu that covers this for Tiger. In both cases they are using Sun’s Directory Server product which is similar to but different than OpenDS.

Suffice it to say that I’m not going to reproduce Brent’s work but I will document changes that I’ve had to make in order to make it work on Snow Leopard. The first of such changes was converting the apple.schema file to something that OpenDS would be happy with. This was accomplished by using Ludovic Poitou’s script for converting OpenLDAP schemas to OpenDS LDIF format. The resulting file still had a few errors that needed to be manually corrected but they were trivial. A working version of the file can be downloaded here. Note that the original apple.schema relies on some parts of the Samba schema. I modified mine to use 50-samba.ldif which came from the OpenDS wiki.

With these two extended schema files in place, all of the special Apple LDAP attributes are now available to me. The files should also work with OpenDJ which I plan on migrating to in the near future.