Openfire - корпоративный IM-сервер с интеграцией в AD

  • Автор:

openfire-AD-000.jpg

Не так давно мы рассматривали одну из реализаций IM-сервера на базе ejabberd. Сегодня мы расскажем еще об одном Jabber-сервере Openfire, который является неплохим решением для среднего размера сетей, на примере практической реализации корпоративной службы коротких сообщений с интеграцией в службу каталогов Active Directory.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Почему Openfire? Данный продукт имеет ряд достоинств: настройку и управление через веб-интерфейс, возможность использовать SQL сервер для хранения данных, легкую интеграцию со службами каталогов. Есть и недостатки: повышенная ресурсоемкость (сервер написан на Java), поэтому мы рекомендуем выделять под Openfire отдельный сервер.

Хоть Openfire и кроссплатформенный продукт, мы советуем разворачивать его на платформе Ubuntu Server, что позволит более экономно использовать ресурсы и избавит вас от необходимости покупки еще одной серверной лицензии Windows Server.

Приступим. Для установки будем использовать сервер с установленной на нем ОС Ubuntu Server 10.04.2 LTS. Так как Openfire требует java от Sun (ныне Oracle), то отредактируем /etc/apt/sources.list, подключив "партнерские" репозитории. Для этого найдите и раскомментируйте следующие строки:

deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

Теперь обновим список пакетов:

sudo apt-get update

Внимание! В связи с отзывом Oracle лицензию на поставку Java в составе дистрибутивов Linux установить пакет sun-java6-jre по данной инструкции не представляется возможным. Для этого воспользуйтесь нашей статьей: Openfire и ситуация вокруг Oracle Java в Linux.

Установим Java от Sun:

sudo apt-get install sun-java6-jre

Также нам понадобится веб-сервер с поддержкой PHP и сервер БД. В качестве первого мы использовали Apache, а в качестве второго MySQL. Установить все необходимое можно командой:

sudo apt-get install apache2 php5 mysql-server

При установке MySQL сервер запросит ввести пароль для пользователя БД root (не путать с одноименным системным пользователем). Дополнительной настройки установленные пакеты не требуют.

Для управления MySQL сервером через веб-интерфейс можно установить пакет phpMyAdmin:

sudo apt-get install phpmyadmin

Установщик пакета предложит автоматически сконфигурировать веб-сервер, не забудьте отметить необходимый тип сервера (в нашем случае apache2) перед тем как продолжить.

openfire-AD-001.jpgТеперь, когда все готово, приступим к установке Openfire. В репозиториях он отсутствует, поэтому скачаем пакет вручную с сайта производителя, предварительно перейдя в домашний каталог:

cd ~
wget "http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.7.0_all.deb"

Данная ссылка актуальна для текущей версии Openfire и может измениться, уточнить ссылку вы всегда можете на сайте разработчика.

Скачанный пакет установим командой:

sudo dpkg -i openfire_3.7.0_all.deb

Готово, можно приступать к настройке, но перед этим выполним ряд подготовительных действий. В первую очередь добавим в DNS сервер предприятия запись типа А которая позволит клиентам обращаться к нашему серверу по имени хоста, а не по IP-адресу. В нашем примере имя сервера SRV-05 и адрес 192.168.0.105.

openfire-AD-002.jpgПосле чего создадим базу данных для Openfire. Для этого наберем в браузере http://srv-05/phpmyadmin, если вы все сделали правильно, то увидите страницу входа, для авторизации используйте логин root и пароль пользователя БД указанный вами при установке. В веб интерфейсе на закладке Базы данных создайте новую базу, в нашем случае база называется openfire.

openfire-AD-003.jpgТеперь наберите адрес http://srv-05:9090 по которому нам доступна административная панель Openfire, настройка довольно проста: укажите язык и параметры сервера. На этапе настройки БД выберите Стандартная База данных Связи, в следующем окне укажите тип базы - MySQL, ее URL (в качестве параметров [host-name] и [database-name] используйте localhost и имя базы) и авторизационные данные.

openfire-AD-004.jpgСледующим шагом выберите Сервер директория (LDAP) и укажите параметры связи со своей службой каталогов. Тип сервера - Active Directory, хост - имя контроллера домена, База DN - домен или OU откуда будут считаны учетные записи, для домена example.com строка должна выглядеть так: dc=example, dc=com, ниже укажите имя и пароль администратора домена.

openfire-AD-005.jpgСледующие настройки можете оставить по умолчанию и, в самом конце, выберите администраторов сервера, в его качестве может выступить любой пользователь домена. Укажите одно или несколько имен. На этом первичная настройка сервера будет закончена и вам будет предложено авторизоваться в админ-панели.

Перейдем на закладку Пользователи/Группы и убедимся что данные из AD считаны нормально:

openfire-AD-006.jpgКак видим "смешались в кучу кони, люди" - учетные компьютеров и пользователей добавились вперемешку, без какой либо разбивки по группам. Для упорядочивания списка пользователей с последующим добавлением в общий ростер сделайте следующее: в Active Directory создайте одну или несколько групп (например Openfire User) в которые добавьте необходимых пользователей. Затем перейдите на закладку Группы в админ-панели, найдите в списке групп созданную нами группу и включите ее в общий ростер, воспользовавшись блоком настроек Совместный список

openfire-AD-007.jpgТеперь можно установить клиента и попробовать подключиться к серверу. В качестве клиента мы использовали Pandion, данный клиент имеет приятный дизайн, хорошо вписывающийся в корпоративную среду и, что немаловажно, поставляется в виде msi-пакета, что позволяет быстро развернуть его средствами GPO.

Дополнительные материалы:

  1. Openfire - особенности установки на платформе Windows Server
  2. Openfire и ситуация вокруг Oracle Java в Linux.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments