Pesquisa de site

Instale o servidor OpenLDAP e administre com phpLDAPadmin no Debian/Ubuntu


LDAP significa Lightweight Directory Access Protocol, que pode ser usado de diversas maneiras, como autenticação, diretório compartilhado (para clientes de e-mail), catálogo de endereços, etc. O protocolo LDAP pode ser usado para estabelecer e armazenar qualquer tipo de informação. O servidor OpenLDAP dá-lhe a possibilidade de aceder à informação que está armazenada numa estrutura em árvore.

Neste artigo mostraremos como instalar e configurar um servidor OpenLDAP e como administrá-lo com phpLDAPadmin no Debian, Ubuntu e Linux Mint.

Instalação do servidor OpenLDAP no Linux

Por padrão, o servidor OpenLDAP está nos repositórios do pacote “slapd“. Você pode instalá-lo facilmente com a ajuda da ferramenta gerenciadora de pacotes chamada apt-get. Mas antes de instalar o servidor OpenLDAP, certifique-se de que seu sistema esteja atualizado.

Durante a instalação, será solicitado que você insira uma senha para a entrada admin em seu diretório LDAP. Digite uma senha forte e confirme selecionando OK.

 
sudo apt-get update 
sudo apt-get install slapd ldap-utils

Configurar servidor OpenLDAP

Para configurar o servidor OpenLDAP você precisa editar o arquivo ldap.conf, que está armazenado no diretório /etc. Para editar o arquivo ldap.conf você precisa de um editor de texto como vim, nano etc. Execute o seguinte comando para abrir o ldap arquivo de configuração para edição.

sudo nano /etc/ldap/ldap.conf

A saída do comando acima é mostrada na seção abaixo.

#
LDAP Defaults
#

See ldap.conf(5) for details
This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Remova o comentário das linhas BASE e URI para poder editá-las com seu próprio nome de domínio e endereço IP. Como esta é uma instalação e configuração de teste, usarei tecmint123.com como meu nome de domínio.

#
LDAP Defaults
#

See ldap.conf(5) for details
This file should be world readable but not world writable.

BASE   dc=tecmint123,dc=com
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

TLS certificates (needed for GnuTLS)
TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

Salve o arquivo e execute o seguinte comando para reconfigurar o pacote LDAP.

sudo dpkg-reconfigure slapd

Para construir o DN base do diretório LDAP você precisa de um nome de domínio DNS.

Digite o nome do seu domínio DNS e pressione Enter para confirmá-lo. Em seguida, o ldap solicitará que você insira o nome da organização a ser usada no DN base do seu diretório LDAP. Digite o nome da sua empresa ou organização e pressione Enter novamente.

Depois que o nome da organização ou empresa for adicionado, a configuração do pacote solicitará a inserção da senha para a entrada admin em seu LDAP
diretório. Você precisa inserir asenha do admin que você criou nas etapas anteriores.

Depois de confirmar a senha do administrador, você deve selecionar o banco de dados. Existem dois bancos de dados para seleção, o banco de dados BDB e HDB. Ambos suportam as mesmas opções de configuração, usam formatos de armazenamento semelhantes, mas como o banco de dados HDB adiciona suporte para renomeações de subárvores, ele é o recomendado.

Você pode selecionar o banco de dados que acha que funcionará melhor para você. Depois de decidir qual banco de dados usará, pressione Enter para confirmar a seleção. Em seguida, você será solicitado a fazer outra pergunta. Selecione Sim para remover o banco de dados quando o slapd for eliminado.

Selecione novamente Sim e pressione Enter.

Selecione Não e o servidor LDAP começará a funcionar.

[sudo] password for ravisaive: 
 * Stopping OpenLDAP slapd                                                                                       [ OK ] 
  Moving old database directory to /var/backups:
  - directory unknown... done.
  Creating initial configuration... done.
  Creating LDAP directory... done.
 * Starting OpenLDAP slapd                                                                                       [ OK ] 
Processing triggers for libc-bin ...

Para testar o servidor LDAP, o comando ldapsearch -x é usado.

ldapsearch -x

Ele produz a seguinte saída.

extended LDIF
#
LDAPv3
base <dc=tecmint123,dc=com> (default) with scope subtree
filter: (objectclass=*)
requesting: ALL
#

tecmint123.com
dn: dc=tecmint123,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: tecmint
dc: tecmint123

admin, tecmint123.com
dn: cn=admin,dc=tecmint123,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

search result
search: 2
result: 0 Success

numResponses: 3
numEntries: 2

Administração LDAP com phpLDAPadmin

phpLDAPadmin é uma ferramenta de administração GUI para administração de servidores LDAP. Esta ferramenta GUI nos ajudará a interagir com seu servidor LDAP através de uma interface web. Está disponível nos repositórios padrão e pode ser instalado com o comando apt-get.

Mas antes de instalar o phpLDAPadmin, você deve ter o servidor web Apache e o PHP instalados e em execução. Caso contrário, instale-o usando o seguinte comando.

sudo apt-get install apache2 php5 php5-mysql

Em seguida, instale o pacote “phpldapadmin” conforme mostrado abaixo.

sudo apt-get install phpldapadmin

Da mesma forma que configuramos o arquivo ldap.conf, precisamos configurar os arquivos de configuração da interface web phpldapadmin antes de usá-la. Execute o seguinte comando para abrir o arquivo phpldapadmin config.php.

sudo nano /etc/phpldapadmin/config.php

Tudo o que você precisa fazer é substituir os nomes de domínio pelos seus próprios valores. A parte de configuração necessária para este caso está na seção “Definir seus servidores LDAP”.

$servers = new Datastore();
$servers->newServer('ldap_pla'); 
$servers->setValue('server','name','Tecmint LDAP Server');
$servers->setValue('server','host','127.0.0.1'); 
$servers->setValue('server','base',array('dc=tecmint123,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=tecmint123,dc=com');

Após terminar de editar o arquivo de configuração config.php, abra uma aba em seu navegador e digite o “http://ip_address_here/phpldapadminURL. Insira suas credenciais de login ldap e clique em login.

Links de referência

  1. Página inicial do OpenLDAP
  2. Página inicial do phpLDAPadmin