Table of Contents

phpLDAPadmin

Présentation

phpLDAPadmin est un outil d'administration LDAP écrit en PHP.

phpLDAPadmin se connecte au serveur avec un DN et un mot-de-passe statique et ne requiert ainsi aucune authentification. L'accès à phpLDAPadmin sera protégé par LemonLDAP::NG avec une règle particulière d'accès.

phpLDAPadmin ne connaît donc pas le nom du l'utilisateur connecté au WebSSO. Ainsi un simple utilisateur aura un accès administrateur au serveur LDAP si votre règle d'accès est trop permisive.

Configuration

Configuration locale phpLDAPadmin

Mettre juste le type d'authentification à config et indiquer le DN et le mot-de-passe dans le fichier config.php:

$ldapservers->SetValue($i,'server','auth_type','config');
$ldapservers->SetValue($i,'login','dn','cn=Manager,dc=example,dc=com');
$ldapservers->SetValue($i,'login','pass','secret');

Hôte virtuel phpLDAPadmin

Configurer l'hôte virtuel phpLDAPadmin comme n'importe quel autre hôte virtuel protégé.

<VirtualHost *:80>
       ServerName phpldapadmin.example.com
 
       PerlHeaderParserHandler Lemonldap::NG::Handler
 
       ...
 
</VirtualHost>
server {
  listen 80;
  server_name phpldapadmin.example.com;
  root /path/to/application;
  # Requête interne d'authentification
  location = /lmauth {
    internal;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
    # Ignorer les données postées
    fastcgi_pass_request_body  off;
    fastcgi_param CONTENT_LENGTH "";
    # Conserver le nom d'hôte original
    fastcgi_param HOST $http_host;
    # Conserver la requête originale (le serveur LLNG va recevoir /llauth)
    fastcgi_param X_ORIGINAL_URI  $request_uri;
  } 
 
  # Requêtes clients
  location / {
    auth_request /lmauth;
    auth_request_set $lmremote_user $upstream_http_lm_remote_user;
    auth_request_set $lmlocation $upstream_http_location;
    error_page 401 $lmlocation;
    try_files $uri $uri/ =404;
 
    ...
 
    include /etc/lemonldap-ng/nginx-lua-headers.conf;
  }
  location / {
    try_files $uri $uri/ =404;
  }
}

Hôte virtuel phpLDAPadmin dans le manager

Aller dans le manager et créer un nouvel hôte virtuel pour phpLDAPadmin.

Configurer simplement la règle d'accès.

Aucun en-tête n'est nécessaire.