"criação de schemas, como criar o db.ldif."
Isso vc só precisa fazer uma vez, para criar o DB principal, e a conta do Admin, feito isso, instale o PHPLDAPADMIN e seja feliz, porque a notação do LDAP é o que chamo de "brainfuck", mas com a interface é bem funcional.
O pessoal geralmente usa o LDAP pra unificar as contas de usuário, de alguns serviços que citou já ouvi falar, como o samba, e o vstpd e apache, se não me engano o squid também.
geralmente isso é feito por módulos, e às vezes com alguns Daemons, lhe falarei do que precisei fazer e os problemas que encontrei, porque por enquanto é o que sei, mas isso pode resumir alguns dos problemas que você pode passar também.
Usei o LDAP para unificar a base de dados de usuários, e num laboratório Linux, os usuários poderem usar suas contas em qualquer máquina, se logam no LDAP, e montam o seu home na máquina que for.
o que precisei, principalmente dois módulos, que fazem a autenticação, eles são especificados em /etc/pam.d/ (em todos os serviços que usarem a autenticação)
(guarde esse diretório, será extremamente útil quando você for configurar a autenticação, geralmente se dá por aí)
especifiquei o módulo pam_ldap.so nos arquivos login, gdm ssh, enfim o que eu queria autenticar por LDAP. O módulo é pam_ldap (pam_ldap.so) procure esse arquivo, se estiver em /etc/security é que já está instalado.
outra coisa que vai precisar é o daemon NSS, ele pega outras informações necessárias no LDAP(no meu caso pelo menos, como gid, uid), ficou incrível, porque criamos o grupo e o usuário no LDAP, e o NSS importou o usuário e grupo, enquanto o usuário estava logado, as permissões do home dele eram dele, e o grupo, sendo que nenhum dos dois existia na máquina local, maravilha.
pra configurar o NSS vc edita o arquivo /etc/nsswitch.conf
ele tem algo como o seguinte(o que é relevante você tem que usar o bom senso de acordo com o serviço)
passwd: files
group: files
shadow: files
isso pra mim ficou:
passwd: files ldap
group: files ldap
shadow: files ldap
ou seja, ele procura o usuário em passwd e shadow, se não achar, procura no LDAP, sim, é na ordem que se escreve, se inverter a ordem ele primeiro procura no LDAP.
configurado isso, inicie o daemon /etc/init.d/nssd start
de acordo com a implementação que você quiser, alguém com certeza já fez, e tem anotado as opções, você vai ter que alterar o /etc/pam.d/<serviço> que você quiser logar com o LDAP, mas uma coisa que vi ser padrão é adicionar o modulo pam_ldap.so no arquivo login USANDO A OPÇÃO use_first_password, se você não fizer isso, ele pergunta duas senhas, uma pro sistema, e outra pro LDAP, com essa opção, ele tenta a mesma senha no outro serviço.
respondendo as outraws perguntas, geralmente o pessoal usa o LDAP pra centralizar o gerenciamento de usuários para os vários serviços, você pode encontrar uma documentação decente nos redbooks da IBM, e leve fé no google amigo, achei muita coisa boa lá, nego implementando até SHFS (sistema de arquivos por SSH) com LDAP.
mas vamos ver no que mais posso ajudar, qq coisa posta aí!