Polytech-soft.com

ПК журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ldap сервер для адресной книги

Общая корпоративная адресная книга. Настройка почтовых клиентов (LDAP)

На днях появилась задача. Необходимо было реализовать общую адресную книгу сотрудников для одного предприятия. Самое простое решение это воспользоваться уже имеющейся базой данных Active Directory, в которой храниться информация обо всех общих контактах. Mozila Thrunderbird и Microsoft Outlook имеют поддержку протокола LDAP, поэтому задача оказалась достаточно проста в реализации.

Для того, что б почтовая программа могла брать записи из AD необходимо разрешить в настройках фаервола запросы на 3268 порт. Если необходим доступ из внешней сети, а сервер находится за NAT, то необходимо настроить проброс 3268 порта на адрес нашего контроллера домена.

Настройка Mozila Thrunderbird 17

1. Открываем «Адресная книга»

2. Создаем новую адресную книгу при помощи меню «Файл > Создать > Каталог LDAP» (рис.1)

3. Заполняем поля на вкладке «Основное» (рис.2)

Название: любое имя вашей новой книги, используется только для отображения.

Имя сервера: corp.domaine.ru

Корневой элемент (Base DN): dc=corp,dc=domain,dc=ru

Порт: 3268

Имя пользователя (Bind DN): login@ corp.domaine.ru

В качестве примера специально указал доменное имя третьего уровня, что б было понятно написание Base DN. Для имени второго уровня написание будет dc=domain,dc=ru Соответственно Имя сервера указываем свое и корневой элемент прописываем исходя из него, так же как и имя пользователя.

4. К сожалению вкладка автономно абсолютно бесполезна (рис.3). На ней можно нажать на кнопку загрузить сейчас, если все настроено правильно появится надпись «Репликация завершена» и на этом все. В Mozilla Thrunderbird работает только подстановка при написании письма и поиск в адресной книге.

5. Открываем вкладку «Дополнительно» (рис.4) Можно оставить все по умолчанию, можно изменить фильтр поиска.

6. Нажимаем «Ок», закрываем адресную книгу. 7. Открываем «Инструменты > Настройки > Составление > Вкладка Адресация» (рис.5) Пункт «При вводе адреса искать подходящие почтовые адреса в:». Отмечаем «Сервере каталогов» и указываем наш сервер.

8. Перезапускаем Mozilla Thrunderbird. Теперь при составлении нового письма, начав вводить фамилию сотрудника будет выполнен поиск в каталоге и если совпадения будут найдены вы их увидите. Для того, что б увидеть адреса всех занесенных в каталог сотрудников, откройте адресную книгу Mozila Thrunderbird, выберите общую книгу и в строке поиска введите символ @ т.к. он присутствует во всех адресах, то мы получим полный список.

Настройка Microsoft Outlook 2010

1. Запускаем Outlook 2010, переходим на вкладку «Файл», нажимаем «Настройка учетных записей» (рис.1)

2. Переходим на вкладку «Адресные книги» и нажимаем создать (рис.2)

3. В открывшемся окне выбираем «Служба каталогов интернета (LDAP)» и нажимаем далее (рис.3)

4. На следующей вкладке вводим имя сервера, отмечаем требуется вход на сервер, вводим имя пользователя в формате login@ corp.domaine.ru, вводим пароль и нажимаем другие настройки (рис.4)

5. В открывшемся окне на вкладке «Подключение» вводим имя адресной книги (любое, используется только для отображения), порт 3268 (так же можно 389) (рис.5)

6. На вкладке «Поиск» выбираем «База поиска» — другая и вписываем свои данные (пример: dc=corp,dc=domain,dc=ru). Отмечаем «Включить просмотр» и нажимаем «Ок» (рис.6)

7. Нажимаем «Далее» и в следующем окне «Готово». Перезагружаем Outlook 2010. Открываем Outlook. Запускаем адресную книгу. В качестве источника контактов выбираем адресную книгу с именем corp.domaine.ru. Перед вами появится список всех контактов, заведенных вами в Active Directory. Данную адресную книгу можно задать в качестве дефолтной.

Плюс Outlook 2010 перед Mozila Thrunderbird в том, что Outlook умеет сразу считывать все записи из AD.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Создаем адресную книгу на базе OpenLDAP

Архив номеров / 2006 / Выпуск №10 (47) / Создаем адресную книгу на базе OpenLDAP

СЕРГЕЙ АПАЕВ

Создаем адресную книгу на базе OpenLDAP

Надоела пустая трата времени на ведение адресных книг в текстовом формате? Возможно, использование сервера каталогов будет лучшим решением проблемы.

