Install OpenLDAP Server
- 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:
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
- Install the Package:
sudo apt install phpldapadmin
- If you use Apache Web Server, it will create a config file:
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:
Line 296 is commented out by default, which means the standard port 389 will be used:
Line 335 is commented out by default, which means TLS encryption is not enabled:
Change line 300 to:
By default, anonymous login is enabled, Disable it:
Disable template warnings, Go to line 161:
$config->custom->appearance['hide_template_warning'] = true;
Save and close the file.
- Access web interface at:
cn=admin,dc=testlab,dc=com Admin password
- Create Organizational Unit(OU):
Click on the “+” sign near the line “dc=testavi” and click “Create new entry here” link. Scroll down and Select “Generic-Organizational Unit”. Enter the name of the Organizational unit (Ex.sales) and Click “Create Object”. Finally, click “Commit”.
- Create Group:
Click on the sales OU on the left pane and click on “Create a child entry” link. In the next window, Select “Generic: Posix Group”. Enter the name of the group “sales-group” and click Create Object button. Click Commit to save changes.
- Create User:
Click on the sales-group on the left. Select Create a child entry link button. In the next window, Select “Generic: User Account”. Enter the user details such as common name, GID number, last name, Login shell, user password and user id etc. Then Click “Commit” to save the changes.
Verify with the command:
StartTLS LDAP Encryption
|This section is under construction.|
blog comments powered by Disqus