Установка и настройка LDAP


Установка на Mac/Linux

Исходная статья

Для установки вам поребуются:

  • Homebrew
  • OpenLDAP, можно загрузить по ссылке (актуальная на момент написания статьи 2.6.3)
  • Браузер для работы с записями LDAP, например JXplorer или ldapbrowser

1) Berkeley DB необходима для работы OpenLDAP. При помощи терминала установите Berkeley DB, используя следующую команду:

brew install berkeley-db4

2) (необязательно) Если вам необходимо сохранить путь к приложению в PATH, выполните:

echo 'export PATH="/usr/local/opt/berkeley-db@4/bin:$PATH"' >> ~/.bash_profile

3) Теперь необходимо сконфигурировать OpenLDAP. Разархивируйте OpenLDAP.tgz. Откройте терминал в директории openldap- и выполните команду:

./configure CPPFLAGS="-I/usr/local/opt/berkeley-db@4/include" LDFLAGS="-L/usr/local/opt/berkeley-db@4/lib"

Обратите внимание, что значения LDFLAGS и CPPFLAGS берутся из выходных данных команды установки Berkeley DB.

4) Если все происходит без ошибок, то последним сообщением в терминале будет: “Please “make depend” to build dependencies”. Следующим шагом необходимо выполнить команду:

make depend

5) Выполнение предыдущей команды может занять некоторое время. Следующая команда позволит собрать OpenLDAP и подготовить к установке:

make

6) (необязательно) Рекомендуем выполнить команду для тестирования, чтобы убедиться что все происходит в соответствии с инструкцией:

make test

Выполнение этой команды занимает существенное количество времени, порядка 15-20 минут.

7) Теперь можно приступить к установке OpenLDAP. Выполните команду для установки:

make install

После установки у вас появятся 2 папки /usr/local/var/openldap-data и /usr/local/etc/openldap. Если у вас не создалась папка opedldap-data, создайте ее самостоятельно при помощи команды в терминале mkdir. Если установка прошла с ошибками, то повторите команду установки с командой sudo

8) После установки необходимо дописать конфигурационный файл. Для открытия файла выполните команду:

cd /usr/local/etc/openldap
vi slapd.conf

Если будет сообщение, что у вас недостаточно прав, то откройте файл при помощи sudo.

Допишите в файл следующие строки:

include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema

и следующие значения внизу файла:

suffix          "dc=my-domain,dc=com"
rootdn          "cn=Manager,dc=my-domain,dc=com"
rootpw          secret

9) Теперь используйте команду для запуска OpenLDAP:

sudo /usr/local/libexec/slapd -d3

После успешного запуска в логах будет сообщение  “application started” или подобное. Создайте новую вкладку, чтобы продолжить настройку.

10) Создайте новый файл root-ou.ldif и добавьте в него следующее содержание:

dn:dc=my-domain,dc=com
objectClass:dcObject
objectClass:organizationalUnit
dc:my-domain
ou:my-domain

Сохраните и выполните следующую команду:

ldapadd -D "cn=Manager,dc=my-domain,dc=com" -W -x -f /<Location>/root-ou.ldif

11) В application.properties необходимо указать следующие параметры:

  • gitflic.aes.secret отвечает за ключ шифрования для связи Gitflic с внешним сервером или приложением. Данное свойство должно содержать в себе любую строку из латинских символов, придуманной пользователем. При изменении ключа подключение будет потеряно.

  • togglz.features.GITFLIC_LDAP.enabled=true отвечает за включение и выключение функции LDAP (стандартное значение для данного свойства true).

Настройка LDAP в GitFlic

Для перехода к настройкам перейдите в панель администрирования и откройте раздел Настройка LDAP

Для создания новой связи с базой данных, нажмите кнопку Создать

В поле “Название” укажите то название, которое будет отображаться непосредственно в панели администратора.

В поле “Адрес LDAP сервера” укажите адрес, по которому находится ваш LDAP сервер (если он запущен локально, то напишите localhost).

В поле “Порт LDAP сервера” укажите порт (по умолчанию он занимает порт 389, если у вас не указан иной).

В поле “UserDn” указывается rootdn вашего LDAP сервера, скопируйте его из вашей конфигурации.

В поле “Пароль” указывается rootpw вашего LDAP сервера, скопируйте его из вашей конфигурации. Пароль не сохраняется в системе и при каждом внесении изменений необходимо вводить его повторно.

В поле “BaseDn” указывается dn вашего LDAP сервера, скопируйте его из вашей конфигурации.

В поле “LDAP атрибут для email пользователя” необходимо указать поле из вашего LDAP, по которму будет проходить авторизация пользователей в GitFlic. Обратите внимание, что валидация в форме авторизации GitFlic срабатывает только на электронную почту.

В поле “LDAP атрибут для username пользователя” необходимо указать такое поле, которое будет уникально для каждого отдельного пользователя в базе данных. Например, если вы укажите в качестве имени пользователя поле “cn”, то авторизоваться сможет только один из пользователей с таким из “cn”, так как при первом входе создается профиль пользователя с таким именем пользователя, а второй пользователель столкнется с ошибкой, потому что создание профиля с существующим именем пользователя невозможно.

В поле “Описание LDAP соединения” укажите описание, которое будет отображаться в панели администратора GitFlic.

После заполнения всех полей, нажмите кнопку “Создать”. При успешном исходе вас перенаправит на страницу со списком созданных соединений LDAP.

Вход при помощи LDAP

На странице входа нажмите кнопку Войти через LDAP. Вас переведет на аналогичную страницу входа, введите учетные данные, которые вам сообщил администратор, нажмите кнопку “Войти”