---
title: "Active Directory (AD) on-premise for Linux | Vizito Help Center"
description: "Active Directory (AD) on-premise for Linux | Integrate active directory AD user information colleagues employees hosts for notifications to host LDAP for …"
url: https://vizito.eu/faq/integrations/linux-ldap/
language: en
---

# Active Directory (AD) on-premise for Linux

Pieter-Jan Dries · Sep 1, 2026 · 4 min

In this article

If you need any help configuring the following steps, be sure to get in touch: [info@vizito.be](mailto:info@vizito.be) or via chat.

The AD integration is configured by using the Vizito AD client which needs to be installed on a device/server which the tablet can connect to. So the tablet needs to be able to communicate to this device/server via its network.

Please find a schematic representation below: ![Vizito ldap client network](https://vizito.eu/faq/integrations/linux-ldap/ldap_client_network.png?width=900)

### Step 1: NodeJS

Download and install the latest version of NodeJS from the [NodeJS website](https://nodejs.org/en).

### Step 2: Vizito AD client

[Download](https://bitbucket.org/modulage/ldap_client/downloads/) and extract our Vizito AD client to a folder of your choice

### Step 3: Config

Edit config.json to match your environment.

Here you can find the configuration values and a description of what information you need to enter:

| **JSON property** | **Mandatory** | **Description** |
| --- | --- | --- |
| ldap\*url | Yes | The internal URL / IP of your LDAP server. Example: \_ldap://ldap.forumsys.com .\* |
| ldap\*bind\_credentials.user\_cn | Yes | The user CN that is used for the LDAP bind. Usually a specific technical user is created for this with read only rights. |
| ldap\_bind\_credentials.password | Yes | The password for the LDAP bind user. |
| search\_scope | Yes | This configures the search depth: \_base\* - searches only the search_base level; \_one_ - searches only the immediate subordinates to the base object, but does not include the base object itself; _sub_ - this searches the search\*base level and all of its subtrees. |
| search\*base | Yes | The search base used for looking up CN entries. This should be the top level of your LDAP domain where you want to look for entries. |
| mobile\_prefix | No | If your LDAP dictionary contains local or internal mobile phone numbers (without country code), you can add a prefix containing the country code. The first character of the local or internal mobile phone number will be replaced with this prefix. |
| ldap\_filter | No | If you want to filter the LDAP search results, you can do so using an ldap filter. This searches only for matching records. |
| Examples of this filter are: only persons belonging to a specific group, only persons having a mobile phone number configured, … . |  |  |
| An example of a filter: \*(&(memberof=OU=VizitoGroup,OU=Applications,OU=Groups,DC=company,DC=com))\* . |  |  |
| api\*port | Yes | Default value: \_48800\*. This configures the port at which the node application will listen for HTTP(s) requests. |
| use\*ssl\_for\_api | Yes | Default value: \_false\*. If set to \_true\_, it will use the _ssl.ca_, _ssl.key_ and _ssl.cert_ configuration items to load a private key / public key pair for enabling TLS communication. |
| Read up on [creating your own self-signed certificates using a custom root CA](https://gist.githubusercontent.com/fntlnz/cf14feb5a46b2eda428e000157447309/raw/318beb5642577c16de2564666b04de99a215308e/self-signed-certificate-with-custom-ca.md). |  |  |
| authentication.enabled | Yes | Indicates if basic authentication is needed to make a request to this server. |
| authentication.username | No | The username that is configured for basic authentication. |
| authentication.password | No | The password that is configured for basic authentication. |

### Step 4: Run

Navigate to the folder where your ldap client resides, and run

-   “npm install” (only required once)
-   “node server.js” If everything works as intended, you should see “Server is listening” You can now use a browser to test the LDAP http server by pointing your browser to `http://ip_or_hostname_of_machine_running_ldap_client:48800/` (change the port if you changed it in the config file) If your browser shows a JSON object representing the users you want to expose, than everything works!

### Step 5: Configure the backoffice to make the tablet connect to the client

Navigate to the [Vizito backoffice](https://backoffice.vizito.be/) and under Settings, configure the Host datasource as ‘Managed externally’ and fill in the Integration URL.

An example: _http://192.168.1.100:48800_.

Now the tablet will look up the information from the installed client.

### Step 6: Use PM2 to daemonize the node process

Please refer to [PM2 manual](https://github.com/Unitech/pm2) for instructions on how to install and use PM2.

### Troubleshooting

Demo services are available for testing purposes. They include names such as “Tesla”, “Newton”, etc..

-   HTTP version: `http://178.162.136.223:48800`
-   HTTPS version: `https://source.vizito.eu:48801`

If you’re using a HTTPS configuration you can configure multiple CA references. Add each CA between " (quotes) in the CA array, which you can find in the config.JSON file.
