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: 66.093 ]

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

Configuração da rede no Conectiva 10

Configurando um Cluster de Tomcat com Balanceamento de Carga

Implantando rsync server no Windows para conexões via Linux

Quota - Criando e administrando no CentOS

Caracteres especiais no teclado Linux: como adaptar às necessidades do escritor

  
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 removido 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts