você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

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

[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.

  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

    Renato e. Pagano, Podium Tecnologia em Redes, www.podium.com.br


Veja a relação completa dos artigos de Renato Torresan Pagano