Install and configure phpldapadmin

Spantree Technology Group, LLC



2,853 latest version

5.0 quality score

Version information

  • 0.2.0 (latest)
  • 0.1.2
  • 0.1.1
  • 0.1.0
  • 0.0.13
  • 0.0.12
  • 0.0.11
  • 0.0.10
  • 0.0.9
  • 0.0.8
  • 0.0.6
  • 0.0.5
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Jul 22nd 2019
This version is compatible with:
  • Puppet Enterprise 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >=4.10.0 <6.7.0
  • Debian

Start using this module


spantree/phpldapadmin — version 0.2.0 Jul 22nd 2019


Build Status

Sebastian Otaegui

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with phpldapadmin
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


The phpldapadmin module installs and configures phpldapadmin.

Module Description

This module installs phpldapadmin, and sets up the file '/etc/phpldapadmin/config.php' with provided user/password and hostname.


What phpldapadmin affects

  • Install the phpldapadmin package.
  • Modify the file /etc/phpldapadmin/config.php with custom values.

Beginning with phpldapadmin

puppet module install spantree-phpldapadmin and follow the instructions specified on the Usage section.


class { 'phpldapadmin':
  ldap_host      => 'localhost',
  ldap_suffix    => 'dc=domain,dc=tld',
  ldap_bind_id   => 'cn=admin,dc=domain,dc=tld',
  ldap_bind_pass => 'password',
  extraconf      => "
      \$servers->SetValue('server','name','LDAP MyDomain (slave)');

or in hiera

phpldapadmin::extraconf : |
  $servers->SetValue('server','name','LDAP MyDomain (slave)');

To use the module with CentOS you need to add the EPEL repository, one way to do that is to use the module stahnma/epel.


Public classes

Private classes

  • phpldapadmin::config: writes the file /etc/phpldapadmin/config.php with proper values.

  • phpldapadmin::package: installs the package using the package manager.

###Class: phpldapadmin

This class is provided to do the basic setup tasks required for using phpldapadmin.

At the moment if does not take care of setting up a web server to serve the web pages.


Parameter that controls the ldap the phpldapadmin needs to connect.

ldap_host can either be an ipv4 address or a hostname.


Parameter that controls the top level suffix for the ldap.

ldap_suffix must be a string with the appropriate suffix.


Parameter that controls the id used to bind and manage the ldap.

ldap_bind_id must be a user that has administrative access to the ldap server.


Optional parameter that controls the password of the user specified in the ldap_bind_id parameter.

If not specified, you wil be prompted for the password.


This module has been tested on Ubuntu 14.04 and CentOS 6.5. It should also work on Debian/Ubuntu 12.04, RedHat/CentOS 7 and FreeBSD 10+.

At the moment it does not configure the phpldapadmin app with SASL.


Use your favorite text editor (mine is vim) and run bundle exec rake test to test, don't forget to bundle install first.

Release Notes/Contributors/Etc

To do