Documentos de Académico
Documentos de Profesional
Documentos de Cultura
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
1 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
proprietria ou software livre que j tenha sua base de usurios e senhas cadastradas do banco de dado MySQL. A compilao foi feita usando Debian5 em uma mquina virtual, 256 de RAM, 10 GB HD.
Ambiente de teste - preparao Vamos compilar o OpenLDAP com suporte ao Berkeley DB, logs (syslog), SQL. Uma partio do HD ser reservada apenas para o ponto de montagem /opt, onde ficaro todos os aplicativos compilados. Logue-se como root no sistema Linux e agora mo na massa! # cd /usr/src
2 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Configurando cdigo-fonte e instalando BerkelyDB e OpenLDAP Vamos agora parte de configurao do cdigo-fonte e instalao aos respectivos caminhos corretos. 1) Configurando e compilando cdigo-fonte do Berkeley DB (Base de Dados da Berkeley). Entrando no diretrio padro, onde sero feitas as compilaes e configuraes: # cd /usr/src/ Descompactando o cdigo-fonte do Berkeley DB: # tar zxvf db-4.7.25.tar.gz Entrando no diretrio descompactado: # cd db-4.7.25/build_unix Configurando o cdigo-fonte do Berkeley DB: # ../dist/configure --prefix=/opt/db4725 Compilando o cdigo-fonte e instalando o aplicativo no seguinte diretrio /opt/db4725: # make && make install 2) Configurando e compilando cdigo-fonte do ODBC Entrando no diretrio padro, onde sero feitas as compilaes e configuraes. # cd /usr/src/ Descompactando o cdigo-fonte do libiodbc: # tar zxvf libiodbc-3.52.6.tar.gz Entrando no diretrio descompactado: # cd libiodbc-3.52.6 Configurando o cdigo-fonte do libiodbc: # ./configure --prefix=/opt/odbc --with-pthreads Compilando o cdigo-fonte e instalando o aplicativo no diretrio /opt/odbc:
3 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
# make && make install 3) Configurando e compilando cdigo-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 rplica Suporte a sistema de logs (syslog) Entrando no diretrio padro, onde sero feitas as compilaes e configuraes: # cd /usr/src/ Descompactando o cdigo-fonte do OpenLDAP: # tar zxvf openldap-2.4.16.tgz Entrando no diretrio descompactado: # cd /usr/src/openldap-2.4.16 Exportando as variveis de ambiente necessrias para ter uma instalao 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 aplicao, 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 cdigo-fonte do OpenLDAP: # ./configure --prefix=/opt/ldap --sysconfdir=/opt/ldap/etc --enable-crypt=yes --enablemodules=yes --enable-syslog=auto --enable-slurpd=yes --enable-bdb --enable-sql=yes Conferindo se faltou alguma dependncia do OpenLDAP: # make depend Compilando o cdigo-fonte e instalando o aplicativo no diretrio /opt/ldap: # make && make install
4 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Setando os binrios no PATH e setando o OpenLDAP na inicializao Colocando todos os caminhos de binrios de aplicativos no PATH do Linux. 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" Agora vamos salvar e sair do arquivo. ESC :x Agora vamos reler o arquivo de variveis de ambiente e setar o PATH novo: # source /etc/profile Pronto, agora voc estar habilitado para acessar todas as ferramentas de administrao dos aplicativos a partir de qualquer lugar, sem precisar o caminho de localizao do arquivo. Colocando o OpenLDAP rodar na inicializao do sistema Linux: # vi /etc/rc.local Adicionar a seguinte linha antes de "exit 0": /opt/ldap/libexec/slapd ESC :x Pronto! Feito isso, tudo ok.
Configurando o OpenLDAP para acesso ao MySQL (parte1) Nesse estudo de caso no abordarei sobre configuraes do MySQL. Ento mo na massa!
5 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
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 instrues 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 didticos. # 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 Salve e saia do arquivo: ESC :x
6 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Configurando o ODBC
Confirme a opo para adicionar o MySQL automaticamente como um driver ODBC. Modifique o arquivo /etc/odbcinst.ini deixando-o assim: [MySQL] Description = MySQL driver Driver = /usr/lib/odbc/libmyodbc.so Setup = /usr/lib/odbc/libodbcmyS.so CPTimeout = CPReuse = UsageCount = 1 # dpkg-reconfigure libmyodbc Agora o arquivo /etc/odbc.ini que ficar desse jeito, configurado com os dados do servidor MySQL: [ODBC Data Sources] ldap = MySQL LDAP DSN [ldap] Driver = /usr/lib/odbc/libmyodbc.so Description = MySQL LDAP DSN Server = localhost Port = 3306 User = root Password = senha Database = ldap # Coloque o caminho correto do socket do mysql Socket = /var/run/mysqld/mysqld.sock # Coloque o caminho de onde voc compilou o libiodbc [ODBC] InstallDir = /opt/odbc/lib/ Agora com ODBC e OpenLDAP configurados e instalados, vamos testar a conexo entre o ODBC e o MySQL antes de iniciar o servio do OpenLDAP.
7 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Testar conexo ODBC: Vamos digitar "?" para ver todas as conexes. # iodbctest
iODBC Demonstration program This program shows an interactive SQL processor Driver Manager: 03.52.0607.1008 Enter ODBC connect string (? shows list): ?
DSN | Driver ----------------------------ldap | MySQL LDAP DSN Enter ODBC connect string (? shows list):
Configurando o OpenLDAP para acesso ao MySQL (parte4) Testando integrao do ODBC com MySQL. Acessando ODBC: # iodbctest Enter ODBC connect string (? shows list): DSN=ldap Caso ocorra algum erro, revise as configuraes do /etc/odbc.ini e my.cnf. Se estiver tudo ok, aparecer a seguinte mensagem: Enter ODBC connect string (? shows list): DSN=ldap Driver: 03.51.15 (libmyodbc3.so) SQL>
8 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Fazendo o OpenLDAP trabalhar com MySQL (final) Agora com ambos funcionando, necessrio importar algumas tabelas que vm com o cdigo-fonte do OpenLDAP. Entrando no diretrio MySQL, que contm as tabelas necessrias para o funcionamento do OpenLDAP com o MySQL: # cd /usr/src/openldap-2.4.16/servers/slapd/back-sql/rdbms_depend/mysql/ Criando todas as tabelas e inserindo informaes de exemplos: # mysql -u root -p ldap < backsql_create.sql # mysql -u root -p ldap < testdb_data.sql # mysql -u root -p ldap < testdb_metadata.sql Bom, a partir de agora toda a estrutura necessria para funcionar o OpenLDAP com MySQL est pronta. Depois, utilizando o phpmyadmin, altere as informaes de acordo com o seu domnio cadastrado no LDAP. Pronto, vamos inicializar o OpenLDAP em modo debug para testar seno aparecer nenhum erro: # slapd -d5 Caso contrrio aparecer umas mensagens de conexo MySQL mostrando que est tudo funcionando corretamente. Para iniciar sem o debug (processo normal), apenas digite:
9 of 10
06/12/2011 21:42
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=10166
Agradecimentos
Quero agradecer ao meus amigos Clodonil Honrio, que escreveu o livro OpenLDAP, uma abordagem integrada, Nielsen Alves Pereira, meu amigo de Linux h muito tempo e de trabalho agora. Valeu por tudo a!
10 of 10
06/12/2011 21:42