De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


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
Error: No domain found