OpenLDAP 2.4 c динамической конфигурацией подключение, схем Ubuntu 9.10В старых версиях конфигурирование OpenLDAP и подключение схем осуществлялось через конфигурационный файл slapd.conf и выполнялось таким образом
include /etc/ldap/schema/dhcp.schema
но в новых версиях конфигурационный файл slapd.conf не используется.
Как выйти из положения?
В данном HOW-TO покажем подключение требуемой схемы на примере схемы из поставки DHCP:
Подготовим схему DHCP для OpenLDAP сервера
Перейдем в каталог с документацией и распакуем схему
сd /usr/share/doc/dhcp3-server-ldap
gunzip dhcp.schema.gz
Скопируем схему для DHCP
cp /usr/share/doc/dhcp3-server-ldap/ dhcp.schema /etc/ldap/schema
Перейдем по следующему пути
cd /etc/ldap/slapd.d/cn=config/cn=schema
Посмотрим какие схемы у нас подключены
ls
Получим результат следующего вида
cn={0}core.ldif cn={1}cosine.ldif cn={2}inetorgperson.ldif cn={3}nis.ldif
Как видим в новом (с версии 2.4.) сервре OpenLDAP схемы подключаются динамически в формате
ldif, а не
schema как в предыдущих версиях OpenLDAP. Так как требуемая нам схема DHCP поставляется в формате
schema поэтому преобразуем ее в
ldif формат:
Создадим файл для преобразования
cd /usr/src
nano export.to.ldif
Приведем к следующему виду:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/dhcp.schema
* Возможно подключенных схем у вас будет больше или меньше но в файле export.to.ldif они должны быть перечислены все*Создадим каталог
mkdir to_ldif
запустим преобразование
slaptest -f /usr/src/export.to.ldif -F /usr/src/to_ldif
Если все правильно сделано увидим результат работы:
config file testing succeeded
а в каталоге to_ldif будет создан каталог cn=config cодержащий cn=schema c преобразованными в ldif схемами.
В моем примере схема будет называется cn={4}dhcp.ldif почему см. export.to.ldif
Подготовим cn={4}dhcp.ldif файл для подключения в OpenLDAP
cp /usr/src/to_ldif/cn=config/cn=schema/cn={4}dhcp.ldif /usr/src/dhcp.ldif
nano /usr/src/dhcp.ldif
заменим
dn: cn={4}dhcp
objectClass: olcSchemaConfig
cn: {4}dhcp
на
dn: cn=dhcp,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: dhcp
и удалим в конце файла все записи начиная с
structuralObjectClass: olcSchemaConfig
entryUUID:
скопируем полученный файл в каталог схем
cp /usr/src/dhcp.ldif /etc/ldap/schema/
Подключим схему в OpenLDAP
ldapadd -x -W -D cn=admin,cn=config -f /etc/ldap/schema/dhcp.ldif
вводим пароль и если все в норме получаем
Enter LDAP Password:
adding new entry "cn=dhcp,cn=schema,cn=config"
Проверяем:
Я использую phpldapadmin. В разделе схема (Schema) должны появится схемы DHCP,
а в каталоге /etc/ldap/slapd.d/cn=config/cn=schema появится файл контейнера cn={4}dhcp.ldif
Все, схема подключена
C Уважением Денис А. Ксенофонтов ака
PiNCERЕще HOW-TO по теме:[HOW-TO] Устанавливаем OpenLDAP 2.4.X в Ubuntu 9.10 + PHPLDAPADMIN[HOW-TO] Интегрируем службу DHCP v 3.x.x с OpenLDAP 2.4.x Ubuntu 9.1