Библиотека сайта rus-linux.net
Установка LDAP сервера
Для установки LDAP сервера необходимо пять шагов: Установить требуемые пакеты (если они еще не установлены), скачать сервер, распаковать программу, настроить Makefile-ы и создать сервер.
Требуемые пакеты
Для полной совместимости с LDAPv3, клиентам и серверу OpenLDAP требуется установка некоторых дополнительных пакетов. В моем случае, я устанавливал OpenLdap v2.0.11 на дистрибутив RedHat 2.2.15. Моей целью было обнаружить, на отсутствие каких пакетов будут жаловаться установочные скрипты. Они не жаловались! Однако это не правило, возможно, для успешного построения OpenLDAP v2.xx вам потребуется получить и установить такие дополнительные пакеты:
библиотеки OpenSSL TLS
Библиотеки OpenSSL TLS обычно входят в состав системы или являются опциональными программным компонентом. Официальный OpenSSL url http://www.openssl.org
Службы аутентификации Kerberos
Клиенты и сервера OpenLDAP поддерживают службы аутентификации на основе Kerberos. В частности, OpenLDAP поддерживает механизм аутентификации SASL/GSSAPI, используя либо пакет Heimdal, либо пакет MIT Kerberos V. Если вы захотите использовать основанную на Kerberos SASL/GSSAPI аутентификацию, вы должны установить либо Heimdal, либо MIT Kerberos V. Heimdal Kerberos доступен по http://www.pdc.kth.se/heimdal. MIT Kerberos доступен по http://web.mit.edu/kerberos/www.
Для использования обеспечиваемых Kerberos служб аутентификации крайне рекомендуется:
Cyrus's Simple Authentication and Security Layer Libraries
Библиотеки Cyrus's SASL обычно входят в состав системы или являются опциональными программными компонентами. Cyrus SASL доступен по http://asg.web.cmu.edu/sasl/sasl-library.html. Cyrus SASL будет использовать библиотеки OpenSSL и Kerberos/GSSAPI, если они предустановленны.
Программы баз данных
Главный механизм работы баз данных в slapd в OpenLDAP - LDBM, для хранения элементов он требует наличия пакета с совместимой базой данных. LDBM совместим с Sleepycat Software BerkeleyDB (рекомендуется) или с Free Software Foundation's GNU Database Manager (GDBM). Если на время конфигурирования ни один из этих пакетов не доступен, вы не сможете построить slapd с поддержкой главного механизма работы с базой данных.
Если ваша операционная система не предоставляет ни одного из этих двух пакетов, необходимо получить и установить один из них.
BerkeleyDB доступен со страницы Sleepycat Software http://www.sleepycat.com/download.html. Тут доступно несколько версий. На момент написания, рекомендуется последний выпуск версии 3.1.
GDBM доступен со страницы FSF сайта ftp://ftp.gnu.org/pub/gnu/gdbm. На момент написания последняя версия 1.8.
Нити
OpenLDAP предназначен для использования преимущества нитей. OpenLDAP поддерживает POSIX pthreads, Mach CThreads, и множество других разновидностей. Если configure скрипт не найдет подходящей системы нитей, то он будет жаловаться. Если это происходит, проконсультируйтесь с секцией Software - Installation - Platform Hints в OpenLDAP FAQ http://www.openldap.org/faq.
TCP Wrappers
slapd поддерживает TCP wrappers (IP фильтры контроля доступа), если они предустановленны. Для серверов содержащих приватную информацию рекомендуется использование TCP wrappers или других фильтров доступа IP-уровня (таких как предоставляемые IP-firewall).
Загрузка пакета
Есть два свободно распространяемых LDAP сервера: University of Michigan LDAP сервер и OpenLDAP сервер. Также есть Netscape Directory Server, который бесплатен только при определенных условиях (например, образовательные институты получают его бесплатно). Сервер OpenLDAP основан на последней версии сервера University of Michigan и для него доступны списки рассылки и дополнительная информация. Этот документ предполагает, что вы используете сервер OpenLDAP.
Последнюю версию tar.gz можно получить по следующему адресу:
Если вы хотите получить последнюю версию сервера University of Michigan, сходите по адресу:
ftp://terminator.rs.itd.umich.edu/ldap
Для написания этого документа я использовал версию 2.0.4 пакета OpenLDAP. Моя операционная система- Slackware Linux с ядром 2.2.13.
На сайте OpenLDAP вы всегда можете найти последнюю разрабатываемую и последнюю стабильную версии OpenLDAP сервера. На момент обновления этого документа последняя стабильная версия была openldap-stable-20000704.tgz. Последняя разрабатываемая версия была openldap-2.0.4.tgz.
Распаковка сервера
Теперь у вас есть tar.gz пакет на локальной машине, и вы можете его распаковать.
Сначала скопируйте пакет в желаемый каталог, например /usr/local.
Затем используйте следующую команду:
tar xvzf openldap-stable.tgz |
Также вы можете использовать следующую команду:
gunzip openldap-stable.tgz | tar xvf - |
Настройка программы
Есть несколько опций, которые вы захотите подстроить для получения наилучшей программы для вашего сайта.
Для настройки программы нужно сделать два шага:
Отредактировать ldapconfig.h.edit, размещенный в подкаталоге include относительно каталога, где вы распаковали программу.
Запустить скрипт configure (если вы крутой парень, то вместо запуска скрипта configure можете отредактировать файл Make-common :^)
В файле include/ldapconfig.h.edit вы можете установить опции расположения демонов slapd и slurpd. Сам файл хорошо комментирован, а его настройки по умолчанию отражают наиболее общие администраторские предпочтения, если вы спешите - можете проскочить этот шаг:
vi include/ldapconfig.h.edit |
./configure --help |
./configure |
Построение сервера
make depend |
make |
su make install |
Исполняемый файл OpenLdap 2.0 сервера называется slapd. OpenLdap 2.0 официально был выпущен 30 Августа и охватывал протокол Ldap v3, как определено RFC 2251.
Главные особенности OpenLDAP 2.0 таковы:
Поддержка LDAPv2 и LDAPv3 (RFC2251-2256,2829-2831)
Поддержка взаимодействия с существующими клиентами
поддержка IPv4 и IPv6
Strong Autentication (SASL) (RFC2829)
Start TLS (RFC2830)
Language Tags (RFC2596)
Служба расположения основана на DNS (RFC2247+"locate" I-D)
Усовершенствованный автономный сервер
Named References/ManageDsaIT ("nameref" I-D)
Усовершенствованная подсистема контроля доступа
Пул нитей
Поддержка приоритетов нитей
Поддержка множества слушателей
LDIFv1 (RFC2849)
Усовершенствованное определение платформы/подсистемы
Заметка: На Linux Documentation Project (LDP) существует документ называемый LDAP Implementation HOWTO. Этот документ - великолепный ресурс для тех, что хочет исследовать новые свойства OpenLDAP 2.0. Дата его выпуска где-то Декабрь 2000.
make test |
Если что-то идет не так при выполнении скрипта, вы можете завершить его нажатием Ctrl-C. В моем случае скрипт остановился перед его полным завершением. В любом случае я все еще мог увидеть несколько успешных сообщений о конфигурации моего OpenLDAP.