Openfire что это за программа
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Не так давно мы рассматривали одну из реализаций IM-сервера на базе ejabberd. Сегодня мы расскажем еще об одном Jabber-сервере Openfire, который является неплохим решением для среднего размера сетей, на примере практической реализации корпоративной службы коротких сообщений с интеграцией в службу каталогов Active Directory.
Почему Openfire? Данный продукт имеет ряд достоинств: настройку и управление через веб-интерфейс, возможность использовать SQL сервер для хранения данных, легкую интеграцию со службами каталогов. Есть и недостатки: повышенная ресурсоемкость (сервер написан на Java), поэтому мы рекомендуем выделять под Openfire отдельный сервер.
Хоть Openfire и кроссплатформенный продукт, мы советуем разворачивать его на платформе Ubuntu Server, что позволит более экономно использовать ресурсы и избавит вас от необходимости покупки еще одной серверной лицензии Windows Server.
Приступим. Для установки будем использовать сервер с установленной на нем ОС Ubuntu Server 10.04.2 LTS. Так как Openfire требует java от Sun (ныне Oracle), то отредактируем /etc/apt/sources.list, подключив «партнерские» репозитории. Для этого найдите и раскомментируйте следующие строки:
Теперь обновим список пакетов:
Внимание! В связи с отзывом Oracle лицензию на поставку Java в составе дистрибутивов Linux установить пакет sun-java6-jre по данной инструкции не представляется возможным. Для этого воспользуйтесь нашей статьей: Openfire и ситуация вокруг Oracle Java в Linux.
Установим Java от Sun:
Также нам понадобится веб-сервер с поддержкой PHP и сервер БД. В качестве первого мы использовали Apache, а в качестве второго MySQL. Установить все необходимое можно командой:
При установке MySQL сервер запросит ввести пароль для пользователя БД root (не путать с одноименным системным пользователем). Дополнительной настройки установленные пакеты не требуют.
Для управления MySQL сервером через веб-интерфейс можно установить пакет phpMyAdmin:
Установщик пакета предложит автоматически сконфигурировать веб-сервер, не забудьте отметить необходимый тип сервера (в нашем случае apache2) перед тем как продолжить.
Теперь, когда все готово, приступим к установке Openfire. В репозиториях он отсутствует, поэтому скачаем пакет вручную с сайта производителя, предварительно перейдя в домашний каталог:
Данная ссылка актуальна для текущей версии Openfire и может измениться, уточнить ссылку вы всегда можете на сайте разработчика.
Скачанный пакет установим командой:
Готово, можно приступать к настройке, но перед этим выполним ряд подготовительных действий. В первую очередь добавим в DNS сервер предприятия запись типа А которая позволит клиентам обращаться к нашему серверу по имени хоста, а не по IP-адресу. В нашем примере имя сервера SRV-05 и адрес 192.168.0.105.
После чего создадим базу данных для Openfire. Для этого наберем в браузере http://srv-05/phpmyadmin, если вы все сделали правильно, то увидите страницу входа, для авторизации используйте логин root и пароль пользователя БД указанный вами при установке. В веб интерфейсе на закладке Базы данных создайте новую базу, в нашем случае база называется openfire.
Следующие настройки можете оставить по умолчанию и, в самом конце, выберите администраторов сервера, в его качестве может выступить любой пользователь домена. Укажите одно или несколько имен. На этом первичная настройка сервера будет закончена и вам будет предложено авторизоваться в админ-панели.
Перейдем на закладку Пользователи/Группы и убедимся что данные из AD считаны нормально:
Теперь можно установить клиента и попробовать подключиться к серверу. В качестве клиента мы использовали Pandion, данный клиент имеет приятный дизайн, хорошо вписывающийся в корпоративную среду и, что немаловажно, поставляется в виде msi-пакета, что позволяет быстро развернуть его средствами GPO.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Мы не будем рассматривать процесс установки и настройки полностью, он был детально нами описан в предыдущей статье, а остановимся на характерных особенностях связанных с использованием Windows Server и SQL Express.
И почему все таки Openfire? Ответ прост, на сегодняшний день это лучшее решение корпоративного уровня, стабильное, простое в установке и настройке, полноценно интегрирующееся в Active Directory. Наша попытка подружить AD и ejabberd (как альтернативу Openfire) не увенчалась успехом. Несмотря на то, что данная связка в конце концов заработала, рекомендовать ее к применению мы категорически не можем.
Установка Openfire для Windows предельна проста, достаточно скачать инсталляционный пакет и установить его привычным образом. После установки вы увидите окно запуска сервера, позволяющее запустить, остановить и открыть его административную панель.
Собственно уже на этом этапе можно приступить к настройке и эксплуатации IM-сервера, что удобно, если нужно быстро развернуть данную службу на короткое время, например для обеспечения какого-либо мероприятия. Но для повседневного использования в корпоративной среде такой вариант неприемлем. Почему? В настоящее время Openfire запущен как обычное приложение от имени текущего пользователя. Нам же нужно запускать его как службу. Для этого воспользуемся утилитой openfire-serviceидущей в комплекте поставки. Запустим командную строку и перейдем в каталог с утилитой:
Установим Openfire как службу и запустим ее:
После чего перейдем в оснастку Службы и убедимся, что служба Openfire создана, работает и имеет автоматический тип запуска.
Теперь, набрав в браузере http://localhost:9090, можно приступать к настройке сервера. Однако не будем спешить, для работы IM-сервера нам потребуется база данных. Если у вас в сети развернут сервер БД, то можно использовать его, в небольших сетях можно попробовать обойтись встроенной БД, мы же рекомендуем использовать MS SQLExpress. Возможностей этой версии СУБД с лихвой хватает для данного сервиса, а использование автономной БД повышает надежность и снижает зависимость от других служб и сервисов.
При установке SQLExpress в качестве Authentication Mode выбираем Mixed и указываем пароль для SQL администратора sa.
Сразу после установки идем в SQL Server Configuration Manager и проверяем состояние службы SQL Server Browser. При установке по умолчанию она остановлена. Заходим в свойства и устанавливаем для нее автоматический тип запуска, после чего запускаем.
Затем переходим в SQL Server Network Configuration и включаем протокол TCP/IP, не забываем перейти на закладку IP Adresses и явно включить использование протокола для нужных интерфейсов (127.0.0.1 и 10.0.0.3).
Перезапустим SQL Server.
Теперь создадим новую БД, для этого откроем SQL Server Management Studio, обратите внимание что для входа нужно использовать имя_хоста\имя_экземпляра_SQL, в нашем случае SRV03\SQLEXPRESS.
В открывшемся дереве находим пункт Databases и щелкнув на нем правой кнопкой мыши создадим новую БД, достаточно только указать название (в нашем случае openfire), оставив остальные параметры по умолчанию.
Теперь, настроив SQL сервер и создав базу данных, можно переходить к настройке Openfire через веб интерфейс. Процесс настройки ничем не отличается от уже рассмотренного нами, за исключением того, что при настройке БД необходимо выбрать Microsoft SQLServer и указать следующую строку База данных URL:
Имя пользователя должно быть sa с паролем установленным нами на стадии установки SQL сервера. Если все сделано правильно, то Openfire успешно соединится с БД и вы сможете продолжит настройку по уже знакомому сценарию.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Openfire что это за программа
Работает сервер Openfire c различными клиентами, прежде всего это Spark, также Miranda IM, Pandion, Trillian Pro, Psi, Pidgin, QIP Infum и др.
Произведем настройку сервера openfire.
Увеличиваем количество оперативной памяти, которую использует сервер Openfire и установим и запустим службу openfire.
В каждом файле следующие настройки, указывающие на минимальное и максимальное значение памяти:
-Xms512m
-Xmx1024m
2. Установим и запустим службу openfire, для этого запускаем командную строку с административными правами и выполняем команды:
cd «C:\Program Files(x86)\Openfire\bin»
openfire-service /install
openfire-service /start
3. Открываем консоль администратора сервера openfire и осуществляем вход на сервер (вводим имя пользователя и пароль). Проверяем новые настройки по добавлению памяти Java:
Следующим шагом создадим группы для работы с сервером openfire и добавим пользоателей домена в созданные группы.
2. Добавляем в группы доменных пользователей:
3. Зададим имена и возможность взаимодействия (видимости) групп на сервере openfire. Для этого на вкладке «Пользователи/Группы» заходим в «Группы» и в группах openfire1 и openfire2 задаем следующие настройки:
Вводим имя списка контактов группы (например Department1 для группы openfire1) и ставим чексбокс напротив «Расшаренная группа пользователей», далее «Сохранить список настроек контактов. Такие настройки производим и для группы openfire2
Таким образом, при добавлении пользователи в группу в Active Directory данный пользователь будет попадать в соответствующую группу на сервере openfire автоматически.
Также что и как настраивать можно посмотреть здесь:
Подробный гайд по установке OpenFire в среде Active Directory
Установка OpenFire + MS AD + SQL server 2005 + Pandion 2.5 (auto NTLM):
Вводные данные:
Версия OS контроллера домена Active Directory: Windows 2008 Server Enterprise Edition SP2 x64 EN
Функциональный уровень леса и домена Active Directory: Windows 2008 Native
Версия OS: Windows 2003 Server R2 Enterprise Edition SP2 x86 EN
Версия OpenFire: 3.6.4
Версия SASL/SSPI патча от Normann: 7.2
Версия СУБД: SQL 2005 Server Standard Edition SP3 x86 EN
FQDN Active Directory домена: contora.local
NetBios-Name Active Directory домена: contora
FQDN сервера OpenFire: jabber.contora.local
Имя XMPP (Jabber) домена: jabber.contora.local
Используемый Jabber-клиент: Pandion 2.5
Версия Clarity Pandion патчей: датированы 19.02.2008
Редактор XML: AkelPad или Notepad ++
Браузер структуры Active Directory: Active Directory Explorer
6) Создаем записи типа SRV на DNS-сервере для автоматического нахождения TCP/IP параметров сервера с доменом Jabber в текущем домене Active Directory:
SRV recond 1:
service: _xmpp
protocol: _tcp
priority: 0
weigth: 100
port: 5269
hostname: jabber.contora.local.
service: _xmpp-server
protocol: _tcp
priority: 0
weigth: 100
port: 5269
hostname: jabber.contora.local.
service: _xmpp-client
protocol: _tcp
priority: 0
weigth: 100
port: 5222
hostname: jabber.contora.local.
8) При конфигурировании доступа к LDAP устанавливаем следующие параметры:
Base DN: DC=contora,DC=local
Administrator DN: Administrator@contora, также вводим его пароль.
Нажимаем Test Settings должно появится Status – Success.
9) Настройка User Mapping (как и каких пользователей AD нужно найти):
а) Нажимаем Advanced Settings.
b) LDAP-фильтр пользователей User Filter: ((objectCategory=Person)(memberOf=CN=IMUsers,OU=Services Groups,OU=Head Office,DC=contora,DC=local)) — (искать только членов группы безопасности IMUsers).
c) В разделе User Profiles (vCard) отмечаем Store avatar in database if not provided by LDAP (хранить аватары пользователей в базе данных если не поддерживается в LDAP).
d) Нажимаем Test Settings должно появится окно с случайным пользователем этой группы безопасности Active Directory.
10) Настройка Group Mapping (члены какой группы безопасности будут клиентами Jabber):
a) Нажимаем Advanced Settings.
b ) Group Filter: (&(objectClass=group)(cn=IMUsers)) — (искать только группу безопасности IMusers).
c) Нажимаем Test Settings должно появится окно с названием найденной группы безопасности, с описанием и кол-вом членов.
11) Установка патча для автоматической NTLM авторизации клиентов OpenFire:
a) Распаковываем патч для NTLM.
b) Открываем из директории, куда мы уставили OpenFire файл \jre\lib\security\java.security для редактирования и после строк:
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI
вставляем строку
security.provider.10=net.za.darkskies.security.sasl.SSPIProvider
Сохраняем, закрываем.
c) Копируем файлы патча в каталог с установленной программой:
bin\SaslSspi.dll
lib\sasl-sspi.jar
plugins\saslmechanisms.jar
d) Перезапускаем OpenFire.
12) Включаем серверную поддержку прозрачной NTLM-аутентификации:
a) Заходим в консоль администрирования Server Manger > System Property и находим параметр sasl.realm. Значением параметра устанавливаем NETBIOS-NAME домена, то есть в нашем случае CONTORA(заглавными буквами). Если параметра нет – создаем новый.
b) Там же находим параметр sasl.approve.realms и СТИРАЕМ его значение, т.е. поле должно остаться пустым. Если параметра нет – создаем новый с пустым значением.
e) Параметр xmpp.domain вводим jabber.contora.local.
f) Параметр sasl.mechs — ANONYMOUS,PLAIN,NTLM. Если параметра нет – создаем новый.
13) Перезапускаем сервер — все должно работать.
14) Включаем пользователей в доменную группу IM Users.
15) Устанавливаем клиент Pandion 2.5 на КС.
Настройки Pandion по умолчанию для автоматического входа по NTLM:
Все настройки находятся в C:\Program Files\Pandion\settings\ в файлах с расширением *.XML.
После установки Pandion скопировать настройки в соответствующие файлы:
Установка и настройка Openfire на CentOS
Openfire — сервер на базе XMPP, позволяющий обмениваться мгновенными сообщениями. В данной инструкции разберем его установку на Linux. Инструкция протестирована на CentOS 7.
Подготовка сервера
1. Системные требования
Требования к программному продукту, в основном, программные:
Компонент | Требования |
---|---|
Операционная система | Приложение является кроссплатформенным и его можно установить на различные операционные системы — Windows, Linux (CentOS, Ubuntu, Debian, Red Hat и так далее), FreeBSD, MacOS. |
Программная платформа | Openfire разработан на базе JAVA, поэтому необходимо наличие соответствующей платформы. |
СУБД | Поддерживаются MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle Database, IBM DB2, Adaptive Server Enterprise, HSQLDB (встраиваемая). |
Аппаратная часть | Не критична — openfire не требует много ресурсов для своей работы. |
2. Вспомогательные пакеты
Установим пакет, который необходимы для загрузки файлов:
3. Безопасность
Настраиваем брандмауэр — разрешаем порты 5222, 9090 и 9091, на которых по умолчанию работает Openfire:
* где порт 5222 — подключение клиента к серверу; 9090 для соединения по HTTP, 9091 — HTTPS.
Отключаем SELinux командами:
Установка JAVA
Openfire написан на языке JAVA и для своей работы требует установки соответствующей платформы.
Переходим на страницу загрузки Java JDK — принимаем лицензионное соглашение:
После появятся ссылки на платформу — кликаем по ссылке для скачивания RPM пакета:
Нас перебросит на страницу аутентификации — необходимо ввести свои логин и пароль или зарегистрироваться. После авторизации начнется процесс загрузки пакета. Когда он завершится, перекидываем файл на сервер CentOS, например, при помощи WinSCP.
После устанавливаем скачанный пакет командой:
После окончания установки можно ввести команду:
Она должна вернуть, примерно, следующее:
openjdk version «1.8.0_212»
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
Открываем файл для создания общесистемных переменных:
. и добавляем в самый низ:
После выполняем команду:
Проверяем, что переменная создалась:
Загрузка и установка пакета для Openfire
Для установки XMPP-сервера необходимо загрузить RPM — для этого переходим на официальную страницу загрузки Openfire. В открывшемся окне выбираем загрузку приложения для Linux и переходим по ссылке для загрузки rmp:
* в данном примере мы копируем ссылку на RPM версии х64
На открывшейся странице копируем прямую ссылку на загрузку openfire:
Воспользовавшись ссылкой, загружаем установочный пакет:
* в данном примере мы сохраним скачанный файл под именем openfire.x86_64.rpm. На момент написания инструкции последняя версия была 4.4.4.
Устанавливаем скачанный пакет:
yum install openfire.x86_64.rpm
Разрешаем автозапуск сервиса и стартуем его:
systemctl enable openfire
systemctl start openfire
Настройка базы данных
В качестве СУБД установим и настроим MariaDB.
Установка и запуск
Для установки вводим команду:
yum install mariadb-server mysql-connector-java libldb
* данной командой мы установим сервер mariadb и библиотеки для связки с java.
systemctl enable mariadb
systemctl start mariadb
Зададим пароль для mysql root-пользователя:
* система дважды запросит пароль, который мы должны задать.
Создание и настройка базы для Openfire
Подключаемся к установленной базе:
* в качестве пароля вводим тот, что задали при установке.
Создаем базу данных:
> CREATE DATABASE openfire;
* мы создадим базу с именем openfire.
Создаем пользователя и дадим ему права на созданную базу:
> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY ‘openfirepass’;
* в данном примере будет создан пользователь openfire, которому можно подключаться с локального компьютера (localhost); доступ пользователю будет предоставлен на базу openfire; пароль пользователя — openfirepass.
Подключимся к созданной базе:
. и загрузим в нее данные из файла openfire_mysql.sql (поставляется с Openfire):
Чтобы убедиться в загрузке данных, выполняем команду:
* мы должны увидеть список таблиц.
Отключаемся от СУБД:
Установка Openfire
Выполняем установку и конфигурирование Openfire через веб-интерфейс. Запускаем браузер и переходим по ссылке http:// :9090 — откроется страница установки.
Выбираем русский язык и нажимаем Continue:
В настройках задаем серверу имя домена и полное имя сервера:
. и кликаем по Продолжить.
Оставляем Стандартное подключение к базе данных — Продолжить:
Задаем настройки подключения к базе:
* в данном примере мы:
После кликаем по Продолжить. На следующей странице задаем настройки профиля — просто оставляем положение по умолчанию и нажимаем Продолжить:
* если нам необходима интеграция с Active Directory, переключаемся на Сервер каталогов (LDAP) и выполняем настройку по инструкции ниже.
На последнем шаге создаем учетную запись администратора. Для этого вводим адрес почты и пароль:
. и нажимаем Продолжить.
Установка завершена — переходим в консоль, кликнув по Вход в консоль администратора:
Чтобы зайти в openfire используем логин admin и пароль, который задали после установки Openfire.
Установка и подключение клиента
Для примера, установим jabber-клиент Spark, который разработан тем же разработчиком, что и сам Openfire. Переходим на страницу загрузки Spark и скачиваем клиента, например, для Windows:
Дожидаемся загрузки файла и устанавливаем приложение, отвечая на вопросы мастера установки (можно оставить все по умолчанию).
Вводим данные для входа на сервер и нажимаем Войти:
. клиент должен подключиться к серверу.
Интеграция с Active Directory
Интеграция с Active Directory должна настраиваться в момент веб-установки сервера. Если у нас уже установлен Openfire, и мы хотим переключиться на использование LDAP, открываем конфигурационный файл:
systemctl restart openfire
Ждем секунд 10 (приложение перезапускается долго).
Открываем в браузере адрес http:// :9090 — откроется мастер установки. Проходим снова по всем шагам до настройки профилей и выбираем Сервер каталогов (LDAP):
1) Откроется страница настройки профилей LDAP. Заполняем поля:
Кликаем по Тестовые настройки — мы должны увидеть отчет об успешном прохождении тестирования:
3) На последнем шаге настройки интеграции с Active Directory оставляем предложенные настройки:
. и нажимаем Тестовые настройки — мы должны увидеть информацию о группах, которую сможет получить Openfire. Кликаем Сохранить и продолжить.
Конфигурирование LDAP завершено. Теперь добавим администраторов системы, которые смогут управлять сервером из панели управления:
Обратите внимание, что доступ к панели управления под встроенным администратором Openfire будет невозможен после смены профилей на использование LDAP. Обязательно добавляем хотя бы одного пользователя, у которого будут привилегии настройки.
Настройка завершена. Пробуем авторизоваться в панели управления под учетной записью администратора, которую мы добавили. После подключаемся клиентом под своей учетной записью в AD.
Аутентификация на основе групп
* например, как на изображении выше, можно добавить фильтр (memberOf=cn=Domain Admins,cn=Users,dc=dmosk,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.
Установка плагинов
Переходим на страницу загрузки плагинов и копируем ссылку на его скачивание:
Теперь с помощью данной ссылки загружаем плагин на сервере с Openfire:
Переносим загруженный плагин в каталог с программой:
mv sip.jar /opt/openfire/plugins/
Аналоги и клиенты
Среди распространенных аналогов можно назвать:
Другие клиентские приложения, которыми можно подключиться к Openfire: