H1: Backends
+Backends do the actual work of storing or retrieving data in response
+to LDAP requests. Backends may be compiled statically into {{slapd}},
+or when module support is enabled, they may be dynamically loaded.
+
+If your installation uses dynamic modules, you may need to add the
+relevant {{moduleload}} directives to the examples that follow. The
+name of the module for a backend is usually of the form:
+
+> back_<backend name>.la
+
+So for example, if you need to load the {{hdb}} backend, you would configure
+
+> moduleload back_hdb.la
H2: Berkeley DB Backends
> rootdn "cn=LDIF,dc=suretecsystems,dc=com"
> rootpw LDIF
-You'll notice that when compared to examples below, there is no:
-
-> moduleload back_ldif.la
-
-directive. This is because {{back_ldif}} is always built in by default as it is
-used by {{slapd-config(5)}}, which again is built in by default.
-
If we add the {{dcObject}} for {{dc=suretecsystems,dc=com}}, you can see how this
is added behind the scenes on the file system:
needed to instantiate a monitor backend:
> include ./schema/core.schema
->
-> modulepath /usr/local/libexec/openldap
-> moduleload back_monitor.la
>
> database monitor
> rootdn "cn=monitoring,cn=Monitor"
This has to be one of the shortest configurations you'll ever do. In order to
test this, your {{F: slapd.conf}} file would look like:
-> modulepath /usr/local/libexec/openldap
-> moduleload back_null.la
-
> database null
> suffix "cn=Nothing"
> bind on
-The first two directives are only applicable if you've enabled module support and
-haven't "built-in" {{slapd-null(5)}} support (why would you?).
-
{{bind on}} means:
{{"Allow binds as any DN in this backend's suffix, with any password. The default is "off"."}}
> include ./schema/core.schema
>
-> modulepath /usr/local/libexec/openldap
-> moduleload back_passwd.la
->
> database passwd
> suffix "cn=passwd"
> include /usr/share/openldap/schema/core.schema
> include /usr/share/openldap/schema/cosine.schema
-> modulepath /usr/lib/openldap
-> moduleload memberof.la
+>
> authz-regexp "gidNumber=0\\\+uidNumber=0,cn=peercred,cn=external,cn=auth"
> "cn=Manager,dc=example,dc=com"
> database bdb
> pidfile ./slapd.pid
> argsfile ./slapd.args
>
-> modulepath /usr/local/libexec/openldap
-> moduleload back_bdb.la
-> moduleload back_ldap.la
-> moduleload translucent.la
->
> database bdb
> suffix "dc=suretecsystems,dc=com"
> rootdn "cn=trans,dc=suretecsystems,dc=com"