Configuration file template has the following things that you should replace:
@BACKEND@ with bdb (Berkeley DB transactional backend is the type of database used, this is the recommended for a normal usage). There are other possibilities: hdb (hierarchical variant of dbd backend), perl (perl programmable backend), ldif (uses ldif files to store information, only for very small systems), etc.
@CHECKPOINT@ with checkpoint 512 30: How often to checkpoint the DB transaction log, these are default values, where 512 are kilobytes and 30 seconds.
@SUFFIX@ with the suffix of your database (for example dc=mswl,dc=com or something like that).
@ADMIN@ with the admin DN (typically cn=admin,dc=mswl,dc=com).
@BACKENDOPTIONS@ (only some versions of Debian) with this:
loglevel: 0, 1, 2, 4, 8 ... more level more information...
See previous reference or “man 5 slapd.conf”.
sizelimit: 500. The number of entries that is returned for a search operation.
You need to configure the options for your database, each database needs all the configuration params below. For example, configuring one example database:
rootdn “cn=admin,dc=mswl,dc=com” #If you want to grant root privileges...
directory: /var/lib/ldap. Is that OK for you?
If you want several trees you'll have to create a new directory for each one.
lastmod on: Activate lastmod overlay.
index objectClass eq. Index options for first database. You'll need to think about it when you setup real life systems, because you could need more indexes. “Eq” is the mode openldap create the index, other options are: pres (present), sub (substring) approx (approximation).