Table of Contents

phpldapadmin

Instalacion

1. Instalar paquetes:

sudo aptitude update; sudo aptitude install libapache2-mod-php5 php5-mysqlnd php5-ldap

2. Descargar las fuentes:

http://sourceforge.net/projects/phpldapadmin/files/

sudo mkdir /srv/www
cd /srv/www
sudo wget -c --tries=0 http://sourceforge.net/projects/phpldapadmin/files/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.tgz

3. Descomprimir y preparar el directorio:

sudo gzip -d phpldapadmin-1.2.3.tgz
sudo tar xvf phpldapadmin-1.2.3.tar
sudo ln -s phpldapadmin-1.2.3 phpldapadmin
sudo mv phpldapadmin-1.2.3.tar ~
sudo chown -R www-data:www-data phpldapadmin*

4. Editar el archivo de configuracion:

cd /srv/www/phpldapadmin/config
sudo cp config.php.example config.php
sudo vim config.php

Y anyadir esto al final:

$servers->setValue('server','host','ldap.example.com');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=example,dc=com'));
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');
$config->custom->debug['file'] = '/var/log/pla_debug.log';

Errores

La version 1.2.3 tiene problemas de compatibilidad con PHP 5.5+. Solucion rapida:

1. Renombrar la funcion “password_hash()”

sudo sed -i 's/password_hash/password_hash_custom/g' /srv/www/phpldapadmin-1.2.3/lib/functions.php

2. Editar los siguientes archivos:

/srv/www/phpldapadmin-1.2.3/lib/ds_ldap.php
/srv/www/phpldapadmin-1.2.3/lib/functions.php

Y cambiar las lineas donde se llama la funcion “preg_replace()”

# ANYADIDO. Error PHP 5.5+
#$a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
$a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',function ($res) {return chr(hexdec($res));},$rdn);

y:

#return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/',function ($res) {return chr(hexdec($res));},$dn);