martes, 13 de noviembre de 2012

Servidor LDAP en Ubuntu

Primero  instalamos algunos paquetes:

sudo apt-get install slapd ldap-utils phpldapadmin
 
Después añadimos algunos esquemas:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif 
 

Después  creamos un fichero en algún sitio temporal (NO en la carpeta de configuración LDAP), llamado backend.example.com.ldif

IMPORTANTE:  Debes cambiar los valores necesarios de dc, para poner tus datos.

# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=com
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=example,dc=com
olcRootPW: secret
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read
 
 
Añadimos el fichero:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif
 

Creamos otro fichero, llamado frontend.example.com.ldif


dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups
 
Y lo añadimos:

sudo ldapadd -x -D cn=admin,dc=example,dc=com -W -f frontend.example.com.ldif
 
 
Con eso queda listo el servidor LDAP. Ya podemos añadir usuarios y grupos.


Para usar phpldapadmin para administrar el servidor LDAP, debemos cambiar la configuración en /etc/phpldapadmin/config.php

$servers->setValue('server','base',array('dc=TUBASE'));
$servers->setValue('login','bind_id','cn=admin,dc=TUBASE');


No hay comentarios:

Publicar un comentario