Приложение М. Инсталляция LDAP-сервера
Для хранения данных пользователей можно использовать базу LDAP.
Все необходимые файлы для инсталляции LDAP-сервера расположены на FTP-сервере:
- IP-адрес: 92.125.152.58;
- пользователь: voip;
- пароль: voip_user;
- папка ECSS10_release_2_14.
Разархивируйте пакет в домашний каталог командой:
ssw@ecss1:~$ sudo tar -jxf ecss_ldap_configs_2_14.tar.bz2
Перейдите в папку ecss_ldap_configs_2_14 командой:
ssw@ecss1:~$ cd ecss_ldap_configs_2_14
Запустите скрипт install командой:
ssw@ecss1:~$ sudo ./install
Все параметры нужно оставить по умолчанию.
Перейдите в папку /etc/ldap/ командой:
ssw@ecss1:~$ cd /etc/ldap/
Удалите папку slapd.d командой:
ssw@ecss1:/etc/ldap$ sudo rm slapd.d/ -R
Скопируйте папку slapd.d из папки ecss_ldap_configs_2_14 в папку /etc/ldap/ командой:
ssw@ecss1:/etc/ldap$ sudo cp ~/ecss_ldap_configs_2_14/slapd.d/ slapd.d/ -R
где ~ — каталог, в котором был распакован архив.
Далее выполните команду:
ssw@ecss1:/etc/ldap$ sudo chown openldap:openldap slapd.d/ -R
Перейдите в папку /var/lib/ldap/:
cd /var/lib/ldap/
и удалите все содержимое в папке:
sudo rm *
Перейдите в папку ecss_ldap_configs_2_14:
cd ~/ecss_ldap_configs_2_14
Откройте текстовым редактором файл install командой:
sudo nano install
Подкорректируйте содержимое следующим образом:
#!/bin/sh # Копируем конфигурационные файлы и скрипты (комментируем 4 и 7 строки - прописываем в их начале решетку #) #sudo cp -r etc / закомментируйте строку (пропишите решетку '#' в начале строки); # Установка #sudo aptitude install slapd ldap-utils libpam-ldap ldap-utils ldapscripts ldap-auth-client ldap-auth-config libnss-ldap закомментируйте строку (пропишите решетку '#' в начале строки); # Конфигурируем схемы sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ecss.com.ldif sudo ldapadd -x -D cn=admin,dc=ecss -w admin -f ecss_default.ldif
Перезапустите LDAP-сервер командой:
sudo systemctl restart slapd.service
Запустите скрипт инсталляции заново:
cd ~/ecss_ldap_configs_2_14/ ssw@ecss1:~$ sudo ./install
Настройка LDAP-сервера для раздельного хранения данных и логов
Остановите slapd командой:
sudo systemctl stop slapd.service
Добавьте следующие настройки в профиль AppArmor для slapd (/etc/apparmor.d/usr.sbin.slapd):
## customized bdb data and log files: /var/lib/ecss/ldap/bdbdata/ r, /var/lib/ecss/ldap/bdbdata/* rw, /var/lib/ecss/ldap/bdblogs/ r, /var/lib/ecss/ldap/bdblogs/* rw, ## lock file in customized bdbdata dir /var/lib/ecss/ldap/bdbdata/alock kw,
Примените обновленный профиль командой:
sudo apparmor_parser -r < /etc/apparmor.d/usr.sbin.slapd
Обновите каталог данных в /usr/share/slapd/slapd.conf:
directory "/var/lib/ecss/ldap/bdbdata"
Далее нужно прописать в файле /usr/share/slapd/DB_CONFIG новые директивы set_data_dir и set_lg_dir:
# Directory for the data files set_data_dir /var/lib/ecss/ldap/bdbdata [...] # Directory for the logfiles set_lg_dir /var/lib/ecss/ldap/bdblogs
Переместите отредактированный файл DB_CONFIG в /var/lib/ecss/ldap/bdbdata и проверьте права доступа и владельца:
-rw-r--r-- 1 openldap openldap 96 янв. 14 09:59 DB_CONFIG
Запустите slapd:
sudo systemctl start slapd.service
Резервирование LDAP
В данном разделе рассмотрен вариант использования двух LDAP-серверов, расположенных на двух хостах.
После того, как были развернуты LDAP-серверы, необходимо добавить поддержку резервирования.
Для этого необходимо предварительно создать копии конфигурации и базы LDAP:
- Конфигурация: по умолчанию директория /etc/ldap;
- База LDAP: по умолчанию директория /var/lib/ldap.
Нужно скопировать директории конфигурации и базы LDAP.
После создания копии необходимо воспользоваться скриптом replication.ldif, предварительно изменив его:
dn: cn=config changetype: modify delete: olcServerID dn: cn=config changetype: modify add: olcServerID #Идентификатор сервера: первому серверу назначаем значение 1, второму назначаем значение 2. olcServerID: 1 dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryCSN eq - add: olcDbIndex olcDbIndex: entryUUID eq #Load the syncprov and accesslog modules. dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncRepl #*Необходимо указать значение параметра "provider" - должно соответствовать URI удаленного сервера.* #*Необходимо указать значение параметра "binddn" - от имени этого пользователя будет осуществляться подключение к удаленному серверу.* #*Необходимо указать значение параметра "credentials" - этот пароль будет использован при подключении к удаленному серверу.* #*Проверить параметр "searchbase" - по умолчанию в скриптах развертывания используется ecss.* olcSyncRepl: rid=001 provider=ldap://broker.remote binddn="cn=admin,dc=ecss" bindmethod=simple credentials=admin searchbase="dc=ecss" type=re freshAndPersist retry="60 +" schemachecking=on # syncrepl Provider for primary db dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpNoPresent: TRUE olcSpCheckpoint: 100 10 dn: olcDatabase={1}hdb,cn=config changetype: modify replace: olcMirrorMode olcMirrorMode: TRUE
Исходя из практики установки системы ECSS-10 на двух хостах — для удаленного хоста используется имя broker.remote.
Если broker.remote прописан (используется имя "cn=admin,dc=ecss", пароль admin), то можно воспользоваться следующими скриптами:
replication_server_1.ldif
replication_server_2.ldif
После того, как скрипт отредактирован — необходимо выполнить его на обоих хостах:
На первом сервере:
sudo ldapmodify -c -Y EXTERNAL -H ldapi:/// - f replication_server_1.ldif
На втором сервере:
sudo ldapmodify -c -Y EXTERNAL -H ldapi:/// -f replication_server_2.ldif
Настройка Berkeley DB
- Автоудаление логов
- В файл /usr/share/slapd/DB_CONFIG добавите строку 'set_flags DB_LOG_AUTOREMOVE'.
- В slapd.conf — checkpoint <kbyte> <min> (см. man 5 slapd-bdb, http://www.openldap.org/lists/openldap-technical/201212/threads.html#00161).
Перезапустите slapd:
sudo systemctl restart slapd.service
- Максимальный размер файла log.XXXXXXXXXX
- В файл /usr/share/slapd/DB_CONFIG добавить строку 'set_lg_max <NEW_MAX_SIZE>' (см. http://docs.oracle.com/cd/E17076_03/html/api_reference/C/frame_main.html).
Перезапустить slapd:
sudo systemctl restart slapd.service