Pular para o conteúdo

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.
Cristiano NiX cristianodebian
Hits: 67.935 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 5: Configurando o OpenLDAP para acesso ao MySQL (parte1)

Nesse estudo de caso não abordarei sobre configurações do MySQL. Então mão na massa!

Como administrador do sistema Linux, vamos criar a base de dados chamada "ldap".

# mysqladmin -u root -p create ldap

Agora vamos alterar o arquivo de configurar slapd.conf para se utilizar do modo SQL. Seguem as instruções abaixo.

Use seu editor predileto, no caso usei vim.

# vi /opt/ldap/etc/openldap/slapd.conf

allow bind_v2

# Schema and objectClass definitions
include     /opt/ldap/etc/openldap/schema/core.schema
include     /opt/ldap/etc/openldap/schema/cosine.schema
include     /opt/ldap/etc/openldap/schema/inetorgperson.schema

pidfile     /opt/ldap/var/run/slapd.pid
argsfile    /opt/ldap/var/run/slapd.args
loglevel    256
moduleload  back_sql
database    sql
suffix      "dc=dominio,dc=com"
rootdn      "cn=admin,dc=dominio,dc=com"

# Pode-se utilizar o tipo de criptografia CRYPT, estou usando plaintext apenas para fins didáticos.
# Coloque  a senha de administrador do openldap.
#rootpw     {CRYPT}yrvhRwDhTj
rootpw      senha

dbname      ldap
dbuser      root
dbpasswd    senha

subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)"

insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)"

has_ldapinfo_dn_ru no
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Salve e saia do arquivo: ESC :x

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   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)

Debian Squeeze - Instalando VirtualBox com acesso WEB via phpVirtualBox

Configurando o Modem HSP56 Micromodem no Linux

Como fazer: Chroot Dosemu (Clipper no Linux)

Configuração de um servidor VPN com OpenVPN e chave estática

Instalação da placa TRENDnet TEW-421PC Wireless com ndiswrapper Debian

Passo a passo para aceleração 3d em placas de vídeo com chipset NVIDIA + compiz-fusion no OpenSuSE 10.3

#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

Entre na sua conta para comentar.