OpenLDAP com suporte ao MySQL

Demostrarei nesse artigo o serviço OpenLDAP com suporte ao MySQL passo-a-passo. Utilizando Debian 5, usei pacotes pré-compilados de dependências para compilação do OpenLDAP e os demais.

[ Hits: 62.139 ]

Por: Cristiano NiX em 13/08/2009


Introdução



OpenLDAP é um software livre que implementa o protocolo LDAP.

Ele é usado para centralizar informações de forma hierárquica, por exemplo, centralizar senhas de usuários de diversos servidores em uma única base.

Também é usado para centralizar aplicativos de servidores como (proxy, samba, ftp, emails, lista de endereços), entre outros.

O LDAP permite a centralização de informações sobre usuários, senhas, diretórios home etc, em um único lugar na rede.

LDAP - Protocolo Leve de Acesso a Diretórios (tuttle 2003). Afirma que o LDAP é um padrão aberto capaz de facilitar, de forma flexível, o compartilhamento, a manutenção e o gerenciamento de grandes volumes de informações, definindo um método-padrão de acesso e atualização de informações dentro de um diretório.

O que é um diretório?

Diretório literalmente significa "algo usado para indicar direções", ou seja, algo que indica um caminho para se chegar àquilo que se procura.

Exemplo disso: a lista telefônica, que você utiliza para pegar o endereço, telefone e tudo mais, caso queira comprar um lanche ou algo do tipo.

Qualquer aplicação que tiver suporte ao protocolo LDAP poderá se conectar a sua base e obter as informações necessárias.

A procura do LDAP funciona entrando na raiz e vai percorrendo os nós filhos até achar a informação desejada, de forma organizada, orientada a objetos.

Não se usa mais a árvore de diretórios do estilo X.500, é usado agora estilo DNS.

O objetivo dessa documentação é a integração do OpenLDAP com banco de dados MySQL, ao invés de usar o Berkeley DB.

No caso é muito usado quando queremos fazer o OpenLDAP se adequar em alguma aplicação proprietária ou software livre que já tenha sua base de usuários e senhas cadastradas do banco de dado MySQL.

A compilação foi feita usando Debian5 em uma máquina virtual, 256 de RAM, 10 GB HD.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Ambiente de teste - preparação
   3. Configurando código-fonte e instalando BerkelyDB e OpenLDAP
   4. Setando os binários no PATH e setando o OpenLDAP na inicialização
   5. Configurando o OpenLDAP para acesso ao MySQL (parte1)
   6. Configurando o OpenLDAP para acesso ao MySQL (parte2)
   7. Configurando o OpenLDAP para acesso ao MySQL (parte3)
   8. Configurando o OpenLDAP para acesso ao MySQL (parte4)
   9. Fazendo o OpenLDAP trabalhar com MySQL (final)
Outros artigos deste autor

Debian Squeeze - Instalando VirtualBox com acesso WEB via phpVirtualBox

Leitura recomendada

ISPConfig 3.1 - Instalação no Debian 9

Configurando o Arch Linux

Sincronizando o Linux com Palm USB

Debian + Xorg + Nvidia - Um conceito visual para desktops

Squid com WCCP

  
Comentários
[1] Comentário enviado por dtux em 14/08/2009 - 08:25h

Esse eh meu teacher Clodonil eh o fodão no OpenLdap!!!!
Aproveitando a oportunidade, para divulgar o curso http://www.nisled.org/?page_id=924

[2] Comentário enviado por edusachs em 14/08/2009 - 08:56h

Olá,

Tenho algumas dúvidas, já trabalho com OpenLDAP alguns anos, mas ainda não implementei com MySQL.

1 - Porque você precisou fazer essa integração? qual foi a real necessidade?
2 - Você consegue adicionar, modificar, deletar atributos da base LDAP usando as ferramentos do OpenLDAP? (ldapadd, ldapmodify, ldapdelete)

Também fiz alguns artigos sobre OpenLDAP:
http://eduardosachs.org/mediawiki/

Valeu!

[3] Comentário enviado por cristianodebian em 14/08/2009 - 09:31h

olá

1 - Geralmente usa-se essa implementação em um sistema proprietário que tem como base o mysql.
2 - Quando se usa o método openldap + mysql, você pode modificar no próprio phpmyadmin, pois toda a estrutura estará lá agora e nao no BerkeleyDB.

[4] Comentário enviado por dtux em 14/08/2009 - 10:18h

Nessa historia vc ja estara trabalhando com 3 bancos de dados.

[5] Comentário enviado por cristianodebian em 14/08/2009 - 10:22h

Você estará trabalhando apenas com mysql, e nao BerkeleyDB.
Apenas 1 banco, dai você pode inserir tudo atrávés do phpmyadmin ou por ferramentas backends

[6] Comentário enviado por malanga em 14/08/2009 - 23:07h

Muito interessante mesmo Cristiano parabens.

gostaria de saber se em testes de velocidade teve alguma perda em relacao
a base estar no Berkeley ou Mysql e qual a quantidade de registros que
voce testou.


Abracos.

[7] Comentário enviado por cristianodebian em 20/08/2009 - 23:34h

Olá tudo bem ? Bom o berkeleyDB é mais rápido por ser nativo do openldap. E não testei ainda a quantidade de registros que ele suporta.
Valeu pela pergunta.
abraços.

[8] Comentário enviado por blade_ander em 16/09/2009 - 23:13h

Boa noite,

Gostaria de saber se algué sabe como sincronizar o horário do linux no windows pois estou tentando colocar o servidor Openldap para sincronizar hora no linux para colocado no dominio do AD e não consigo.

Alguem tem uma dica?

Obrigado.

[9] Comentário enviado por ronil21 em 20/01/2010 - 16:20h

cristianodebian, sera que você poderia me ajudar, estou com o seguinte problema, utilizo um ambiente virtual de aprendizagem (moodle) e sua base de usuarios esta no mysql, necessito importar estes usuarios para o openldap. Como devo proceder? Desde ja agradeço pela ajuda

[10] Comentário enviado por jaalima em 12/04/2011 - 11:19h

Primeiro vou te parabenizar pelo o artigo,muito legal!!!
Agora tenho um problema... gostaria que vc podesse me ajudar, utilizo um software de gestao de pessoas que utiliza o mysql em seu banco de dados, gostaria de importar as informações dos funcionarios para o ldap, o que eu tenho que fazer?? XD
vlw

[11] Comentário enviado por guitoneloto em 26/12/2011 - 10:01h

Pessoal só uma coisa, eu usei o OpenLDAP que estar no artigo e deu erro no compilação, eu baixei denovo, descompactei e o erro continuou, então usei o 2.4.28 versão estavel e deu tudo certinhooo.
Bom artigo esse, pois eu estava procurando maneiras de usar o SAMBA, Squid, OpenVpn com o Mysql e estava muito difícil.

Link do openldap V:2.4.28

ftp://ftp.openldap.org/pub/OpenLDAP/openldap-stable/openldap-stable-20100719.tgz

[12] Comentário enviado por nicolascloss em 02/03/2012 - 15:05h

Boa Tarde!
Estou com um problema, estou seguindo o passo-a-passo desse tutorial, mas tranquei em uma parte, nessa parte:

# ./configure --prefix=/opt/ldap --sysconfdir=/opt/ldap/etc --enable-crypt=yes --enable-modules=yes --enable-syslog=auto --enable-slurpd=yes --enable-bdb --enable-sql=yes

Conferindo se faltou alguma dependência do OpenLDAP:

# make depend

Compilando o código-fonte e instalando o aplicativo no diretório /opt/ldap:

# make && make install
Onde foi que não pude executar os comandos # make depend e # make && make install
Aparece a seguinte mensagem:
# make depend
Make: *** Sem regra para processar o alvo ‘dpend’. Pare.
e # make && make install
Make: *** Nenhum alvo indicado e nenhum arquivo make encontrado. Pare.
Vocês podem me dar alguma ajuda? Já aproveitando, quando fui editar o arquivo nessa parte:
Use seu editor predileto, no caso usei o vim:

# vi /etc/profile

Tecle "i" para inserir os caminhos.

Modificar o PATH atual de:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Para:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/db4725/bin:/opt/odbc/bin:/opt/ldap/bin:/opt/ldap/libexec:/opt/ldap/sbin"

O arquivo que eu tenho é bem diferente!


Espero ajuda!!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts