ОС Linux -> Программное обеспечение
->Адресная книга на LDAP за пять минут
Адресная книга на LDAP за пять минут
Эта шпаргалка не претендует на какую либо замену официальной документаци. RTFM – рулез форева, однако сие творение позволит быстро настроить и запустить собственно адресную книгу общего пользования – штуку довольно удобную. Ну а дальше уже можно обвешать все это дело разными спецфигнями, типа авторизации etc. Итак, Steb-by-step lamers LDAP adresbook guide :-) (шутка) Качаем с www.openldap.org собственно LDAP сервер. Если хотите в качестве backenda BerkleyDB, тогда качаем и его (www.sleepycat.com) Надоть версию 4. Кого устроит gdbm – берем его. Меня устроило – ибо он у меня уже был :). Итак, считаем, DB установлен. OpenLDAP<version>.tar.gz лежит в /usr/src. Идем туда. tar -zxvf ./OpenLDAP<version>.tar.gz cd OpenLDAP<version> ./configure –help > conf.help читаем получившийся файл, выбираем опции по вкусу ./configure <option> у меня было: ./configure –with-prefix=/usr/local/openldap --enable-bdb=no --enable-ldbm --with-ldbm-api=gdbm –enable-debug БерклейДБ запретил (он включен по умолчанию), ldbm разрешил, без последнего демон не будет писать логи. make depend make make test su - root -c make install Идем в /usr/local/openldap/etc, редактируем slapd.conf Для адресной книги у меня подключены три схемы: include /usr/local/openldap/schema/core.schema include /usr/local/openldap/schema/cosine.schema include /usr/local/openldap/schema/inetorgperson.schema затем обязательно надо сказать: allow bind_v2 – по умолчанию поддерживается протокол V3, а на сколько я понял , ни мышь, ни мозила по нему работать не умеют. Впрочем это мое имхо, если я не прав – поправьте. pdfile /var/lock/slapd.pid argsfile /var/lock/slapd.args loglevel -1 -в лог пишется ВСЯ отладочная информация. database ldbm suffix “o=MyOrganization,c=ru” - вместо MyOrganization поставьте, ну скажем, аббревиатуру своей. rootdn “cn=admin, o=MyOrganization,c=ru ” - фактически – учетная звпись администратора. rootpw MyZuperSecretPassword – его пароль. directory /usr/local/openldap/var/openldap-data - каталог, где буде база храниться. index default pres, eq Все, запускаем сервер - /usr/local/openldap/sbin/slapd Смотрим лог – в конце должно стоять что-то типа daemon started. Ага, потираем руки, идем пить пиво. Напимшись, делаем базу: создаем пустой текстовый файл cd /usr/local/openldap/var/openldap-data touch mybase.ldif dn: o:myorganization,c=ru ; Описываем уникальный ключ корневого каталога objectclass: dcobject ;Указываем, какие классы объектов доступны (т.е атрибуты каких objectclass: organization ;классов можно описывать для этого каталога o: myorganization ; Собственно описываем атрибуты dc: myorganization ;o и c – сокращение атрибутов organization и country
dn: ou=users,o=sngi,c=ru ou: users objectclass: top ;указывает на родительские объекты (?) objectclass: organizationalunit ;дочерний объект от organization
dn: cn=John S Doe,ou=users,o=myorganization,c=ru objectclass:top objectclass: organizationalperson objectclass: inetorgperson cn: John Doe ;Общее имя – их может быть несколько, тогда для кажлого – новая строка mail: john@foo.com gn: John ; givenname - Имя sn: Doe ; surname - Фамилия
Таким образом мы будем иметь следующую структуру каталогов: корневой: myorganization.ru (/) в корневом пока один: users.myorganization.ru (/users) в users один пользователь: djohn doe.users.myorganization.ru (/users/john doe) если вы не хотите пихать всех в одну структурную единицу – создайте для каждого отдела свою: dn: ou=cooladmin,o=sngi,c=ru ou: cooladmin objectclass: top ;указывает на родительские объекты (?) objectclass: organizationalunit ;дочерний объект от organization
Теперь собственно создадим базу: slapadd -f ./mybase.ldif -D “cn=admin.o=myorganization,c=ru” -W -ппосле ключа -D идет УЗ админа, которую вы прописали в конфе -W – запрос пароля, указанного там-же Проверим: ldapsearch -x -b “o=sngi,c=ru” “(objectclass=*)” -P 2 последнеий ключ -указываем протокол v2 (иначе Bat, например, не работает)
Можно проверить Bat – создаем новую книгу, на вкладке LDAP прописываем имя или адрес LDAP сервера, в базе поиска указываем o=myorganization,c=ru Жмем Ок и F7. Вводим в поле e-mail @. После некоторого раздумья получим адын результат. Все. Готово. PS. Русские символы хранятся в базе в base64 кодировке: givenName::0JTQvNC40YLRgNC40Lk= -Например в таком виде надо указывать в ldif-файле имя Дмитрий. !обратите внимание на двойное двоеточие после наименование аттрибута – оно указывает как раз на то, что он base64 закодирован. WBR, DebosH. Статья взята с сайта OpenNet
комментарии к статье (0)
Ссылки по теме:
SysRq: Убийца процессов
Linux и питание от батарей
Настройка связки Apache2 и Tomcat5
Cooperative Linux в Windows
Установка локального WindowsUpdate сервера под Unix
|