Sebastian Otaegui feniix@gmail.com
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with phpldapadmin
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
The phpldapadmin module installs and configures phpldapadmin.
This module installs phpldapadmin, and sets up the file '/etc/phpldapadmin/config.php' with provided user/password and hostname.
- Install the
phpldapadmin
package. - Modify the file
/etc/phpldapadmin/config.php
with custom values.
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->newServer('ldap_pla');
\$servers->SetValue('server','name','LDAP MyDomain (slave)');
\$servers->SetValue('server','host','ldap2.mydomain.org');
\$servers->SetValue('server','port','389');
\$servers->SetValue('server','base',array('dc=mydomain,dc=org','cn=config'));
\$servers->SetValue('login','auth_type','session');
\$servers->SetValue('login','bind_id','cn=admin,dc=mydomain,dc=org');
\$servers->SetValue('server','tls',false);
\$servers->SetValue('appearance','password_hash','crypt');
\$servers->SetValue('server','read_only',false);
\$servers->SetValue('appearance','show_create',true);
\$servers->SetValue('auto_number','enable',false);"
}
or in hiera
---
phpldapadmin::extraconf : |
$servers->newServer('ldap_pla');
$servers->SetValue('server','name','LDAP MyDomain (slave)');
$servers->SetValue('server','host','ldap2.mydomain.org');
$servers->SetValue('server','port','389');
$servers->SetValue('server','base',array('dc=mydomain,dc=org','cn=config'));
$servers->SetValue('login','auth_type','session');
$servers->SetValue('login','bind_id','cn=admin,dc=mydomain,dc=org');
$servers->SetValue('server','tls',false);
$servers->SetValue('appearance','password_hash','crypt');
$servers->SetValue('server','read_only',false);
$servers->SetValue('appearance','show_create',true);
$servers->SetValue('auto_number','enable',false);
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
.
-
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.
####ldap_host
Parameter that controls the ldap the phpldapadmin needs to connect.
ldap_host
can either be an ipv4 address or a hostname.
####ldap_suffix
Parameter that controls the top level suffix for the ldap.
ldap_suffix
must be a string with the appropriate suffix.
####ldap_bind_id
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.
####ldap_bind_pass
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.
To do