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
Comentarios
Doc, te pasaste. Excelente
Doc, te pasaste. Excelente tutorial, justo lo que andaba buscando. Me acabo de suscribir. Saludos desde Perú.
Bueno esta excelente el
Bueno esta excelente el tutorial solo hace falta donde y como asignar contraseña de administrador me falta solo eso.....gracias
Hola Sergio, No se si te
Hola Sergio,
No se si te referiras a como cambiar la contraseña del root del mysql, si es eso aquí tienes como cambiar la contraseña del usuario root de mysql.
Saludos
Hola Tengo un
Hola
Tengo un inconveniente, instale el ldap y lueho el phpldapadmin, y cuando lo abro en el navegador me sale lo siguiente:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /usr/share/phpldapadmin/lib/server_functions.php on line 16
Tengo hecho el link al documentroot del apache, como asi tambien copie el directorio phpldapadmin al raiz web y nada.-
Alguna idea?
gracias
Hola Fabian, ¿Que version
Hola Fabian,
¿Que version de php, mysql y phpldapadmin estas usando?
Saludos
hola: buen tuto, solo tengo
hola: buen tuto, solo tengo una pregunta, existe la forma de que el usuario solo pueda ver su nivel en el arbol en que se encuentra sin tener acceso a los demas niveles ?
saludos y grax por el tutorial
Hola demonazz, Con ldap
Hola demonazz,
Con ldap puedes decirle que ciertos campos solo los puede ver el propietario de estos. Esto se hace a través de ACL (access control list). Aunque creo que en el phpLDAPadmin te saldran todo el arbol, pero dentro de cada uno no te saldran los datos que no quieras que vean de los demás.
Siento no serte de más ayuda.
Saludos
grax, ya estoy checando los
grax, ya estoy checando los acl, pero ahora tengo otro problema cuando quiero agregar un atributo me sale el siguiente error:
Error:Array to string conversion (E_NOTICE)
File:
add_attr_form.php line 27, caller cmd.php
Versions:
PLA: 1.1.0.4, PHP: 5.2.4-2ubuntu5.10, SAPI: apache2handler
Web server:
Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_R/1.1.8 R/2.6.2 PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch
Error:
Array to string conversion (E_NOTICE)
File:
add_attr_form.php line 28, caller cmd.php
Versions:
PLA: 1.1.0.4, PHP: 5.2.4-2ubuntu5.10, SAPI: apache2handler
Web server:
Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_R/1.1.8 R/2.6.2 PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch
Error:
Array to string conversion (E_NOTICE)
File:
add_attr_form.php line 31, caller cmd.php
Versions:
PLA: 1.1.0.4, PHP: 5.2.4-2ubuntu5.10, SAPI: apache2handler
Web server:
Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_R/1.1.8 R/2.6.2 PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch
tendras alguna respuesta para esto.
saludos
Hola a Todos. Tengo un
Hola a Todos. Tengo un pequeño problema intento entrar a mi phpldapadmin como administardor y me dice contraseña es incorrecta, ya la he cambiado varias veces con el comando slappasswd, y tambien he copiado la clave encriptada que me da en el slapd.conf pero sigo sin poder entrar. Alguien me puede decir cual es mi error??? Gracias
Hola, disculpa la pregunta,
Hola, disculpa la pregunta, es posible usar php ldap admin con mysql para crear usuarios desde una pagina web (php por ejemplo), soynuevo en esto y la verdad me surgio la duda, si es asi donde se encuentran las fuentes de informacion y donde puedo conseguir algunos ejemplos, gracias
Simplemente ¡perfecto!
Simplemente ¡perfecto!
Un saludo.
Hola, he tenido el mismo
Hola, he tenido el mismo problema a fecha de hoy, unos cuantos días despues de tu post, pero escribo dejando ayuda a los proximos, simplemente eliminé la ruta /etc/openldap/slapd.d y asunto solucionado, ya pude hacer consulta por línea de comandos y pude logearme por web, ahora tengo otro impase y es que me dice que la base no se puede crear con PLA, y en eso estoy viendo de que se trata. Saludos.
el problema que tengo es que
el problema que tengo es que estoy configurando un parfil de usuario para LDAP para que los usuarios puedan camviar las contraseñas y cuando y el perfil de uduario no se conecta a las a la base de datos del ldap que puedo hacer soy nuevo y todo lo estoy haciendo por via wep no me gusta mucho los codigos
oe el problema que tengo con
oe el problema que tengo con el ldap es que lo estoy configurando para usuarios de correo , navegacion (Proxy), Jabber asta hay todo esta vien pero quiero que los usiarios pueda canviar sus contraseñas cada ves que quieran (es desir crear un perfil de usuario) como lo puedo hacer
<p>hola, muy buena guia de
hola, muy buena guia de instalacion. Necesitaria un link a donde pudiese buscar documenacion hacerca de la aplicacion para indagar mas en las prestaciones que brinda. Saludos
Añadir nuevo comentario