OpenLDAP – бесплатный сервер каталогов, который содержится в большинстве дистрибутивов Linux и FreeBSD. Он обладает достаточной функциональностью и полностью совместим с Outlook Express, Mozilla и Mozilla Thunderbird.

PostgreSQL – достаточно известный сервер баз данных. Обладает хорошим быстродействием, надёжностью и многофункционален. В отличие от MySQL он поддерживает спецификацию ANSI SQL 92, что без особых усилий позволяет перенести базы данных, написанные на PostgreSQL, в такие коммерческие продукты, как Oracle и MSSQL, а также обладает широким набором дополнительных возможностей (правила, триггеры, встроенные языки). Продукт 1С Бухгалтерия v. 8.1 был полностью реализован на PostgreSQL. Использование PostgreSQL в данном примере ярко иллюстрирует часть его возможностей.

Для управления содержимым сущностей будет использоваться веб-интерфейс PHPLdapAdmin. Это мощный веб-интерфейс для работы с OpenLDAP. Он содержит большое количество встроенных шаблонов, что упрощает работу с каталогами.

Структура адресной книги

Название организации (частная компания)

Пейджер (ICQ, Yahoo и т. д.)

OpenLDAP осуществляет взаимодействие с PostgreSQL через источники данных UnixODBC, что позволяет использовать другие серверы баз данных (MySQL, MSSQL, Oracle и т. д.). Все поля из таблицы будут отображаться в таких почтовых клиентах, как Outlook Express, Mozilla Thunderbird и просто Mozilla. Итак, приступим.

Установка и настройка OpenLDAP

Для успешной сборки OpenLDAP установим unixODBC-2.2.11.

Собираем из портов:

# make && make install

Приступаем к установке самого пакета OpenLDAP:

# make && make install

# make WITH_ODBC=YES WITH_ODBC_TYPE=unixodbc

Приступаем к настройке сервера.

Убедитесь, что после установки на главный конфигурационный файл стоят права владельца на пользователя ldap. В противном случае задайте права на главный конфигурационный файл:

# chown ldap:ldap /usr/local/etc/openldap/slapd.conf

Правим главный конфигурационный файл:

# Подключаем необходимые схемы

# Указываем путь для файлов pid и args

# Определяем порядок доступа к сущностям

# Разрешаем доступ к службе каталогов LDAP только авторизированным пользователям

by anonymous auth

# Путь к модулю sql

# sql database definitions

# Определяем настройки для соединения с PostgreSQL-сервером

# Имя источника данных

# Имя пользователя для соединения с PostgreSQL

# Пароль для данного пользователя

insentry_stmt «insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select nextval(‘ldap_entries_id_seq’)). )»

# При использовании модуля sql-индексы указывать не нужно

# Поиск автоматически можно вести по всем атрибутам, используемым в LDAP-дереве

Для более безопасного хранения пароля его необходимо зашифровать, поэтому для шифрования паролей выполните команду:

  • для администратора ldap-каталогов:

# slappasswd –h –s secret

  • Для доступа к PostgreSQL:

# slappasswd –h –s 123456

Для того чтобы не переписывать длинный кодированный пароль, в конце данных команд можно поставить перенаправление вывода на конфиг в конец файла (>>/usr/local/openldap/etc/slapd.conf), а потом отредактировать.

Для запуска, остановки, перезапуска, проверки статуса используем команду:

# /usr/local/etc/rc.d/slapd.sh start stop restart status

Запускаем сервер после установки PostreSQL.

Для автоматического запуска OpenLDAP при загрузке правим rc.conf:

# mcedit /etc/rc.conf

slapd_enable=»YES»

slapd_flags=»-u ldap –g ldap –h ldap://192.168.7.1″

Базовая настройка сервера каталогов закончена.

Установка и настройка PostgreSQL

PostgreSQL – мощный сервер баз данных, предназначенный для бесплатного использования в рамках лицензии BSD. Он входит в состав большинства дистрибутивов Linux и FreeBSD.

Собираем PostgreSQL из портов:

# make && make install

# make && make install

Создадим каталог для размещения баз данных с правами на pgsql:

# chmod 700 pgsql && chown pgsql:pgsql pgsql

# /usr/local/bin/sudo –u pgsql /usr/local/bin/initdb –-username=pgsql –-pgdata=/var/db/pgsql

Возможно, вам придётся установить утилиту sudo в разделе security общего дерева портов. После установки не забудьте разрешить root запускать команды для пользователя pgsql. Для этого необходимо отредактировать sudoers:

root ALL=(pgsql) ALL

Данная строка разрешает root запускать команды для пользователя pgsql. После создания первичных баз в целях безопасности данную строку можно закомментировать или удалить.

