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');
$servers->setValue('login','bind_id','cn=admin,dc=TUBASE');
La información se ha obtenido de: https://help.ubuntu.com/10.04/serverguide/openldap-server.html