A seguir está um exemplo de arquivo de configuração, intercalado com texto explanatório. Ele define duas bases de dados para lidar com partes diferentes da árvore X.500, e ambas são instâncias de bases de dados LDBM. A numeração de linhas foi acrescentada para referência e não consta do arquivo real. Primeiro, a seção de configuração global:
1. #
exemplo de arquivo de configuracao - secao global
2. include /usr/local/etc/schema/core.schema
3. referral ldap://root.openldap.org
4. access
to * by * read
A linha 1 é um comentário. A linha 2 inclui outro arquivo de configuração contendo o núcleo das definições de esquemas. A diretiva referral na linha 3 significa que consultas que não forem locais a uma das base de dados definidas a seguir será redirecionada ao servidor LDAP rodando na porta padrão (389), no servidor root.openldap.org. A linha 4 é um controle de acesso global. Ela será utilizada quando nenhum controle de acesso de uma base de dados puder ser utilizado, ou para objetos que não fazem parte de nenhuma base de dados (como a raiz DSE).
A próxima seção do arquivo de configuração define um backend LDBM que irá responder consultas por objetos na porção da árvore "dc=exemplo,dc=com,dc=br". A base de dados será replicada para dois slapds escravos. Serão mantidos índices para diversos atributos, e o atributo senhaUsuario é protegido contra acesso não autorizado.
5. #definicao de um ldbm para exemplo.com.br
6. database ldbm
7. suffix "dc=exemplo,dc=com,dc=br"
8. directory /usr/local/var/openldap
9. rootdn "cn=Manager,dc=exemplo,dc=com,dc=br"
10. rootpw segredo
11. # diretivas de replicacao
12. replogfile /usr/local/var/openldap/slapd.replog
13. replica host=escravo1.exemplo.com.br:389
14. binddn="cn=Replicator,dc=example,dc=com"
15. bindmethod=simple credentials=segredo
16. replica host=escravo2.exemplo.com.br
17. binddn="cn=Replicator,dc=example,dc=com"
18. bindmethod=simple credentials=segredo
19. # definicoes de indices de atributos
20. index uid pres,eq
21. index cn,sn,uid pres,eq,approx,sub
22. index objectClass eq
23. # definicoes de controle de acesso
24. access to attr=senhaUsuario
25. by self write
26. by anonymous auth
27. by dn="cn=Admin,dc=example,dc=com" write
28. by * none
29. access to *
30. by self write
31. by dn="cn=Admin,dc=example,dc=com" write
32. by * read
O início da definicao da base de dados é marcada pela palavra-chave database na linha 6. A linha 7 estabelece o sufixo DN para consultas a serem encaminhadas para esta base de dados. A linha 8 configura o diretório onde irão residir os arquivos da base de dados.
As linhas 9 e 10 identificam a entrada do "super usuário" da base de dados, e a senha associada. Esta entrada não é sujeita a controle de acesso ou restrições de tempo e espaço.
As linhas 11 até 18 configuram replicação. A linha 11 estabelece o arquivo de log de replicação (onde as mudanças na base de dados são "logadas" - o arquivo é escrito por slapd e lido por slurpd). Linhas 12 a 14 especificam o hostname e a porta para um servidor replicado, o DN com que se identificar quando são feitas modificações, o método de autenticação (simples) e as credenciais (senha) para o binddn. As linhas 15 a 18 estabelecem um segundo local de replicação. O capítulo Replicação com slurpd contém mais informações sobre essas diretivas.
As linhas 20 a 22 indicam os índices a serem criados e mantidos para vários atributos.
As linhas 24 a 32 estabelecem controle de acesso para entradas na base de dados. Para todas as entradas, o atributo senhaUsuario pode ser escrito apenas pelo próprio usuário da entrada e a entrada "admin", mas pode ser lido por usuários autenticados.
A próxima seção do arquivo de configuração exemplo define outra base de dados LDBM. Esta irá responder consultar para a subárvore dc=exemplo,dc=net,dc=br. Sem a regra na linha 38, acesso de leitura iria ser disponibilizado para usuários anônimos devido à regra na linha 4.
33. #definicao ldbm para exemplo.net.br
34. database ldbm
35. suffix "dc=exemplo,dc=net,dc=br"
36. directory /usr/local/var/ldbm-exemplo-net-br
37. rootdn "cn=Manager,dc=example,dc=com"
38. access to * by users read