Для автоматического запуска сервера при загрузке системы правим rc.conf:

Далее правим главный конфигурационный файл, где указываем IP, на котором будет работать сервер:

Для версии 7.x необходимо указать:

Для запуска PostgreSQL выполните команду:

Для настройки UnixODBC необходимо создать два файла следующего содержания:

Description = PostgreSQL driver for Linux & Win32

В данном файле мы указываем путь к библиотеке, которая отвечает за работу с PostgreSQL-сервером.

Description = Test to Postgres

Здесь содержится информация, используемая для доступа к PosgreSQL. Имя пользователя и пароль мы указали в главном конфигурационном файле slapd.conf, поэтому здесь эти данные можно не указывать

Создание базы данных PostgreSQL хранения сущностей LDAP

Прежде всего необходимо определиться со структурой LDAP-дерева. В корне каталогов будет находиться контейнер o=myorg, в котором будут содержаться два контейнера. В первом ou=users,o=myorg будет храниться информация о пользователях, которые будут иметь доступ к серверу каталогов(например, cn=ivan ivanov,ou=users,o=myorg). Во втором ou=myaddressbook,o=myorg будут храниться записи о сотрудниках.

Приступаем к созданию баз данных:

# psql –h 127.0.0.1 -d template1 -U pgsql

Далее создаём пользователя ldap:

template1=# CREATE USER ldap WITH SYSID 100 PASSWORD ‘123456’

Теперь создадим базу данных для данной адресной книги:

template1=# CREATE DATABASE ldap WITH OWNER = ldap ENCODING = ‘UNICODE’;

В данном случае очень важно использовать кодировку UNICODE, т.к. OpenLDAP будет добавлять данные, содержащие русские символы в юникодной кодировке, а не SQL-ASCII. Использование данной кодировки в базе данных позволит корректно отображать символы на русском при непосредственном доступе к таблицам PostgreSQL. Отсоединяемся и создаем таблицы под новым пользователем ldap к вновь созданной базе ldap:

# psql –h 127.0.0.1 –d ldap –U ldap –p 5432 –W

Данный SQL-скрипт автоматически создаст таблицы для хранения сущностей.

Перезапускаем систему. После авторизации выполняем:

На что он должен выдать список всех сервисов, которые слушают на IPv.4, среди которых должны быть PostgreSQL и slapd, что свидетельствует об успешно выполненных настройках.

Установка и настройка PHPLdapAdmin

Доступ к нему осуществляется через сервер Apache. Для нормальной работы phpldapadmin никаких особых настроек PHP не требуется, нужна только поддержка OpenLDAP, поэтому если уже имеется настроенный PHP, то просто добавьте модуль ldap, и этого будет достаточно. Собираем PHPLdapAdmin из портов:

# make && make install

Для запуска Apache выполняем:

Переходим к настройке PHPLdapAdmin:

# mv config.php.example config.php

Для подключения к LDAP-серверу имя пользователя и пароль мы будем вводить в самом интерфейсе. Хост необходимо указать в данном файле.

В браузере заходим на http://192.168.7.1/phpldapadmin/.

Создание адресной книги

Приступаем к созданию адресной книги. Для авторизации нажимаем «ВХОД». В качестве логина вводим cn=root,o=myorg, в качестве пароля – secret. Для создания главного контейнера выбираем «IMPORT», и далее в текстовом поле «Paste your LDIF here» введите следующее:

Переходим к созданию контейнера, содержащего информацию о пользователях, которым разрешено пользоваться сервером каталогов. Выделите контейнер o=myorg и кликните «Создать потомка». В качестве шаблона выберите «Organisational Unit» и введите название контейнера -users. Создадим учётную запись для доступа к серверу каталогов. В контейнере ou=users,o=myorg кликните «Создать потомка» и в качестве шаблона укажите «User Account», и заполните данные. В качестве uid можно вводить порядковый номер пользователя (рис. 1).

Рисунок 1. Пример добавления пользователя

Создадим контейнер для хранения записей о сотрудниках. Для этого в контейнере o=myorg создайте контейнер ou=address_book по тому же принципу, что и ou=users. Для добавления записей о сотрудниках создайте в контейнере ou=addressbook,o=myorg потомка, указав в качестве шаблона Address Book Entry (mozillaOrgPerson). И далее заполняйте данные на русском (рис. 2). После чего нажмите «proceed» для создания объекта. Вот таким образом добавляются данные. OpenLDAP автоматически размещает их в SQL-таблицах. С помощью интерактивного клиента pgadmin вы можете посмотреть данные в таблицах.

