Installation and Configuration of LDAP Addressbook Plugin

Installation

Install the package open-xchange-contacts-ldap.


Configuration

The configuration of the package can be found below the directory /opt/open-xchange/etc/groupware/contacts-ldap.

Change into that directory and run the following commands:

cp mapping.ads.properties.example mapping.ads.properties
mv 111 1
cd 1
cp LDAPglobal1.properties.example LDAPglobal1.properties


now open LDAPglobal1.properties with an editor and change the following values:


All occurrences of context111 must be replaced with context1. The easiest way to do that is with vim. Just open the file with vim LDAPglobal1.properties.


Then enter

:1,$s/context111/context1/g

That should replace everything.


com.openexchange.contacts.ldap.context1.LDAPglobal1.uri=ldap://172.18.16.21
com.openexchange.contacts.ldap.context1.LDAPglobal1.baseDN_users= DC=example,DC=com
com.openexchange.contacts.ldap.context1.LDAPglobal1.AdminDN= CN=Administrator,DC=example,DC=com
com.openexchange.contacts.ldap.context1.LDAPglobal1.AdminBindPW=secret
com.openexchange.contacts.ldap.context1.LDAPglobal1.searchfilter= (objectclass=user)
com.openexchange.contacts.ldap.context1.LDAPglobal1.authtype=AdminDN


After the changes have been applied, the server must be restarted.

To check, whether the plugin has been started successfully, run


/opt/open-xchange/sbin/listbundles | grep contacts.ldap


The following output should appear:


bundlename: com.openexchange.contacts.ldap status: ACTIVE


Then everything should work.


Using the distribution list feature

To make that work, the following changes must be applied:


Then add the following lines to /opt/open-xchange/etc/groupware/contacts-ldap/1/LDAPglobal1.properties:

# Specify the searchfilter for the global ldap folder here
com.openexchange.contacts.ldap.context1.LDAPglobal1.searchfilter= (&(objectclass=user)(sAMAccountName=*))

# Specify what types of contacts should be display. Maybe "users",
# "distributionlists", or "both"
com.openexchange.contacts.ldap.context1.LDAPglobal1.contactTypes=distributionlists

# Specify the searchfilter for distributionlists of the global ldap folder
# here. Optional if contactTypes is "users"
com.openexchange.contacts.ldap.context1.LDAPglobal1.searchfilter_distributionlist=(&(objectclass=group)(groupType=2))

# Specify the search base for distributionlists here (sub, base, one).
# This should only be specified if this is different from the searchScope
# parameter.
com.openexchange.contacts.ldap.context1.LDAPglobal1.searchScope_distributionlist=sub

# Specify the baseDN for distributionlists of the global ldap folder here.
# Optional if contactTypes is "users"
com.openexchange.contacts.ldap.context1.LDAPglobal1.baseDN_distributionlist=DC=example,DC=com


If you want to to have all users including distribution lists within the ldap addressbook, you can change

com.openexchange.contacts.ldap.context1.LDAPglobal1.contactTypes

to “both” instead of “distributionlists”. The users are already available in the Open-Xchange database, though.

OLOX2 Compatibility

If you plan to use contacts-ldap together with OLOX2 you should make sure that no memory mapping is used, otherwise you will get duplicates after a restart of the server. In an ADS scenario with one ADS server you can therefore set the memorymapping setting to false and change the uniqueid settings in the mappingfile to uSNCreated. Note that you have to change that setting for contacts and distributionlists if you use both.