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

Por: Cristiano NiX em 13/08/2009


Configurando código-fonte e instalando BerkelyDB e OpenLDAP



Vamos agora à parte de configuração do código-fonte e instalação aos respectivos caminhos corretos.

1) Configurando e compilando código-fonte do Berkeley DB (Base de Dados da Berkeley).

Entrando no diretório padrão, onde serão feitas as compilações e configurações:

# cd /usr/src/

Descompactando o código-fonte do Berkeley DB:

# tar zxvf db-4.7.25.tar.gz

Entrando no diretório descompactado:

# cd db-4.7.25/build_unix

Configurando o código-fonte do Berkeley DB:

# ../dist/configure --prefix=/opt/db4725

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

# make && make install

2) Configurando e compilando código-fonte do ODBC

Entrando no diretório padrão, onde serão feitas as compilações e configurações.

# cd /usr/src/

Descompactando o código-fonte do libiodbc:

# tar zxvf libiodbc-3.52.6.tar.gz

Entrando no diretório descompactado:

# cd libiodbc-3.52.6

Configurando o código-fonte do libiodbc:

# ./configure --prefix=/opt/odbc --with-pthreads

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

# make && make install

3) Configurando e compilando código-fonte do OpenLDAP com:
  • Suporte a criptografia (crypt, plaintext)
  • Suporte ao banco de dados (bdb, hdb, sql, ODBC para suporte a outros banco de dados)
  • Suporte a réplica
  • Suporte a sistema de logs (syslog)

Entrando no diretório padrão, onde serão feitas as compilações e configurações:

# cd /usr/src/

Descompactando o código-fonte do OpenLDAP:

# tar zxvf openldap-2.4.16.tgz

Entrando no diretório descompactado:

# cd /usr/src/openldap-2.4.16

Exportando as variáveis de ambiente necessárias para ter uma instalação com sucesso:

# export CPPFLAGS="-I/opt/odbc/include -I/usr/include/ -I/opt/db4725/include"
# export LDFLAGS="-L/opt/odbc/lib -L/opt/db4725/lib"
# export LD_LIBRARY_PATH="/opt/db4725/lib"


Setando o caminho das libs de cada aplicação, no arquivo central de bibliotecas do sistema Linux:

# echo "/opt/db4725/lib" >> /etc/ld.so.conf
# echo "/opt/odbc/lib" >> /etc/ld.so.conf


Atualizando bibliotecas do sistemas:

# ldconfig

Configurando o código-fonte do OpenLDAP:

# ./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

Página anterior     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

Criação de usuário, grupo e permissão

FreeBSD - Configuração do Net-SNMP

Driver nVidia se sua placa tem chipset da SiS

Instalando leitor de finger do T60 no Debian Etch

Balanceamento de links no OpenBSD 4.3

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts