Instalando OpenLdap + phpLdapAdmin em um FC3 fácil e rápido
Colaboração: Renato Torresan Pagano
Data de Publicação: 16 de Junho de 2005
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
- Instale todos os rpms
cd /root/pacotes rpm -Uvh *
- 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
- 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
- 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 - Configure agora o seu LDAP
Adicione no /etc/syslog.conf as seguinte linha:
#Save ldap messages local.4* /var/log/ldap
Reinicie o syslogservice 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:
[root@constantine 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.
- 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: - 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 frentepasswd: 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 Renato e. Pagano, Podium Tecnologia em Redes, www.podium.com.br