doc/developer_manual/cookbook/how-to-setup-ldap-integration.md
For development purposes, it's possible to set up LDAP integration for a local Zammad instance. However, since the approach uses an example LDAP service, this is considered unsafe for production. You've been warned!
You can leverage an LDAP Docker container for a quick-n-dirty local service. It comes prefilled with some sample users and groups.
You will first need to build a local image in order to use it. The definition is located in the Zammad checkout:
cd doc/developer_manual/assets/ldap
docker build -t zammad-ldap .
Next, you can run the container in one of the following ways.
docker run --name zammad-ldap --detach -p 389:389 zammad-ldap
ldap:
container_name: zammad-ldap
image: zammad-ldap
ports:
- 389:389
restart: unless-stopped
zammad-ldap under Name.localhost under Host.cn=admin,dc=foo,dc=example,dc=com under Bind User.test under Bind Password.Finally, turn on the toggle switch on top to activate the feature. Wait a bit until the background job does the first
sync. You will then be able to find newly imported users under Manage > Users section. All users have test set as
their password in the LDAP directory.
You can browse and manage local LDAP directory, if you wish to make any changes.
If you are on macOS, you can use handy Apache Directory Studio utility to connect to the local LDAP server.
First, install it via Homebrew:
arch -x86_64 brew install oracle-jdk
brew install apache-directory-studio
Start the newly installed ApacheDirectoryStudio.app and add a new connection.
zammad-ldap under Connection Name.localhost under Hostname.cn=admin,dc=foo,dc=example,dc=com under Bind DN or user.test under Bind password.You should now be connected and able to browse LDAP directory using the LDAP Browser panel on the left. Drill down
the Root DSE to enter the directory and see objects. First level objects are users/accounts, and groups are listed
under ou=groups. Note that some groups have a hierarchy defined via their member attributes.