Adding Samba’s ldap schema to CentOS Directory Server is a short how-to describing how to add Samba’s LDAP schema to CentOS’s Directory Server.  This how-to is permanently stored at http://www.rainingpackets.com/wiki/doku.php?id=adding_samba_s_ldap_schema_to_centos_directory_server. This how-to is based on the information found in  http://people.redhat.com/astokes/samba_rhds.pdf and http://directory.fedoraproject.org/wiki/Howto:Samba.

History

CentOS Directory Server is a bit of a different beast.  Unlike OpenLDAP,  Directory Server does not use regular scheme files.  Instead it stores its schema files in LDIF format.  This means you cannot just drop in schema files like you can with OpenLDAP.   Instead you have to convert the schema files to LDIF format.  Fortunately there is already a Perl script out there to do that, ol-schema-migrate.pl.

Prerequisites

  • CentOS Directory Server is installed and functional. You’ll need the instance name.
  • You have Samba’s LDAP schema on hand. The schema is included in the samba package.
  • A copy of ol-schema-migrate.pl, available at http://directory.fedoraproject.org/download/ol-schema-migrate.pl.
  • Perl installed so you can run ol-schema-migrate.pl.

Converting and installing the Samba Schema

  • In the following steps, our directory server instance is named dirserv1.
  • Directory Server stores it’s schema files in /etc/dirsrv/slapd-<instance name>/schema.
  1. Download the ol-schema-migrate.pl scriptif you haven’t already.
    # wget http://directory.fedoraproject.org/download/ol-schema-migrate.pl
  2. Convert the schema file to ldif format and put in in the directory server’s schema directory
    # perl ./ol-schema-migrate.pl -b /usr/share/doc/samba-3.0.33/LDAP/samba.schema > /etc/dirsrv/slapd-dirserv1/schema/61samba.ldif
  3. Restart the directory server
    # service dirsrv restart