slapd mdb backend on Debian

Debian's slapd package does not let you create a database using the Memory-Mapped Database backend. Here's how to do it. These steps were tested with version 2.4.31-1 of the slapd package.

Note that these steps will create a new database from scratch! If you want to migrate your existing database then make sure you do a backup & restore before/after the procedure.

# service slapd stop
# rm -r /var/lib/ldap/* /etc/ldap/slapd.d/*
# cp /usr/share/slapd/slapd.init.ldif init.ldif

Make the following replacements in init.ldif. See slapd-mdb(5) for additional configuration options.

  • s/@BACKEND@/mdb/g

  • s/@BACKENDOBJECTCLASS@/olcMdbConfig/g

  • s/@SUFFIX@/dc=example,dc=com/g

  • s/@PASSWORD@/admin/g

  • g/olcDbConfig/d

Initialize a new slapd config directory:

slapadd -v -F /etc/ldap/slapd.d -b cn=config -l init.ldif

Create the mdb database:

cat <<EOF > data.ldif
 dn: dc=example,dc=com
 objectClass: top
 objectClass: dcObject
 objectClass: organization
 o: Example Corp
 dc: example

 dn: cn=admin,dc=example,dc=com
 objectClass: simpleSecurityObject
 objectClass: organizationalRole
 cn: admin
 description: LDAP administrator
 userPassword: admin
EOF
slapadd -v -F /etc/ldap/slapd.d -b dc=example,dc=com -l data.ldif

Pay attention to any error messages output by slapadd in the above steps. If anything fails you should remove the relevant databases and re-run slapadd.

Fix up permissions and start the server:

chown -R openldap:openldap /var/lib/ldap /etc/ldap/slapd.d
service slapd start

That wasn't so hard!


CategoryTechnote

robots.org.uk: DebianSlapdMdb (last edited 2017年03月14日 15:17:05 by sam )

© Sam Morris <sam@robots.org.uk>.
Content may be distributed and modified providing this notice is preserved.

AltStyle によって変換されたページ (->オリジナル) /