Install and configure OpenLDAP
This chapter is not related to Dolibarr iself. It contains a tutorial to install a LDAP annuary that could be linked with Dolibarr.
Install LDAP server
- With Ubuntu or Debian, install package slapd and ldap.
- With Windows, you can use the install program of OpenLDAP.
Once this is done, you have an empty LDAP server launched as a service.
Setup server
For Ubuntu, see page http://doc.ubuntu-fr.org/openldap-server
Otherwise the DN root, user and password to connect may be available into:
- file slapd.conf. Port may also be into this file, if not, it is default port value: 389.
- file olcDatabase={1}hdb.ldif. Entry with login/pass are olcRootDN and olcRootPW.
Stop the service
Modify file slapd.conf to use your domain name (replace all dc=my-domain,dc=com by value of your choice).
Modify file slapd.conf also to add includes of schemas you will need to declare your LDAP objects.
include ./schema/core.schema
include ./schema/cosine.schema
include ./schema/inetorgperson.schema
include ./schema/nis.schema
or add shemas with
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Restart the service.
Test server
With a LDAP browser like JXplorer, you can try to connect to your LDAP server using the admin LDAP user. Credentials by default are:
- Server: Localhost
- Port: 389
- User: cn=admin,dc=example,dc=com or cn=Manager,dc=example,dc=com or cn=admin,dc=nodomain
- Password: secret
- Base DN (optionnel): keep empty or set dc=mydomain,dc=com
Create your LDAP tree
Next step is to define information to store into your LDAP.
Create a file init.ldif with your organization. For example:
# Organization
dn: dc=mydomain,dc=com
objectclass: dcObject
objectclass: organization
dc: mydomain
o: Description of annuary
description: The description of annuary
# Setting up container for Users OU
dn: ou=People,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: People
# Setting up container for groups
dn: ou=Groups,dc=mydomain,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Groups
Execute file using the LDAP admin user:
ldapadd -f init.ldif -D "cn=Manager,dc=mydomain,dc=com" -w secret
or
ldapadd -f init.ldif -D "cn=admin,dc=mydomain,dc=com" -w secret
Troubleshooting
With Windows, it server is stop suddenly, restart of OpenLDAP may fails with error Program version x.y doesn't match environment version
To confirm problem, go onto DOS under directory data of OpenLDAP and launch command
..\db_stat -e
If message is the one described, launch repare of base with
..\db_recover
Server should be able to start again.