Рисунок 2. Пример добавления данных о сотруднике

Настройка Outlook Express на использование адресной книги

Переходим к настройке Outlook Express. Для добавления сервера каталогов в меню «Сервис –> Учётные записи» выбираем «Добавить –> Служба каталогов». В качестве имени укажите 192.168.7.1.

Потом зайдите в свойства и на вкладке «Общие» в поле «Учётная запись» введите «Моя адресная книга». Установите галку «Требуется вход на сервер» в состояние включено.

В качестве учётной записи введите cn=ivan ivanov,ou=users,o=myorg и укажите пароль, который вы вводили при создании данного пользователя.

Переходим на вкладку «Дополнительно» и в поле «Основа поиска» укажите ou=myaddressbook,o=myorg.

Теперь можно выполнять поиск в адресной книге по любым критериям. Кликните кнопку «Адреса», далее «Поиск людей» и введите критерии поиска.

Пример поиска показан на рис. 3.

Рисунок 3. Пример поиска контактной информации сотрудника в адресной книге

Ldap сервер для адресной книги

Адресная книга на LDAP за пять минут.

Эта шпаргалка не претендует на какую либо замену официальной документаци. RTFM – рулез форева, однако сие творение позволит быстро настроить и запустить собственно адресную книгу общего пользования – штуку довольно удобную. Ну а дальше уже можно обвешать все это дело разными спецфигнями, типа авторизации etc.

Итак, Steb-by-step lamers LDAP adresbook guide 🙂 (шутка)

Качаем с www.openldap.org собственно LDAP сервер. Если хотите в качестве backenda BerkleyDB, тогда качаем и его (www.sleepycat.com) Надоть версию 4. Кого устроит gdbm – берем его. Меня устроило – ибо он у меня уже был :). Итак, считаем, DB установлен. OpenLDAP .tar.gz лежит в /usr/src. Идем туда.

tar -zxvf ./OpenLDAP .tar.gz

./configure –help > conf.help

читаем получившийся файл, выбираем опции по вкусу

./configure –with-prefix=/usr/local/openldap —enable-bdb=no —enable-ldbm —with-ldbm-api=gdbm –enable-debug

БерклейДБ запретил (он включен по умолчанию), ldbm разрешил, без последнего демон не будет писать логи.

su — root -c make install

Идем в /usr/local/openldap/etc, редактируем slapd.conf Для адресной книги у меня

подключены три схемы:

затем обязательно надо сказать:

allow bind_v2 – по умолчанию поддерживается протокол V3, а на сколько я понял , ни мышь, ни мозила по нему работать не умеют. Впрочем это мое имхо, если я не прав – поправьте.

loglevel -1 -в лог пишется ВСЯ отладочная информация.

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

Все, запускаем сервер —

Смотрим лог – в конце должно стоять что-то типа daemon started. Ага, потираем руки, идем пить пиво.

Напимшись, делаем базу: создаем пустой текстовый файл

dn: o:myorganization,c=ru ; Описываем уникальный ключ корневого каталога

