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/phpldapadmin” URL. Insira suas credenciais de login ldap e clique em login.
Links de referência
- Página inicial do OpenLDAP
- Página inicial do phpLDAPadmin