LDAP: Difference between revisions
Content added Content deleted
Line 70: | Line 70: | ||
sudo nano /etc/phpldapadmin/config.php |
sudo nano /etc/phpldapadmin/config.php |
||
Since OpenLDAP and phpLDAPadmin are running on the same machine, |
Since OpenLDAP and phpLDAPadmin are running on the same machine, Line 293 specifies that phpLDAPadmin will connect to localhost: |
||
Line 293 specifies that phpLDAPadmin will connect to localhost. |
|||
$servers->setValue('server','host','127.0.0.1'); |
$servers->setValue('server','host','127.0.0.1'); |
||
Line 296 is commented out by default, which means the standard port 389 will be used |
Line 296 is commented out by default, which means the standard port 389 will be used: |
||
// $servers->setValue('server','port',389); |
// $servers->setValue('server','port',389); |
||
Line 335 is commented out by default, which means TLS encryption is not enabled |
Line 335 is commented out by default, which means TLS encryption is not enabled: |
||
// $servers->setValue('server','tls',false); |
// $servers->setValue('server','tls',false); |
||
Change line 300 to: |
|||
$servers->setValue('server','base',array('dc=example,dc=com')); |
|||
Change it to: |
|||
$servers->setValue('server','base',array()); |
$servers->setValue('server','base',array()); |
||
By default, anonymous login is enabled, Disable it: |
|||
This will let phpLDAPadmin automatically detect the base DN of your OpenLDAP server. Next, you can disable anonymous login. Go to line 453. |
|||
// $servers->setValue('login','anon_bind',true); |
|||
By default, anonymous login is enabled. To disable it, you need to remove the comment character (the two slashes) and change true to false. |
|||
$servers->setValue('login','anon_bind',false); |
$servers->setValue('login','anon_bind',false); |
||
Disable template warnings, Go to line 161: |
|||
// $config->custom->appearance['hide_template_warning'] = false; |
|||
Remove the comment character and change false to true. |
|||
$config->custom->appearance['hide_template_warning'] = true; |
$config->custom->appearance['hide_template_warning'] = true; |
||
Revision as of 12:43, 14 March 2019
Install OpenLDAP Server
Source: linuxbabe.com
- Install Stand-Alone LDAP Daemon:
sudo apt install slapd ldap-utils
- Set a password for the admin entry in the LDAP directory
- Check out status of slapd
systemctl status slapd
- Basic Post-Installation Configuration:
sudo dpkg-reconfigure slapd
Omit LDAP server configuration: NO DNS domain name: Enter your domain name: testlab.com Organization name: TestLab Administrator password: Enter the same password set during installation Database backend: MDB: BDB (Berkeley Database) is slow and cumbersome. It is deprecated and support will be dropped in future OpenLDAP releases. HDB (Hierarchical Database) is a variant of the BDB backend and will also be deprecated. MDB reads are 5-20x faster than BDB. Writes are 2-5x faster. And it consumes 1/4 as much RAM as BDB. Do you want the database to be removed when slapd is purged? No Move old database? Yes Allow LDAPv2 protocol? No The latest version of LDAP is LDAP v.3, developed in 1997. LDAPv2 is obsolete.
- Configuring the LDAP Clients:
sudo nano /etc/ldap/ldap.conf
Need to specify two parameters:
Base DN URI of our OpenLDAP server
Copy and paste the following text at the end of the file:
BASE dc=testlab,dc=com URI ldap://localhost
- If you used a subdomain when configuring OpenLDAP server, then you need to add the subdomain here like so
BASE dc=subdomain,dc=testlab,dc=com ldap://localhost
- Testing OpenLDAP Server:
ldapsearch -x
Indicates that OpenLDAP server is working:
Result: 0 Success
If you get the following line, then it’s not working:
result: 32 No such object
phpLDAPadmin WebUI
- Install the Package:
sudo apt install phpldapadmin
- If you use Apache Web Server, it will create a config file:
/etc/apache2/conf-enabled/phpldapadmin.conf
- Access web interface at:
http://your-server-ip/phpldapadmin
To enable HTTPS, you can obtain and install a free TLS certificate issued from Let’s Encrypt.
- Configuring phpLDAPadmin:
sudo nano /etc/phpldapadmin/config.php
Since OpenLDAP and phpLDAPadmin are running on the same machine, Line 293 specifies that phpLDAPadmin will connect to localhost:
$servers->setValue('server','host','127.0.0.1');
Line 296 is commented out by default, which means the standard port 389 will be used:
// $servers->setValue('server','port',389);
Line 335 is commented out by default, which means TLS encryption is not enabled:
// $servers->setValue('server','tls',false);
Change line 300 to:
$servers->setValue('server','base',array());
By default, anonymous login is enabled, Disable it:
$servers->setValue('login','anon_bind',false);
Disable template warnings, Go to line 161:
$config->custom->appearance['hide_template_warning'] = true;
Save and close the file.