objectclass: dcobject ;Указываем, какие классы объектов доступны (т.е атрибуты каких

objectclass: organization ;классов можно описывать для этого каталога

o: myorganization ; Собственно описываем атрибуты

dc: myorganization ;o и c – сокращение атрибутов organization и country

objectclass: top ;указывает на родительские объекты (?)

objectclass: organizationalunit ;дочерний объект от organization

dn: cn=John S Doe,ou=users,o=myorganization,c=ru

cn: John Doe ;Общее имя – их может быть несколько, тогда для кажлого – новая строка

gn: John ; givenname — Имя

sn: Doe ; surname — Фамилия

Таким образом мы будем иметь следующую структуру каталогов:

в users один пользователь: djohn doe.users.myorganization.ru (/users/john doe)

если вы не хотите пихать всех в одну структурную единицу – создайте для каждого отдела свою:

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” “(object >

последнеий ключ -указываем протокол v2 (иначе Bat, например, не работает)

Можно проверить Bat – создаем новую книгу, на вкладке LDAP прописываем имя или адрес LDAP сервера, в базе поиска указываем o=myorganization,c=ru

Жмем Ок и F7. Вводим в поле e-mail @. После некоторого раздумья получим адын результат.

PS. Русские символы хранятся в базе в base64 кодировке:

givenName::0JTQvNC40YLRgNC40Lk= -Например в таком виде надо указывать в ldif-файле имя Дмитрий.

!обратите внимание на двойное двоеточие после наименование аттрибута – оно указывает как раз на то, что он base64 закодирован.

Статья взята с сайта OpenNet

WBR, DebosH — Адресная книга на LDAP за пять минут Версия для печати

Общая адресная книга без Exchange через LDAP

У меня в конторе почтовый сервер вынесен на сервера яндекса, это очень удобно было в тот момент сделать, но в этом есть и большие минусы, один из главных минусов это адресная книга которая у нас очень часто обновляется в связи с принятием на работу новых сотрудников либо увольнением старых. И вот на этой неделе была последняя капля и решил закрыть дурацкий вопрос с адресными книгами, потому как до сегодняшнего момента использовал ручной способ обновления адресных книг что очень напрягало. Сейчас настроил синхронизацию адресной книги по средствам LDAP. В инете есть уже инструкции, но я напишу свою более развернутую и так сказать для чайников, мало ли кому то пригодится.

Для того что бы реализовать общую адресную книгу без Exchange через LDAP нам в первую очередь необходим Домен. Потому как все основные действия будут происходить с ним.

В моей инструкции уже учитывается что у вас уже есть домен и организация работает в доменной структуре.

поехали

  1. Заходим на контроллер домена и открываем приложение Active Directory — пользователи и компьютеры
  2. Определяем где мы будем вести нашу адресную книгу (я использовал папку которая уже есть по умолчанию CONTACT )
  3. создаем там тестовый контакт Создать -> Контакт (обратите внимание не пользователя а КОНТАКТ)
  4. заполните профиль этого контакта те поля которые вы хотите что бы отображалось (ФИО, тел, номер кабинета, e-mail и т.д.)
  5. Откройте командную строку Пуск-cmd
  6. Делаем экспорт данной группы контактов, что бы у нас был шаблон для заполнения след командой csvde -f c:ad2.csv -d «OU=contact,DC=домен,DC=ru» -u
    примечание:
    — экспорт импорт делаем командой csvde
    — экспорт делаем в формате CSV (удобней потом редактировать)
    — заносим свои данные в OU и DC (тут я надеюсь понятно что откуда)
    — в конце ставим ключ -u это что бы кодировка была в Юникоде
  7. На выходе на диске С у нас есть файл ad2.csv его импортируем в в excel или гугл документ (я все делаю через гугл, очень удобно)
  8. у нас будет две строчки и много столбцов и вторая строчка как раз будет с нашим тестовым юзером которого мы создали
  9. Далее дело за малым удалить лишние столбцы (те в которых идут индефикаторы(там где много цифр ))) )) и далее на основе тестового юзера внести всех остальных пользователей и заполнением всех полей (ФИО, тел, номер кабинета, e-mail и т.д.)
  10. сохраняете данный файл кладете его на диск С контроллера домена и вводим команду импорта csvde -i -f c:ad3.csv -k -u
    примечание:
    — импорт делаем командой csvde
    — при импорте указываем файл CSV который мы заполнили в в excel или гугл
    — ключ -k означает пропускать ошибки или уже имеющиеся повторяющиеся контакты
    — u это что бы кодировка была в Юникоде

  11. На это все

Но как и везде тут есть свой НЮАНС.

С первого раза у меня не получилось все это загрузить какие бы я варианты не пробовал потому как при загрузке у меня контакты выглядели след образом:

как видите у меня билась кодировка при импорте в Active Directory и я начал делать перебор кодировок что бы найти ту которая будет нормально все загружать.

В итоге панацея была найдена и после этого все прогрузилось красиво и быстро

Вывод: перед тем как начнете делать большой импорт протестите сначала на импорте 1-2 контактов и когда увидите что все ок, грузите уже весь список!

Подключение общей адресной книги в Outlook 2010 через LDAP

Как Вы поняли это было только первая часть инструкции, потому как теперь ее надо подключить адресную книгу в outlook. Для этого делаем следующие:

  1. Открываем Outlook 2010(у вас может быть любой клиент, логика не меняется)
  2. Идем в меню Файл ->Сведения ->Настройка Учетных записей ->открываем вкладку Адресная книга -> нажимаем создать

  3. Выбираем пункт Служба каталогов Интернета (LDAP)

  4. далее в имя сервера вводим либо имя контролера домена либо его IP адрес, активируете две галочки в пункте Вход в систему и нажимаем Другие настройки
  5. В след пункте Имя указываем имя как у нас будет отображаться адресная книга в списке и переходим на вкладку ПОИСК
  6. Тут ставим переключатель на Другая и вносим данные откуда будут браться контакты и обязательно ставим галочку в пункте ПРОСМОТР

Читать еще:  Написание адреса на конверте
Ссылка на основную публикацию
Adblock
detector
Рубрика: Администрирование / Продукты и решения | Дополнительные материалы