Не так давно мы рассматривали одну из реализаций 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. В репозиториях он отсутствует, поэтому скачаем пакет вручную с сайта производителя, предварительно перейдя в домашний каталог:
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. Для этого наберем в браузере http://srv-05/phpmyadmin, если вы все сделали правильно, то увидите страницу входа, для авторизации используйте логин root и пароль пользователя БД указанный вами при установке. В веб интерфейсе на закладке Базы данных создайте новую базу, в нашем случае база называется openfire.
Теперь наберите адрес http://srv-05:9090 по которому нам доступна административная панель Openfire, настройка довольно проста: укажите язык и параметры сервера. На этапе настройки БД выберите Стандартная База данных Связи, в следующем окне укажите тип базы - MySQL, ее URL (в качестве параметров [host-name] и [database-name] используйте localhost и имя базы) и авторизационные данные.
Следующим шагом выберите Сервер директория (LDAP) и укажите параметры связи со своей службой каталогов. Тип сервера - Active Directory, хост - имя контроллера домена, База DN - домен или OU откуда будут считаны учетные записи, для домена example.com строка должна выглядеть так: dc=example, dc=com, ниже укажите имя и пароль администратора домена.
Следующие настройки можете оставить по умолчанию и, в самом конце, выберите администраторов сервера, в его качестве может выступить любой пользователь домена. Укажите одно или несколько имен. На этом первичная настройка сервера будет закончена и вам будет предложено авторизоваться в админ-панели.
Перейдем на закладку Пользователи/Группы и убедимся что данные из AD считаны нормально:
Как видим "смешались в кучу кони, люди" - учетные компьютеров и пользователей добавились вперемешку, без какой либо разбивки по группам. Для упорядочивания списка пользователей с последующим добавлением в общий ростер сделайте следующее: в Active Directory создайте одну или несколько групп (например Openfire User) в которые добавьте необходимых пользователей. Затем перейдите на закладку Группы в админ-панели, найдите в списке групп созданную нами группу и включите ее в общий ростер, воспользовавшись блоком настроек Совместный список
Теперь можно установить клиента и попробовать подключиться к серверу. В качестве клиента мы использовали Pandion, данный клиент имеет приятный дизайн, хорошо вписывающийся в корпоративную среду и, что немаловажно, поставляется в виде msi-пакета, что позволяет быстро развернуть его средствами GPO.
Дополнительные материалы:
- Openfire - особенности установки на платформе Windows Server
- Openfire и ситуация вокруг Oracle Java в Linux.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии