Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
URL: http://en.wikipedia.org/wiki/LDAP
| • | openldap-2.2.13 |
| • | openldap-clients-2.2.13 |
| • | openldap-servers-2.2.13 |
| • | evolution-data-server-1.x (o bien simplemente del fichero evolutionperson.schema que incluye dicho paquete) |
yum -y install openldap openldap-clients openldap-servers evolution-data-server
|
up2date -i openldap openldap-clients openldap-servers evolution-data-server
|
Con fines de organización se creará un directorio específico para este directorio y se configurará con permisos de acceso exclusivamente al usuario y grupo ldap.
mkdir /var/lib/ldap/addressbook chmod 700 /var/lib/ldap/addressbook chown ldap.ldap /var/lib/ldap/addressbook |
Crear la clave de acceso que se asignará en LDAP para el usuario administrador del directorio. Basta ejecutar desde una terminal:
slappasswd |
Lo anterior debe dar como salida un criptograma como lo mostrado a continuación:
{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
El texto de la salida será utilizado más adelante en el fichero /etc/openldap/slapd.conf y se definirá al usuario Administrador para como el utilizado para acceder con todos los privilegios al directorio.
Se copia el fichero de esquema de evolution-data-server dentro del directorio /etc/openldap/schema/:
cp /usr/share/evolution-data-server-*/evolutionperson.schema /etc/openldap/schema/ |
Se edita el fichero /etc/openldap/slapd.conf y se agrega el esquema de datos incluido con evolution-data-server:
# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/evolutionperson.schema |
Independientemente de lo que ya se tenga configurado, y que no será tocado, se añade al final del fichero /etc/openldap/slapd.conf lo siguiente con el fin de definir el nuevo directorio que en adelante se utilizará como libreta de direcciones:
database bdb
suffix "dc=su-dominio,dc=com"
rootdn "cn=Administrador,dc=su-dominio,dc=com"
rootpw {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
directory /var/lib/ldap/addressbook
# Indices to maintain for this database
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
|
Inicie el servicio de LDAP y añada éste al resto de los servicios que arrancan junto con el sistema:
service ldap start chkconfig ldap on |
A continuación hay que crear el objeto que a su vez contendrá el resto de los datos en el directorio. Genere un fichero addressbook.ldif al cual agregará el siguiente contenido:
dn: dc=su-dominio, dc=com objectclass: top objectclass: dcObject objectclass: organization o: Nombre completo de su empresa dc: su-dominio dn: ou=Addressbook, dc=su-dominio, dc=com ou: Addressbook objectClass: top objectClass: organizationalUnit |
Se utilizará ldapadd para insertar los datos necesarios. Las opciones utilizadas con este mandato son las siguientes:
-x autenticación simple -W solicitar clave de acceso -D binddn Nombre Distinguido (dn) a utilizar -h anfitrión Servidor LDAP a acceder -f fichero fichero a utilizar |
Una vez entendido lo anterior, se procede a insertar la información generada en el directorio utilizando lo siguiente:
ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f addressbook.ldif
|
Una vez hecho lo anterior, se podrá comenzar a poblar el directorio con datos. Genere el fichero su-usuario.ldif con los siguientes datos, donde reemplazará los valores por reales. Elimine los campos que queden vacíos o no le sean de utilidad, porque de otra forma LDAP no le dejará insertar éstos. Es importante destacar que deben estar incluidas las clases top, person, organizationalPerson, inetOrgPerson y evolutionPerson, ya que de otro modo no será posible utilizar los campos de información necesarios para que el directorio funcione como libreta de direcciones.
dn: cn=Nombre Completo, ou=Addressbook, dc=su-dominio, dc=com objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: evolutionPerson cn: Nombre Completo givenName: Nombre sn: Apellidos displayName: Apodo title: Sr. mail: su-cuenta-de-correo@su-dominio.com initials: I.N.I.C.I.A.L.E.S. o: Nombre Completo de su empresa. ou: Departamento o Sección a la que pertenece businessRole: Puesto que desempeña en su empresa homePostalAddress: Domicilio de su hogar. postalAddress: Domicilio de su empresa. l: Ciudad st: Estado # Código postal postalCode: 12345 # Telefono empresa telephoneNumber: 55-5555-5555 # Teléfono principal primaryPhone: 55-5555-5555 # Teléfono móvil mobile: 55-5555-5555 # Telefono hogar homePhone: 55-5555-5555 # Otro teléfono otherPhone: 55-5555-5555 labeledURI: http://www.alcancelibre.org/ # Su fecha de nacimiento birthDate: 1970-02-20 fileAs: Apellidos, Nombre category: Cualquier-categoría-que-queira-crear managerName: Nombre de su jefe, si lo tiene assistantName: Nombre de su asistente, si lo tiene. # Telefono de su asistente, si lo tiene assistantPhone: 55-5555-5555 spouseName: Nombre de su esposa(o), si lo tiene. # fecha en que celebra su aniversario de bodas, si aplica anniversary: 2000-01-01 |
Los datos se podrán insertar utilizando lo siguiente:
ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f su-usuario.ldif
|
Acceda hacia el directorio con cualquier cliente que tenga soporte para acceder hacia directorios LDAP.
Hacer clic en Archivo → Nuevo → Libreta de direcciones.


Hacer clic en Archivo → Nuevo → Directorio LDAP


Hay que editar el fichero /etc/squirrelmail/config.php y añadir/editar:
$ldap_server[0] = array(
'host' => '127.0.0.1',
'base' => 'ou=Addressbook,dc=su-dominio,dc=com',
'name' >= 'Addressbook'
);
|
Hay una gran cantidad de programas para acceder y administrar servidores LDAP, pero la mayoría solo sirven para administrar usuarios y grupos del sistema. La mejor herramienta de administración de directorios LDAP que podemos recomendar es LDAP Browser/Editor (requiere Java).

Debe detenerse el servicio de LDAP antes de proceder con el respaldo de datos.
service ldap stop |
A continuación, se utiliza la herramienta slapcat, utilizando el fichero de configuración /etc/openldap/slapd.conf.
slapcat -v -f /etc/openldap/slapd.conf -l respaldo-$(date +%Y%m%d).ldif |
Concluido el proceso de respaldo de datos, puede iniciarse de nuevo el servicio de ldap.
service ldap start |
El procedimiento requiere detener el servicio.
service ldap stop |
Debe eliminarse los datos del directorio a restaurar.
rm -f /var/lib/ldap/addressbook/* |
A continuación, se utiliza la herramienta slapadd para cargar los datos desde un fichero *.dif de respaldo.
slapadd -v -c -l respaldo-20061003.ldif -f /etc/openldap/slapd.conf |
Se debe ejecutar la herramienta slapindex, que se utiliza para regenerar los índices LDAP.
slapindex |
Concluido el proceso de restauración de datos, puede iniciarse de nuevo el servicio de ldap.
service ldap start |
Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 389 por TCP (LDAP).
Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:
#ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S)1 ACCEPT net fw tcp 389 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
Alcance Libre
http://www.alcancelibre.org/staticpages/index.php/como-openldap-addressbook