em Sem categoria

Instalando OpenLdap + phpLdapAdmin em um FC3 f?cil e r?pido

Este artigo foi retirado do site Dicas-L da Unicamp.

Colabora??o: Renato Torresan Pagano

Instalando OpenLdap + phpLdapAdmin em um FC3 f?cil e r?pido

Pacotes Utilizados
==================

– cyrus-sasl-2.1.19-3.i386.rpm
– BerkleyDB-2.7.7-1.i386.rpm
– nss_ldap-220-3.i386.rpm
– openldap-2.2.13-2.i386.rpm
– openldap-servers-2.2.13-2.i386.rpm
– phpldapadmin-0.9.6c.zip (http://phpldapadmin.sourceforge.net)
– php-4.3.9.tar
– apache_1.3.33.tar

1. Instale todos os rpms

cd /root/pacotes
rpm -Uvh *

2. Instale o Apache

cd /usr/src
tar -xzvf /root/apache_1.3.33.tar
cd apache_1.3.33
./configure –enable-module=so –enable-module=rewrite
make
make install

3. Instale o PHP

cd ..
tar -xzvf /root/php-4.3.9.tar
cd php-4.3.9
./configure –with-mysql
–with-apxs=/usr/local/apache/bin/apxs –with-gd=/usr/lib
–with-jpeg-dir=/usr/lib –with-png-dir=/usr/lib
–with-zlib-dir=/usr/lib –with-xpm-dir=/usr/lib
–with-freetype-dir=/usr/lib –with-ldap

Obs.: Caso ele reclame da depend?ncia ldap.h, insira no
arquivo /etc/ld.so.conf o caminho /usr/lib/ e /usr/include/
e fa?a ldconfig, rode novamente o configure.

make
make install

4. Configure o Apache para que ele carregue o modulo do
php, insira as seguintes linhas no arquivo de configura??o
httpd.conf do seu apache:

LoadModule php4_module libexec/libphp4.so

Aqui procure pela palavra LoadModule e procure adicionar
na linha abaixo,para manter o arquivo organizado.

AddType application/x-httpd-php .php

Aqui procure pela palavra “AddType” e procure adicionar
na linha abaixo, para manter o arquivo organizado.

Configure o seu DocumentRoot, aqui irei utilizar o
/var/www/html e inicie o seu Apache

5. Configure agora o seu LDAP

Adicione no /etc/syslog.conf as seguinte linha:

#Save ldap messages
local.4* /var/log/ldap

Reinicie o syslog

service syslog restart

Vamos editar o arquivo slapd.conf em /etc/openldap, dentro
do arquivo procure pelo campo “ldbm and/or bdb database
definitions” e adicione as seguintes linhas:

database bdb
suffix “dc=podiumjundiai”
rootdn “cn=adm,dc=podiumjundiai,dc=intranet”

Obs.:Troque os campos podiumjundiai e intranet pelo
seu dom?nio

Ainda nesse arquivo adicione um rootpw, ? recomendado
que insira uma senha cifrada aqui para isso use o comando
slappassword

$slappassword
New password:
Re-enter new password:
{SSHA}Ij+9Nx490e7W9zAolkcOg+uRnwg

Copie e cole a ultima linha no campo rootpw ficando assim:

rootpw {SSHA}Ij+9Nx490e7W9zAolkcOg+uRnwg

Crie um arquivo chamado base.ldif e insira as seguintes configura??es:

#————————-inicio————————–
dn: dc=podiumjundiai,dc=intranet
dc: podiumjundiai
objectClass: top
objectClass: domain

dn: ou=Usuarios,dc=podiumjundiai,dc=intranet
ou: Usuarios
objectClass: top
objectClass: organizationalUnit
#————————-fim————————–

Vamos inserir essas informa??es no ldap para isso fa?a:

#ldapadd -x -D cn=adm,dc=podiumjundiai,dc=intranet -W -f base.ldif
Enter LDAP Password:
adding new entry “dc=podiumjundiai,dc=intranet”
adding new entry “ou=Usuarios,dc=podiumjundiai,dc=intranet”

Executando o comando ldapsearch deve aparecer as seguintes informa??es:

[[email protected] renato]# ldapsearch -x
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (objectclass=*)
# requesting: ALL
#

# podiumjundiai.intranet
dn: dc=podiumjundiai,dc=intranet
dc: podiumjundiai
objectClass: top
objectClass: domain

# Usuarios, podiumjundiai.intranet
dn: ou=Usuarios,dc=podiumjundiai,dc=intranet
ou: Usuarios
objectClass: top
objectClass: organizationalUnit

Pronto sua base ldap esta pronta.

1. Vamos configurar agora o phpldapadmin

Descompacte o arquivo em /var/www/html

unzip phpldapadmin-0.9.6c.zip

Entre na pasta descompactada e fa?a:

cp config.php.example config.php

Altere as linhas do arquivo config.php:

$servers[$i][‘name’] = ‘My LDAP Server’;

Adicione aqui o nome do seu servidor, ex.: ‘Servidor LDAP Podium Jundiai’

$servers[$i][‘host’] = ‘ldap.example.com’;

Adicione aqui o endere?o do seu servidor, ex.: ‘192.168.1.230’

$servers[$i][‘base’] = ‘dc=example,dc=com’;

Adicione aqui o seu DN, ex.: ‘dc=podiumjundiai,dc=intranet’

$servers[$i][‘login_dn’] = ‘cn=Manager,dc=example,dc=com’;

Adicone aqui o seu rootdn, ex.: ‘cn=adm,dc=podiumjundiai,dc=intranet’;

$servers[$i][‘login_pass’] = ‘secret’;

Adicione a senha para acesso a base ldap, ex.: ‘minhasenha’ Obs.:? a mesma senha inserida na slapd.conf porem sem ser criptografada.

Salve e saia, digite no seu browser o
http://IP_do_servidor_ldap/phpldapadmin, se tudo foi feito
corretamente ir? aparecer a tela do phpldapadmin junto
com a base ldap criada, agora ? s? come?ar a adicionar
os usu?rios.

Salve e saia, vamos agora editar o arquivo ldap.conf,
dentro do arquivo insira as seguintes linhas:

2. Configurar as esta??es linux FC3 para autenticar no LDAP

Edite o arquivo nsswitch.conf:

vi /etc/nsswitch.conf

Procure pelas linhas abaixo e adicione o ldap na frente

passwd: files ldap
shadow: files ldap
group: files ldap

Agora edite o arquivo ldap.conf em /etc/ldap.conf e
adicione o endere?o e a base do servidor LDAP (Procure
pelas linhas host e base)

host 192.168.1.230
base dc=podiumjundiai,dc=intranet

Troque o /ect/pam.d pelo pam.d que esta em /usr/share/doc/nss_ldap-220/pam.d

# mv /etc/pam.d /etc/pam.d.ori
# cp -R /usr/share/doc/nss_ldap-220/pam.d /etc/pam.d

Pronto sua esta??o linux com FC3 j? esta aut?nticando em uma base ldap