Персональный блог Игоря Антонова aka "spider_net"

Установка OpenFire (Jabber-сервер) в Debian 7. Авторизация через Active Directory (LDAP)


Рубрика: Администрирование -> Linux -> Без рамки
Метки: | | | | | | |
Просмотров: 16727
Установка OpenFire (Jabber-сервер) в Debian 7. Авторизация через Active Directory (LDAP)

В качестве корпоративной "аськи" мы долгое время использовали Bimoid. Отличное решение, красивый клиент (автор проекта бывший разработчик QIP), стабильная работа. За два года применения продукта проблем не возникало. Не возникло бы и сейчас, если мы не решились на тотальную оптимизацию. В этом ключе Bimoid перестал нам подходить. Почему? Попробую объяснить по пунктам.

Почему решили отказаться от Bimoid

Начну с наболевшего - отсутствие интеграции с Active Directory. У нас не сильно большая компания, но держать в актуальном состоянии информацию даже о 100 юзерах напряжно. Люди приходят и уходят, а аккаунты должны быть в актуальном состоянии. Тем более в компании уже развернут AD и было здорово использовать эту базу для всевозможных программа, требующих базу пользователей. Bimoid пока не имеет поддержки LDAP/AD и со временем отсутствие этой функции стало нас сильно раздражать.

Следующим существенным минусом мы отметили отсутствие серверной части под Linux. Мы стараемся максимально разграничивать роли серверов и выделять отдельную лицензию на MS Windows ради корп. чата как-то не хочется. Вот мы подумали-подумали и решили внести небольшие изменения в корпоративную среду. Прогуглив тему, решили развернуть корпоративный jabber-сервер. Из всех найденных вариантов нам больше все приглянулся OpenFire. Вот сейчас мы и посмотрим как установить OpenFire в корпоративной среде.

Установка OpenFire в Debian 7

Первым делом отправляемся на официальный сайт и скачиваем последнюю версию OpenFire. Сохраняем deb пакет и запускаем установку:

dpkg -i downloadServlet?filename=openfire%2Fopenfire_3.9.3_all.deb

Результатом должно быть:

Setting up openfire (3.9.3) ...
best java alternative in: /usr/lib/jvm/java-7-openjdk-amd64/jre
Starting openfire: openfire.

Далее открываем браузер и вбиваем адрес хоста на котором запустили установку OpenFire. В качестве порта указываем 9090:

http://hostname:9090

Мастер установки OpenFire

Перед нами откроется мастер установки. В первом окне нас попросят выбрать язык. Несмотря на наличие варианта «Русский», я рекомендую выбрать «English». Как показала практика, качество перевода интерфейса на русский местами сильно хромает. Выбираем и нажимаем «Continue».

Хост, ключ шифрования

Здесь нас просят ввести имя хоста, а также указать ключ шифрования. Заполняем и нажимаем «Continue». Заодно запоминаем номер портов по которому будет доступна консоль управления.

Настраиваем соединение с БД

Теперь нам требуется определиться с базой данных в которой OpenFire будет хранить все необходимые для работы данные. Нам доступно два варианта:

  • Standart Database Connection – внешняя СУБД. OpenFire умеет работать со всеми популярными (MS SQL, MySQL, Oracle, PostgreSQL) базами данных.
  • Embedded Database – локальная база данных HSQLDB. В этом случае OpenFire будет использовать свою БД и вам не придется самостоятельно устанавливать MySQL или любую другую БД.

У нас уже MySQL установлен, поэтому выбираем первый вариант: “Standart Databae Connection”. Жмем «Continue».

В разделе «Database Settings – Standart Connection» нам требуется ввести настройки для подключения к СУБД. У меня в качестве БД используется MySQL, соответственно в качестве JDBC Driver Class я выбираю com.mysql.jdbc.Driver. Строка соединения в итоге получилась такой:

jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true

Важно! Нигде не говорится на счет отсутствия БД. Изначально я думал, что OpenFire создаст ее самостоятельно, но я ошибался. Постоянно возникала ошибка, поэтому пришлось самостоятельно создать нового пользователя и базу. После этого OpenFire успешно соединялся с СУБД и пропустил меня к следующему шагу “Profile Settings”.

screen5.png

На предпоследнем шаге на предлагают варианты интеграции с внешними системами хранения информации о пользователях и группах. Доступно три варианта:

  • Default. Вариант по умолчанию. Группы и пользователи будут храниться в OpenFire. Такой вариант подойдет если в компании отсутствуют централизованные хранилища информации о пользователях/группах.
  • Directory Server (LDAP). Интеграция по протоколу LDAP. Если в компании развернута ActiveDirectory, то это оптимальный вариант. Все учетные записи пользователей будут подтягиваться из AD.
  • Clearspace Integration. Интеграция с Clearspace. Если честно, то с данным продуктом я никогда не сталкивался, поэтому прокомментировать не смогу.
  • У меня в организации давно уже развернут Active Directory, поэтому мне интересней выбрать второй вариант – Directory Server (LDAP). Выбираю, нажимаю “Continue”.

Если вы, как и я выбрали «Directory Server (LDAP)», то вам необходимо указать настройки для соединения с сервером LDAP. Заполняем по порядку:

  • Server Type. Тип сервера. В моем случае Active Directory.
  • Host. Адрес сервера. Можно указать ip, а можно доменное имя.
  • Port. Номер порта. Для Active Directory оставляем по умолчанию – 389.
  • Base DN. Определяем место в каталоге с учетными записями. У меня все записи хранится в отдельном OU (Organization Unit), поэтому запроса будет такой:
  • OU=Офис,DC=company,DC=local

    Подробней про именования объектов вы можете почитать в Wikipedia.

  • Administrator DN. Путь к директории/аккаунту пользователя от имени которого будут выполняться все запросы к AD. Для удобства администрирования я создал отдельного пользователя: openfire. В результате строка Administrator DN получилась такой: CN=openfire,CN=Users,DC=company,DC=local.
  • Password. Пароль пользователя, от имени которого будут выполняться запросы к AD.

Определяем соответствия полей между пользователями AD и OpenFire. Я здесь ничего не изменяю. Жмем “Continue”.

Настройка соответствия групп. Тоже ничего не меняем. Жмем “Continue”.

Остался последний шаг – выбрать пользователей, которые будут обладать административными правами. Вводим имена (без доменной части) и нажимаем Add. Если вылетает ошибка и пользователь не находится, то возвращаемся к настройками соединения с Active Directory.

Жмем “Continue” и попадает в долгожданный экран Setup Complete. Остается только нажать на кнопку «Login to the admin cosole» и ввести данные от своей учетной записи. Установка OpenFire завершена.

Оставьте комментарий!
comments powered by HyperComments