Objectiu:
Aquest tutorial explica com instal·lar i configurar un servidor ldap. Utilitzarem OpenLDAP, versió 2.
Aquest servei s’encarregarà d’emmagatzemar tota la informació dels usuaris de l’organització. A més serà l’encarregat d’autenticar els usuaris en la majoria de serveis que configurarem més endavant, com el correu, l’accés remot, etc.
Què és un servei de directori?
Un servidor, o servei, de directori és en el fons una base de dades. Les dades que emmagatzema poden anar des de les dades personals dels usuaris fins a la informació relativa d’inicis de sessió, carpetes de correu, àlies… en fi, gairebé qualsevol dada dels usuaris.
A més, cada cop que s’accedeix a un servei que necessita d’autenticació aquest servei és el que validarà que el nom d’usuari i la contrasenya siguin correctes i per tant es doni accés. Un servei LDAP és molt senzill de configurar, però pot donar mals de cap a l’hora de mantenir-lo.
Obtenció del software necessari:
Partim de la base que disposem d’un servidor amb Ubuntu 7.04 Server. És molt probable que aquest tutorial funcioni sobre d’altres distribucions, però ha estat provat principalment sobre Ubuntu.
Utilitzarem l’eina apt per aconseguir el software necessari. S’ha entrat al sistema utilitzant l’usuari root. Per començar actualitzem les nostres fonts de apt.
$ apt-get update
Per instal·lar el paquet de l’OpenLDAP executarem la següent comanda:
$ apt-get install slapd
Amb aquest paquet en tenim prou.
Durant la primera instal·lació ens demanarà una certa informació, la canviarem tota després, en qualsevol cas entrarem el següent:
- Admin password: secret
- Confirm password: secret
Per defecte els arxius de configuració d’OpenLDAP s’instal·len a la carpeta /etc/ldap. Principalment ens en interessen dos:
- slapd.conf
- ldap.conf
Aquests dos arxius contindran tota la informació del nostre sistema. Anem doncs a la configuració inicial.
Configuració:
La configuració inicial que es realitza de slapd és molt bàsica i no inclou cap element a la base de dades. Ens interessa, doncs, crear dos elements inicials, la base (domini) i el primer usuari que serà l’administrador del servidor LDAP. Per fer això d’una manera senzilla entrem la següent comanda:
$ dkpg-reconfigure slapd
En certa manera tornem a configurar el servidor, però aquest cop tindrem força més opcions. Entrarem les següents dades:
- Omit OpenLDAP server configuration?: No
- DNS Domain name: domini.local
- Name of your organization: Nom de l’organització
- Admin password: secret
- Confirm password: secret
- Database backend to use: BDB
- Do you want your database to be removed when slapd is purged?: No
- Move old database?: Yes
- Allow LDAPv2 protocol?: No
Fet! Amb aquesta configuració ja podem començar a treballar seriosament. El primer que farem és acabar d’adaptar la configuració i per això modificarem l’arxiu slapd.conf.
$ pico /etc/ldap/slapd.conf
Assegurem-nos que hi ha aquestes dues línies:
rootdn "cn=admin,dc=domini,dc=local" rootpw secret
secret és la contrasenya de l’administrador (admin) de l’OpenLDAP. Aquesta contrasenya és pot emmagatzemar en l’arxiu slapd.conf com a hash també, d’aquesta manera no queda en clar. Per fer-ho fem:
$ slappasswd -s secret {SSHA}ttVTgdQPoVtRNy9p/op/YKSo8uIHS5Ww
Aquesta última línia és la que podem posar a l’arxiu:
rootdn "cn=admin,dc=domini,dc=local" rootpw {SSHA}ttVTgdQPoVtRNy9p/op/YKSo8uIHS5Ww
Amb això podem donar per configurat el servidor. A partir d’ara hauríem de començar a afegir usuaris i demés, ho veurem amb més detall en el tutorial de Samba.
Volcat de la base de dades d’OpenLDAP:
Sovint ens pot interessar veure que hi ha a la base de dades de l’OpenLDAP. Per això hi ha la comanda slapcat. També la podem utilitzar per fer còpies de seguretat. El resultat de la comanda en el nostre servidor actual és la següent:
dn: dc=domini,dc=local objectClass: top objectClass: dcObject objectClass: organization o:: T3JnYW5pdHphY2nDg8Kz dc: domini structuralObjectClass: organization entryUUID: b20371f8-b1d0-102b-8038-673a769ca4c3 creatorsName: modifiersName: createTimestamp: 20070618101617Z modifyTimestamp: 20070618101617Z entryCSN: 20070618101617Z#000000#00#000000 dn: cn=admin,dc=domini,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e2NyeXB0fTF0YWVRb0x0bEkxWS4= structuralObjectClass: organizationalRole entryUUID: b204b4c8-b1d0-102b-8039-673a769ca4c3 creatorsName: modifiersName: createTimestamp: 20070618101617Z modifyTimestamp: 20070618101617Z entryCSN: 20070618101617Z#000001#00#000000
Gestió del directori:
Sens dubte, la manera més senzilla i gràfica de gestionar els elements del servei LDAP és utilitzant el paquet phpldapadmin. Aquest paquet permet la gestió de l’LDAP per interfície Web. La instal·lació és molt senzilla:
$ apt-get install phpldapadmin
Si s’ha fet el tutorial d’Apache2 + MySql5 + Php5 serà més senzill fins i tot. Per connectar al servidor s’haurà d’anar a l’adreça:
http://adreça_ip_servidor/phpldapadmin
El login és: cn=admin,dc=domini,dc=local i la contrasenya: secret.