Si llegaste acá buscando como instalar un Ldap, es porque ya sabes que se trata de una base de datos en forma de árbol, bla, bla, bla… así que vamos al grano.

Instalación del servidor Ldap

Lo primero que hay que hacer es instalar el demonio slapd del servidor OpenLdap e instalar ldap-utils, un paquete que contiene utilidades de administración de LDAP.

Esto se hace mediante el siguiente comando, y aunque en la instalación solo nos pide definir la password de administrador (admin), debemos inmediatamente reconfigurarlo para setear algunos parámetros mas.

apt-get install slapd ldap-utils
dpkg-reconfigure slapd

Captura de pantalla de 2014-09-10 13:10:59

Ingresamos el dominio

Captura de pantalla de 2014-09-10 13:11:04

…el nombre de la organización

Captura de pantalla de 2014-09-10 13:11:09

…la contraseña de administrador

Captura de pantalla de 2014-09-10 13:11:17

…repetimos dicha contraseña

Captura de pantalla de 2014-09-10 13:11:25

Escogemos el tipo de base de datos backbend. Si se lee la explicación que da el cuadro de diálogo se observa que se recomienda utilizar la base de datos HDB y no la BDB, además de la justificación de porque escoger dicha opción.

Captura de pantalla de 2014-09-10 13:11:31

…si desea que se borre la base de datos cuando se purgue el paquete slapd

Captura de pantalla de 2014-09-10 13:11:36

Captura de pantalla de 2014-09-10 13:11:40

Captura de pantalla de 2014-09-10 13:11:45

Agregar usuarios, grupos o modificar contraseñas mediante LdapScripts

El paquete ldapscripts contiene scripts configurables para facilitar la gestion de usuarios y grupos LDAP.

apt-get install ldapscripts
cat /etc/ldapscripts/ldapscripts.conf
 
SERVER="ldap://localhost"
BINDDN="cn=admin,dc=midominio,dc=com,dc=ar"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
USHELL="/bin/bash"
PASSWORDGEN="pwgen"
RECORDPASSWORDS="no"
PASSWORDFILE="/var/log/ldapscripts_passwd.log"
LOGFILE="/var/log/ldapscripts.log"
TMPDIR="/tmp"
LDAPSEARCHBIN="/usr/bin/ldapsearch"
LDAPADDBIN="/usr/bin/ldapadd"
LDAPDELETEBIN="/usr/bin/ldapdelete"
LDAPMODIFYBIN="/usr/bin/ldapmodify"
LDAPMODRDNBIN="/usr/bin/ldapmodrdn"
LDAPPASSWDBIN="/usr/bin/ldappasswd"
echo -n 'pass' -- /etc/ldapscripts/ldapscripts.passwd
chmod 400 /etc/ldapscripts/ldapscripts.passwd

Agregar usuario

ldapadduser usuario grupo

Cambiar password

ldapsetpasswd usuario

Migrar usuarios/contraseñas y grupos de Linux y generar el ldif

MigrationTools es un paquete de herramientas que nos ayudaran a agregar los objetos al dominio con plantillas predefinidas, para utilizarlas ejecutaremos los siguientes comandos.

apt-get install migrationtools
cat /etc/migrationtools/migrate_common.ph
 
$NAMINGCONTEXT{'passwd'} = "ou=Users";
$NAMINGCONTEXT{'group'} = "ou=Group";
 
$DEFAULT_MAIL_DOMAIN = "midominio.com.ar";
$DEFAULT_BASE = "dc=midominio,dc=com,dc=ar";
 
$IGNORE_UID_BELOW = 1000;
$IGNORE_UID_ABOVE = 30000;
/usr/share/migrationtools/migrate_passwd.pl /etc/passwd -- /opt/usuariosMigrados.ldif

Instalar phpLdapAdmin, un administrador web

phpLDAPadmin también conocido como PLA, es una herramienta para la administración de servidores LDAP escrito en PHP, disponible bajo licencia GPL, basado en interfaz Web. Trabaja en varias plataformas, pudiendo acceder al servidor LDAP desde cualquier lugar en Internet usando un navegador Web.

Posee una vista jerárquica basada en árbol en donde se puede navegar por toda la estructura de directorio. Permite ver los esquemas LDAP, realizar búsquedas, crear, borrar, copiar y editar entradas LDAP, incluso copiar entradas entre servidores LDAP.

apt-get install phpldapadmin

Editar /etc/phpldapadmin/config.php y modificar las variables “server” y “login”

$servers-- setValue('server','base',array('dc=midominio,dc=com,dc=ar'));
$servers-- setValue('login','bind_id','cn=admin,dc=midominio,dc=com,dc=ar');

Se accede vía ldap.midominio.com.ar/phpldapadmin

Captura de pantalla de 2014-09-10 13:10:59

Captura de pantalla de 2014-09-10 13:10:59

Captura de pantalla de 2014-09-10 13:10:59

Añadir Unidades Organizacionales, Grupos y Usuarios

#####################################################################################
#		ARCHIVO /opt/crearOU_Grupos_Usuarios.ldif
#####################################################################################
#		UNIDADES ORGANIZACIONALES
dn: ou=Users,dc=midominio,dc=com,dc=ar
objectClass: organizationalUnit
ou: Users
#		GRUPOS
dn: ou=Groups,dc=midominio,dc=com,dc=ar
objectClass: organizationalUnit
ou: Groups
 
dn: cn=administradores,ou=Groups,dc=midominio,dc=com,dc=ar
objectClass: posixGroup
cn: administradores
gidNumber: 26000
 
#		USUARIOS
dn: uid=usuario1,ou=Users,dc=midominio,dc=com,dc=ar
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: usuario1
sn: usuario1
givenName: usuario1
cn: Pepe Puertas
displayName: Pepe Puertas
uidNumber: 26001
gidNumber: 26000
userPassword: {crypt}$1$hzFrywwZ$QLx4hBHkTS9NaG.C6bkwe.
gecos: Pepe Puertas
loginShell: /bin/bash
homeDirectory: /home/usuario1
ldapadd -x -D cn=admin,dc=midominio,dc=com,dc=ar -W -f /opt/crearOU_Grupos_Usuarios.ldif

Con esto deberíamos tener andando el servidor Ldap, con el usuario Pepe integrante del grupo Administradores