Установка OpenFire (Jabber-сервер) в Debian 7. Авторизация через Active Directory (LDAP)
Рубрика: Администрирование -> Linux -> Без рамки
Метки: ActiveDirectory | linux | mysql | OpenFire | OpenSource | soft | инструменты | советы
Просмотров: 16727
В качестве корпоративной "аськи" мы долгое время использовали 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
Перед нами откроется мастер установки. В первом окне нас попросят выбрать язык. Несмотря на наличие варианта «Русский», я рекомендую выбрать «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”.
На предпоследнем шаге на предлагают варианты интеграции с внешними системами хранения информации о пользователях и группах. Доступно три варианта:
- 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.
Определяем соответствия полей между пользователями AD и OpenFire. Я здесь ничего не изменяю. Жмем “Continue”.
Настройка соответствия групп. Тоже ничего не меняем. Жмем “Continue”.
Остался последний шаг – выбрать пользователей, которые будут обладать административными правами. Вводим имена (без доменной части) и нажимаем Add. Если вылетает ошибка и пользователь не находится, то возвращаемся к настройками соединения с Active Directory.
Жмем “Continue” и попадает в долгожданный экран Setup Complete. Остается только нажать на кнопку «Login to the admin cosole» и ввести данные от своей учетной записи. Установка OpenFire завершена.