Настройка OpenLDAP и phpLDAPadmin в Ubuntu

OpenLDAP – это реализация с открытым исходным кодом протокола Lightweight Directory Access Protocol (LDAP), который обеспечивает управление и доступ к информации каталога, что делает его особенно полезным для аутентификации и централизованного хранения данных.

phpLDAPadmin – это веб-интерфейс для управления серверами OpenLDAP, который упрощает администрирование каталогов LDAP, предоставляя простой в использовании интерфейс для таких общих задач, как управление пользователями, управление схемами и возможности поиска.

В этой статье мы покажем, как установить и настроить сервер OpenLDAP и управлять им с помощью phpLDAPadmin в дистрибутивах на базе Ubuntu и Debian.

Шаг 1: Установка имени хоста

Установка имени хоста для вашего LDAP сервера очень важна для идентификации, простоты доступа, безопасности и общего управления.

sudo hostnamectl set-hostname ldap.tecmint.com

Затем добавьте это имя хоста в файл /etc/hosts:

echo "192.168.122.100 ldap.tecmint.com" | sudo tee -a /etc/hosts

Замените 192.168.122.100 на IP-адрес вашего сервера.

Шаг 2: Установка сервера OpenLDAP

По умолчанию сервер OpenLDAP доступен в репозиториях под именем пакета slapd, который можно легко установить с помощью менеджера пакетов apt.

sudo apt update
sudo apt install slapd ldap-utils

Во время установки вам будет предложено задать пароль администратора для вашего сервера OpenLDAP. Обязательно запомните этот пароль, так как он понадобится вам позже.

После завершения установки вы можете настроить сервер OpenLDAP.

Шаг 3: Настройка сервера OpenLDAP

Чтобы настроить сервер OpenLDAP, отредактируйте файл ldap.conf, расположенный в директории /etc/ldap, используя ваш любимый текстовый редактор.

sudo nano /etc/ldap/ldap.conf

В конфигурационном файле вы увидите комментарии и примеры настроек. Найдите строки, в которых указаны BASE и URI, и откомментируйте их. Измените эти строки, указав свое собственное доменное имя и IP-адрес.

В данном примере в качестве доменного имени используется tecmint.com.

BASE   dc=tecmint123,dc=com
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

После внесения изменений сохраните файл и выполните следующую команду для изменения конфигурации пакета LDAP:

sudo dpkg-reconfigure slapd

Во время настройки OpenLDAP с помощью команды dpkg-reconfigure slapd вы столкнетесь с несколькими подсказками, требующими ввода определенных данных.

Ниже приведено краткое объяснение каждого вопроса и рекомендуемые ответы:

Omit OpenLDAP Server Configuration, который позволяет настроить параметры сервера. Выбор No гарантирует, что вы сможете настроить LDAP-сервер в соответствии с вашими требованиями.

Доменное имя DNS Domain Name – это доменное имя вашего LDAP-сервера, которое является частью базового DN (Distinguished Name), необходимого для структурирования вашего LDAP-каталога и должно быть правильно настроено для обеспечения корректной работы.

Поле Organization Name используется для идентификации вашей организации в каталоге LDAP, что полезно для организации записей, и может быть любым именем, которое представляет вашу организацию.

Пароль Administrator Password очень важен, поскольку он предоставляет административный доступ к каталогу LDAP. Убедитесь, что он надежный и запоминающийся, поскольку он понадобится вам для будущих административных задач.

Опция Remove database when slapd is purged означает, что ваши данные не будут удалены автоматически, что полезно, если вы планируете переустановить или обновить систему без потери существующих данных каталога.

Опция Переместить старую базу данных позволяет программе установки переместить все существующие файлы базы данных в новое место, обеспечивая чистую настройку новой конфигурации.

После выполнения этих запросов OpenLDAP будет настроен.

Шаг 4: Установка и настройка phpLDAPadmin

Теперь установите phpLDAPadmin, который предоставляет веб-интерфейс для управления вашим сервером OpenLDAP.

sudo apt install phpldapadmin -y

После установки phpLDAPadmin вам нужно настроить его для подключения к вашему серверу OpenLDAP.

sudo nano /etc/phpldapadmin/config.php

Найдите следующую строку и измените ее на ваш сервер OpenLDAP (обычно localhost).

$servers->setValue('server','host','localhost');

Установите пользователя admin, найдя эту строку:

$servers->setValue('login','auth_type','cookie');

Измените ее на:

$servers->setValue('login','auth_type','session');

Установите базовый DN, найдя строку, начинающуюся с:

$servers->setValue('base','dc=example,dc=com');

Замените ее на имя вашего домена:

$servers->setValue('base','dc=yourdomain,dc=com');

Шаг 5: Настройте Apache для phpLDAPadmin

Вам нужно настроить Apache для обслуживания phpLDAPadmin.

sudo nano /etc/apache2/conf-available/phpldapadmin.conf

Найдите следующую строку и убедитесь, что она не закомментирована (удалите # в начале, если она присутствует).

Alias /phpldapadmin /usr/share/phpldapadmin

Далее добавьте следующие строки, чтобы разрешить доступ к phpLDAPadmin:

<Directory /usr/share/phpldapadmin/htdocs/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Включите конфигурацию phpLDAPadmin и перезапустите Apache, чтобы изменения вступили в силу:

sudo a2enconf phpldapadmin
sudo systemctl restart apache2

Теперь, когда все настроено, вы можете получить доступ к phpLDAPadmin через веб-браузер.

http://your-server-ip/phpldapadmin

Вам будет предложено войти в систему, используя следующие учетные данные.

Login DN: cn=admin,dc=yourdomain,dc=com
Password: admin password

Заключение

Поздравляем! Вы успешно установили OpenLDAP с phpLDAPadmin на Ubuntu. Теперь вы можете легко управлять каталогом LDAP через веб-интерфейс phpLDAPadmin.