Añadir nuevo comentario

Instalar phpLDAPadmin

phpLDAPadmin

Introducción

phpLDAPadmin es un gestor web para un servidor de ldap.

Instalación

Manual

La instalación es sencilla. Hay que bajarselo, descomprimirlo, ponerlo ene l apache y configurar los datos para que acceda a nuestro servidor de ldap:

>> wget http://nfsi.dl.sourceforge.net/sourceforge/phpldapadmin/phpldapadmin-1.1.0.7.tar.gz
>> tar -zxvf phpldapadmin-1.1.0.7.tar.gz
>> sudo cp -R phpldapadmin-1.1.0.7 /var/www/html/phpldapadmin
>> sudo cp /var/www/html/phpldapadmin/config/config.php.example /var/www/html/phpldapadmin/config/config.php

Automatica

Necesitaremos tener un servidor web con php y un servidor mysql con una base de datos para el phpldapadmin. Para instalarlo en ubuntu, desde los repositorios:

>> sudo aptitude install phpldapadmin

Indicarle los datos de conexión

Editamos el fichero y nos aseguramos que rellenamos los siguientes campos que son los minimos:

$i=0;
$ldapservers = new LDAPServers;
...
$ldapservers->SetValue($i,'server','name','NOMBRE_SERVIDOR');
...
$ldapservers->SetValue($i,'server','host','IP_DEL_SERVIDOR_DONDE_ESTA_EL_LDAP');
...
$ldapservers->SetValue($i,'server','port','389');
...
$ldapservers->SetValue($i,'server','base',array('RAIZ_BASE_DE_NUESTRO_LDAP'));

Ya tendria que funcionar el phpLDAPadmin.

Configuración

Cambiar la forma de autentificarse

Por defecto la forma que usa para autentificarse con el servidor de ldap es manual (tenemos que introducir un usuario y una contraseña), pero podemos ponerla en automática. Para usar una u otra tendremos que tener el fichero de configuración como nos indica en cada apartado:

Automáticamente

Para que se conecte automáticamente al servidor de ldap, con un usuario cn=root,dc=example,c=es y contraseña passuser, tendremos que usar las siguientes líneas en el fichero de configuración (/var/www/html/phpldapadmin/config/config.php):

$ldapservers->SetValue($i,'server','auth_type','config');
$ldapservers->SetValue($i,'login','dn','cn=root,dc=example,c=es');
$ldapservers->SetValue($i,'login','pass','passuser');
$ldapservers->SetValue($i,'server','tls',false);

Manual

Para que nos pida que introduzcamos un usuario y clave del ldap para conectarnos al servidor, usaremos las siguientes líneas (recalcar que las variables dn y pass de login, tenemos que dejarlas vacías) en el fichero de configuración (/var/www/html/phpldapadmin/config/config.php):

$ldapservers->SetValue($i,'server','auth_type','cookie');
$ldapservers->SetValue($i,'login','dn','');
$ldapservers->SetValue($i,'login','pass','');
$ldapservers->SetValue($i,'server','tls',false);
$config->custom->session['blowfish'] = "cadena";

La cadena blowfish puede ser cualquier cadena (se usa para encriptar la cookie).

 Solo queremos que muestre unos determinados campos

Si lo que queremos es que no muestre todos los atributos tendremos que editar el fichero /var/www/html/phpldapadmin/config/config.php y buscar el vector hidden_attrs, descomentarlo si está comentado y poner los campos que no queramos que se muestren. Por ejemplo: Si no queremos que se muestren los campos uidNumber, gidNumber, homeDirectory y objectClass tendremos que poner la siguiente línea:

$hidden_attrs = array(
   'uidNumber','gidNumber', 'homeDirectory', 'objectClass');

Guardamos el fichero y ya esta.

Cambiar los nombres que se muestran de cada parametro

Alguien que no tiene conocimientos de ldap cuando vea que hay que rellenar el parámetro l (ciudad) puede que no sepa que significa. Phpldapadmin tiene la posibilidad de definir el nombre que se lista para cada parámetro. Para ello tendremos que editar el fichero /var/www/html/phpldapadmin/config/config.php y añadir en el vector friendly_attrs los campos que queremos renombrar en la salida. Por ejemplo: si queremos que los campos l, st y sn aparezcan como Ciudad, Localidad y Apellidos tendremos que añadir als siguientes líneas:

$friendly_attrs = array();

$friendly_attrs['l']                      = 'Ciudad';
$friendly_attrs['st']                     = 'Localidad';
$friendly_attrs['sn']                     = 'Apellidos';

Solo nos quedará guardar los cambios y cerrar el archivo.

Definir el orden en que se listan los parametros

Hay una opcion (attrs_display_order) para definir el orden en el que se muestran los parámetros. Por ejemplo: si queremos que primero nos pregunte por el nombre, luego por los apellidos y por último el nombre completo, tendríamos que añadir la siguiente variable al archivo /var/www/html/phpldapadmin/config/config.php:

  $attrs_display_order = array(
   'sn',
   'cn',
   'displayName'
  );

Los parámetros que no pongamos en este vector  se mostraran despues de los que hallamos indiado y en orden alfabético. Guardamos el fichero para mantener los cambios.

Parametros de solo lectura

Si queremosq eu ciertos parametros no se puedan modificar, podemos hacerlo con el parámetro read_only_attrs. Por ejemplo: si queremos que el campo dni no se pueda modificar, tendremos que añadir el siguiente vector al archivo /var/www/html/phpldapadmin/config/config.php:

$read_only_attrs = array( 'dni' );

Guardamos y listo.

Entrar solo con el nombre de un parámetro único

Por defecto para autentificarnos en phpLDAPadmin tenemos que escribir el dn de nuestro usuario. El dn es el que identifica a un objeto y tiene una forma parecida a este ejemplo uid=manolo,ou=personas,o=tuempresa,c=es. Poner toda esta cadena para autentificarte no es nada comodo, pero podemos sustituir el nombre que el usuario utiliza para autentificarse por uno que sea único y más sencillo de recordar, por ejemplo el uid. Para ello tendremos que editar el fichero /var/www/html/phpldapadmin/config/config.php y descomentar y modificar la siguiente línea:

$ldapservers->SetValue($i,'login','attr','uid');

Guardamos los cambios y ya esta.

Elegir el idioma

Para indicar que lo muestre en español (es) tendremos que editar el fichero /var/www/html/phpldapadmin/config/config.php y editar la siguiente línea:

$config->custom->appearance['language'] = 'es';

Otros idiomas serian: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', y 'ru'.

Activar el log

Para activar el log y que escriba en un fichero /tmp/pla_debug.log tendremos que editar el fichero /var/www/html/phpldapadmin/config/config.php y añadir o descomentar estas líneas:

$config->custom->debug['level'] = 255;
$config->custom->debug['syslog'] = true;
$config->custom->debug['file'] = '/tmp/pla_debug.log';

Errores

Límite de memoria de php bajo

Al instalarlo, cuando accedemos a la url nos aparece el siguiente mensaje de error:

Memory Limit low.
Your php memory limit is low - currently 16M

Solución

Tendremos que editar el fichero /etc/php.ini y buscar la siguiente línea:

memory_limit = 16M

Cambiamos el 16 por 32. Guardamos el fichero y reiniciamos el apache:

>> sudo /etc/init.d/httpd restart