| |
Если Вы хотите развернуть LDAPv3-совместимый Open Source сервер в Windows (XP, Windows 7, 10 или даже, по недоразумению, в Windows Vista), у Вас есть три варианта:
OpenLDAP под cygwin.
Разработчики установщика cygwin проделали большую работу, чтобы установка была хоть и многословным, но очень простым процессом (полная установка может занять более 30 минут). И спрятали они OpenLDAP так, чтобы никто не догадался (он в категории Libs установщика, но мы Вам этого не говорили). Главный недостаток — то, что версия OpenLDAP обновляется нерегулярно (хотя, по совести говоря, пакеты обновляются довольно регулярно). Если Вы собираетесь заниматься разработкой, либо запускать другие *nix-пакеты под Windows — выбор очевиден.
ApacheDS. Работает под Java и включает прекрасный LDAP-клиент/систему разработки, называемую Apache Directory Studio. Этот превосходный инструмент можно использовать в качестве клиента к любой системе, в том числе OpenLDAP. Возможно, процесс установки покажется Вам немного сложным, поскольку система встроена в среду разработки Eclipse (которая любит всё всегда усложнять), но усилия стоят того.
Если же Вы хотите простую инсталляцию текущей версии OpenLDAP на Windows в пару кликов, то нет ничего лучше сборки OpenLDAP для Windows. Она периодически обновляется (по состоянию на ноябрь 2016 года версия OpenLDAP 2.4.44). Она опционально устанавливает различные механизмы манипуляции данными, в том числе базы данных (bdb и hdb OpenLDAP), OpenSSL (обеспечивает поддержку TLS в OpenLDAP) и даже Cyrus SASL (обеспечивает поддержку Kerberos). OpenLDAP выполняется не как задача Windows, а как dos-приложение.
При последней установке данного программного обеспечения (ноябрь 2016 года) стало ясно, что процесс инсталляции с момента нашей предыдущей установки (OpenLDAP 2.4.35) поменялся радикально. Теперь доступны 32-х и 64-битные версии, а процесс инсталляции предоставляет много (слишком много?) опций. Получить программное обеспечение можно здесь, а инструкции по установке находятся здесь. Мы установили 64-битную версию на Windows 10 Home Edition. В нашем случае процесс инсталляции не прошёл гладко (64-битная версия, Home Edition, сами понимаете), но после небольшой доработки напильником за 20 минут мы получили вполне работоспособный OpenLDAP. Не так уж и плохо. Немного сбивало с толку то, что имена директорий/папок сильно отличаются от тех, которые мы привыкли видеть при инсталляции в Lunux/BSD.
Мы оставили наши записи об установке OpenLDAP 2.4.35 в назидание потомкам (не поддавайтесь искушению использовать их для чего-либо, кроме версии 2.4.35). Мы добавили записи о текущей инсталляции (ноябрь 2016 года, OpenLDAP 2.4.44), которые могут оказаться для Вас полезными (или бесполезными).
Примечания:
Возможно, вследствие ошибок при инсталляции, мы получили полностью установленный, но не запущенный OpenLDAP. В разных местах мы встречали намёки на то, что OpenLDAP может выполняться как служба Windows, но, как всегда, мы не стали читать документацию целиком. Скрипт запуска: C:\OpenLDAP\run\run.cmd (C:\OpenLDAP — корневая директория при инсталляции по умолчанию). Для удобства использования мы сделали себе ярлык на него на рабочем столе.
При инсталляции по умолчанию slapd при запуске использует slapd.conf (расположен в корневой директории (по умолчанию это C:\OpenLDAP), а не в привычной /etc/openldap как в Linux/BSD).
Конвертация в slapd.d тривиальна. После внесения необходимых изменений в файл slapd.conf, просто создайте новую директорию/папку с названием slapd.d. Откройте командную строку, перейдите в C:\OpenLDAP (или туда, куда Вы произвели установку) и выполните:
slaptest -f slapd.conf -F slapd.d
Откройте C:\OpenLDAP\run\run.cmd в любимом редакторе:
cd "%~dp0.." slapd -d 8 -h "ldaps:/// ldap:///" -f slapd.conf # удалите аргумент -f чтобы получилось: cd "%~dp0.." slapd -d 8 -h "ldaps:/// ldap:///" # сохраните файл
Запустите сервер, выполнив C:\OpenLDAP\run\run.cmd.
По умолчанию в скрипте запуска (смотрите предыдущее примечание) используется аргумент -d -1, генерирующий огромное количество отладочной информации и серьёзно снижающий производительность сервера. На первоначальном этапе это полезно, так как Вы получаете максимум диагностической информации. После того, как Вам удастся добиться от сервера стабильной работы, можно либо совсем удалить -d -1 в файле run.cmd, либо задать значение поменьше.
Примечание: Значение аргумента -d, используемое при старте OpenLDAP (slapd), благоразумно отменяет любые попытки динамически изменять значение атрибута oldLogLevel (при использовании OLC, cn=config), либо значения директивы loglevel в slapd.conf. Чтобы эти настройки имели эффект, удалите аргумент -d из строки запуска slapd.
Далее следуют некоторые заметки об установке и использовании OpenLDAP (2.4.35) для Windows. При прочтении документации к пакету складывается впечатление, что его возможности значительно больше, чем предоставление основных сервисов OpenLDAP, в частности, там обсуждается использование Microsoft-SQL. Мы проигнорировали все эти новомодные штучки (поскольку не являемся пользователями MS-SQL) и всё равно получили отличную, высоко функциональную инсталляцию OpenLDAP. Порядок действий:
Скачайте программное обеспечение отсюда в подходящую директорию файловой системы.
Распакуйте архив и дважды щёлкните для запуска OpenLDAP-2.y.xx-x86.exe (y — старший номер версии, а xx — младший номер версии). Следуйте запросам мастера установки. Установка может быть запущена с правами обычного пользователя (административных привилегий не требуется). Далее показаны экраны с немного путанным содержимым, для которых приводятся дополнительные разъяснения.
На этом экране Вас просят ввести Ваши данные, но ввод данных не позволяется. Попробуй разберись! Проигнорируйте его и нажмите "Next". Ничего страшного не случится.
На этом экране показана директория по умолчанию, куда будет произведена установка. Измените её в соответствии с Вашими потребностями или просто нажмите "Next".
После установки файлов этот экран показывает некоторую общую информацию о конфигурации сервера. Большая часть её пригодна лишь в том случае, если Вы собираетесь использовать конфигурацию по умолчанию.
На следующем за этим экране запрашивается, хотите ли Вы прочитать документ readme.pdf. Наш совет — не стоит. Снимите галочку и читайте дальше эту инструкцию.
Когда последний экран мастера установки закроется и станет историей, у Вас будет следующая конфигурация (подразумевается, что Вы произвели инсталляцию в директорию по умолчанию C:\OpenLDAP, либо, если Вы один из тех, кого раздражает всё, что по умолчанию, скорректируйте значения на свои):
Система настроена на использование файла slapd.conf в директории \etc\openldap (директория slapd.d отсутствует — смотрите заметки по olc/cn=config здесь). Этот slapd.conf полностью работоспособен, в него стоит заглянуть хотя бы потому, что в нём содержатся относительные пути, указывающие на поддиректории и файлы внутри установочной директории. Обслуживание осуществляется на стандартных номерах портов LDAP (389 и 636 для ldaps). Если Вы собираетесь использовать свой собственный файл slapd.conf, обратите внимание на стандартные расположения, на которые указывают директивы pidfile, argsfile (по умолчанию \var\run) и logfile (по умолчанию \var\log) стандартного файла и для упрощения процесса подкорректируйте свои значения, аналогично проверьте расположение файлов наборов схемы данных (\etc\openldap\schema) и директивы directory (\var\db\openldap-data) в Вашем разделе (разделах) database (используйте указанную и при необходимости создайте новые директории).
Один из самых запутанных аспектов этой инсталляции OpenLDAP — собраны ли модули статически или динамически. В OpenLDAP для Windows они собраны статически (правильный выбор), это означает, что в директивах loadmodule или loadpath нет необходимости.
В назидание потомкам мы приводим файл slapd.conf по умолчанию пакета OpenLDAP для Windows:
# # See slapd.conf(5) for details on configuration options. # This file should NOT be world readable. # include /schema/core.schema # Define global ACLs to disable default read access. # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap://root.openldap.org pidfile /run/slapd.pid argsfile /run/slapd.args # Load dynamic backend modules: # modulepath # moduleload back_bdb.la # moduleload back_hdb.la # moduleload back_ldap.la # Sample security restrictions # Require integrity protection (prevent hijacking) # Require 112-bit (3DES or better) encryption for updates # Require 63-bit encryption for simple bind # security ssf=1 update_ssf=112 simple_bind=64 # Sample access control policy: # Root DSE: allow anyone to read it # Subschema (sub)entry DSE: allow anyone to read it # Other DSEs: # Allow self write access # Allow authenticated users read access # Allow anonymous users to authenticate # Directives needed to implement policy: # access to dn.base="" by * read # access to dn.base="cn=Subschema" by * read # access to * # by self write # by users read # by anonymous auth # # if no access controls are present, the default policy # allows anyone and everyone to read anything but restricts # updates to rootdn. (e.g., "access to * by * read") # # rootdn can always read and write EVERYTHING! ####################################################################### # BDB database definitions ####################################################################### database bdb suffix "dc=my-domain,dc=com" rootdn "cn=Manager,dc=my-domain,dc=com" # Cleartext passwords, especially for the rootdn, should # be avoid. See slappasswd(8) and slapd.conf(5) for details. # Use of strong authentication encouraged. rootpw secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. directory /openldap-data # Indices to maintain index objectClass eq
Для запуска сервера выполните "Пуск" (Start) -> "Все программы" (All Programs) -> OpenLDAP -> Start LDAP Server:
Примечание: OpenLDAP для Windows использует инсталляционный файл типа .exe, а не .msi, и потому до появления значков в меню "Все программы" (All Programs) может пройти довольно много времени (до 30 минут).
Если Вы нетерпеливы, перейдите в директорию libexec и дважды щёлкните на StartLDAP.cmd. Это приведёт к немедленному запуску LDAP-сервера.
При старте сервера откроется окно сессии dos, куда будет выведена тонна информации, после чего окно останется открытым (Вы должны явно завершить OpenLDAP, нажав CTL-C в этом окне dos). Если что-то пошло не так, окно немедленно закроется. Если Вы используете директиву logfile (поставляемый по умолчанию файл slapd.conf использует \var\log\openldap.log), то ищите ошибки в файле журнала. Если Вы не используете директиву logfile, значит Вам не повезло.
Большой объём информации, выводимой в окне dos, может серьёзно замедлить работу сервера. Чтобы его уменьшить или ликвидировать, просто откройте (с помощью notepad) файл \libexec\StartLDAP.cmd и из последней строки этого файла либо вообще удалите аргумент -d -1 (для отмены вывода, за исключением катастрофических ошибок), либо измените -1 на какое-либо другое значение (подробнее здесь). Например, если значение равно 8, будет выводиться только информация о соединениях. Вот этот файл во всей красе, чтобы Вы могли увидеть, что представляет из себя последняя строка:
@echo off verify on Rem SET HOME= SET ODBCINI=..\etc\odbc.ini SET ODBCSYSINI=..\etc SET FREETDS=..\etc\freeTDS.conf SET TDSVER=8.0 SET TDSDUMP=..\var\log\freetds.log SET RANDFILE=..\bin\rfile.rnd SET LDAPCONF=..\etc\openldap\ldap.conf SET LDAPRC=..\bin\ldaprc Rem Adjust accordingly Rem SET KRB5_CONFIG=C:\Heimdal\etc\krb5-pkinit.conf Rem SET KRB5_KTNAME=C:\Heimdal\etc\krb5.keytab Rem SET KRB5CCNAME=FILE:C:/Heimdal/tmp/krb5cc_500 SET FQDN=localhost slapd.exe -d -1 -h "ldap://%FQDN%/ ldaps://%FQDN%/" -f ..\etc\openldap\slapd.conf
Стандартные ldap-утилиты OpenLDAP (ldapsearch и другие) располагаются в директории bin. В OpenLDAP для Windows есть удобное окно командной строки, предварительно сконфигурированное на эту директорию:
Вы также можете открыть любое окно с сессей dos и перейти в c:\openldap\bin, либо поместите этот путь в свою переменную path ("Пуск" (Start) -> "Панель управления" (Control panel) -> "Система" (System) -> в открывшемся окне "Свойства системы" (Advanced system settings) выберите вкладку "Дополнительно" (Advanced) -> нажмите кнопку "Переменные среды" (Environmental settings) -> в открывшемся окне "Переменные среды" в нижней части найдите переменную path и добавьте ;c:\openldap\bin). Откройте любое окно с сессией dos ("Пуск" (Start)->"Выполнить" (Run)->cmd) и можете запускать утилиты ldap. Примечание: slap-утилиты (slapadd и другие) находятся в директории sbin, возможно, Вы захотите добавить в переменную path также и путь ;c\openldap\sbin.
Как мы уже говорили, для остановки сервера OpenLDAP перейти в окно с сессией dos, в котором он выполняется, и нажать CTRL-C. Сервер остановится, и Вам будет выведен запрос "Terminate Batch Job?"; если в ответ на него вы нажмёте "y", окно закроется.
Если эта процедура не была соблюдена (например, Вы завершили работу компьютера, не остановив LDAP-сервер), сервер, вероятнее всего, откажется стартовать при следующем запуске. В этом случае перейдите в директорию c:\openldap\var\run и удалите все файлы в этой директории (slapd.args и slapd.pid). Теперь сервер должен запуститься. Если нет — обратитесь к файлу журнала (по умолчанию в \var\log). Ведь Вы же установили директиву logfile, правда?
Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.
Нашли ошибку в переводе? Сообщите переводчикам!
Copyright © 1994-2017 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 18 ноября 2016 г.
Переведено участниками проекта Pro-LDAP.ru в 2012-2017 г.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |