====== 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);