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.393 ]

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

Instalação do APT no SuSE 9.3

Som sem problemas em notebooks com placa Intel

ARM, utilização de snapshot de pacotes no Arch Linux

Instalando Slackware 11.0 em um pendrive

Instalação da Broadcom 1390 no Debian Etch

  
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