Установка 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 можно получить по следующему адресу:

http://www.openldap.org

Если вы хотите получить последнюю версию сервера 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 - 

Настройка программы

Есть несколько опций, которые вы захотите подстроить для получения наилучшей программы для вашего сайта.

Для настройки программы нужно сделать два шага:

В файле include/ldapconfig.h.edit вы можете установить опции расположения демонов slapd и slurpd. Сам файл хорошо комментирован, а его настройки по умолчанию отражают наиболее общие администраторские предпочтения, если вы спешите - можете проскочить этот шаг:

vi include/ldapconfig.h.edit 

Исходный код OpenLDAP сервера поставляется с настроечным скриптом для выбора опций, таких как каталоги установки, флаги компиляции и линковки. В каталоге, где вы распаковали программу, наберите:
./configure --help 
Она напечатает все опции, которые можно подстроить с помощью скрипта configure перед созданием программы. Вот некоторые полезные опции для задания каталогов установки --prefix=pref, --exec-prefix=eprefix и --bindir=dir. Обычно, если вы запускаете configure без опций, он автоматически определяет подходящие настройки и подготавливает построение программы в обычном месте расположения. Так что наберите:
./configure 
И смотрите на выводимую информацию и проверьте, что все прошло хорошо

Построение сервера

После настройки программы вы можете начинать построение. Сначала создайте зависимости командой:
make depend 
После - постройте сервер командой:
make 
Если все прошло гладко - сервер будет создан и настроен. Если нет - вернитесь к предыдущему шагу и пересмотрите конфигурационные настройки. Вы должны проверить специфичные для платформы подсказки, они расположены в doc/install/hints относительно каталога, в котором вы распаковали сервер.

Теперь установите исполняемые файлы и man страницы. Для этого вам нужно быть суперпользователем (в зависимости от того, куда вы устанавливаете файлы):
su 
make install 
Вот и все, теперь у вас есть исполняемый файл сервера и исполняемые файлы некоторых других утилит. Для указаний о настройке и работе LDAP сервера обратитесь к секции Разд. Настройка LDAP сервера>.

Исполняемый файл OpenLdap 2.0 сервера называется slapd. OpenLdap 2.0 официально был выпущен 30 Августа и охватывал протокол Ldap v3, как определено RFC 2251.

Главные особенности OpenLDAP 2.0 таковы:

Заметка: На Linux Documentation Project (LDP) существует документ называемый LDAP Implementation HOWTO. Этот документ - великолепный ресурс для тех, что хочет исследовать новые свойства OpenLDAP 2.0. Дата его выпуска где-то Декабрь 2000.

В последней версии OpenLDAP пакета, также возможно проверить созданные исполняемые файлы. Пакет поставляется со скриптом, который можно запустить командой:
make test

Если что-то идет не так при выполнении скрипта, вы можете завершить его нажатием Ctrl-C. В моем случае скрипт остановился перед его полным завершением. В любом случае я все еще мог увидеть несколько успешных сообщений о конфигурации моего OpenLDAP.