Openfire — сервер на базе XMPP, позволяющий обмениваться мгновенными сообщениями. В данной инструкции разберем его установку на Linux. Инструкция протестирована на CentOS 7.
Требования к программному продукту, в основном, программные:
Установим пакет, который необходимы для загрузки файлов:
yum install wget
Настраиваем брандмауэр — разрешаем порты 5222, 9090 и 9091, на которых по умолчанию работает Openfire:
firewall-cmd –permanent –add-port=5222/tcp –add-port={9090,9091}/{udp,tcp}
firewall-cmd –reload
* где порт 5222 — подключение клиента к серверу; 9090 для соединения по HTTP, 9091 — HTTPS.
Отключаем SELinux командами:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
Openfire написан на языке JAVA и для своей работы требует установки соответствующей платформы.
Переходим на страницу загрузки Java JDK — принимаем лицензионное соглашение:
После появятся ссылки на платформу — кликаем по ссылке для скачивания RPM пакета:
Нас перебросит на страницу аутентификации — необходимо ввести свои логин и пароль или зарегистрироваться. После авторизации начнется процесс загрузки пакета. Когда он завершится, перекидываем файл на сервер CentOS, например, при помощи WinSCP.
Если у нас нет аккаунта на портале Oracle и нет возможности его зарегистрировать, то можно скачать не самую последнюю версию jdk следующей командой:curl -LO -H “Cookie: oraclelicense=accept-securebackup-cookie” “https://download.oracle.com/otn-pub/java/jdk/13.0.1+9/cec27d702aa74d5a8630c65ae61e4305/jdk-13.0.1_linux-x64_bin.rpm”
После устанавливаем скачанный пакет командой:
rpm -ivh jdk-*
После окончания установки можно ввести команду:
java -version
Она должна вернуть, примерно, следующее:
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)
Открываем файл для создания общесистемных переменных:
vi /etc/profile
… и добавляем в самый низ:
export JAVA_HOME=/usr/java/default
После выполняем команду:
Проверяем, что переменная создалась:
echo $JAVA_HOME
Мы должны увидеть:
/usr/java/default
Для установки XMPP-сервера необходимо загрузить RPM — для этого переходим на официальную страницу загрузки Openfire. В открывшемся окне выбираем загрузку приложения для Linux и переходим по ссылке для загрузки rmp:
* в данном примере мы копируем ссылку на RPM версии х64
На открывшейся странице копируем прямую ссылку на загрузку openfire:
Воспользовавшись ссылкой, загружаем установочный пакет:
wget -O openfire.x86_64.rpm https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.4.4-1.x86_64.rpm
* в данном примере мы сохраним скачанный файл под именем 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-пользователя:
mysqladmin -u root password
* система дважды запросит пароль, который мы должны задать.
Подключаемся к установленной базе:
mysql -uroot -p
* в качестве пароля вводим тот, что задали при установке.
Создаем базу данных:
> CREATE DATABASE openfire;
* мы создадим базу с именем openfire.
Создаем пользователя и дадим ему права на созданную базу:
> GRANT ALL PRIVILEGES ON openfire.* TO [email protected] IDENTIFIED BY ‘openfirepass’;
* в данном примере будет создан пользователь openfire, которому можно подключаться с локального компьютера (localhost); доступ пользователю будет предоставлен на базу openfire; пароль пользователя — openfirepass.
Подключимся к созданной базе:
> use openfire;
… и загрузим в нее данные из файла openfire_mysql.sql (поставляется с Openfire):
> source /opt/openfire/resources/database/openfire_mysql.sql;
Чтобы убедиться в загрузке данных, выполняем команду:
> show tables;
* мы должны увидеть список таблиц.
Отключаемся от СУБД:
Выполняем установку и конфигурирование Openfire через веб-интерфейс. Запускаем браузер и переходим по ссылке http://<IP-адрес сервера>:9090 — откроется страница установки.
Выбираем русский язык и нажимаем Continue:
В настройках задаем серверу имя домена и полное имя сервера:
… и кликаем по Продолжить.
Оставляем Стандартное подключение к базе данных — Продолжить:
Задаем настройки подключения к базе:
* в данном примере мы:
После кликаем по Продолжить. На следующей странице задаем настройки профиля — просто оставляем положение по умолчанию и нажимаем Продолжить:
* если нам необходима интеграция с Active Directory, переключаемся на Сервер каталогов (LDAP) и выполняем настройку по инструкции ниже.
На последнем шаге создаем учетную запись администратора. Для этого вводим адрес почты и пароль:
… и нажимаем Продолжить.
Установка завершена — переходим в консоль, кликнув по Вход в консоль администратора:
Чтобы зайти в openfire используем логин admin и пароль, который задали после установки Openfire.
Для примера, установим jabber-клиент Spark, который разработан тем же разработчиком, что и сам Openfire. Переходим на страницу загрузки Spark и скачиваем клиента, например, для Windows:
Дожидаемся загрузки файла и устанавливаем приложение, отвечая на вопросы мастера установки (можно оставить все по умолчанию).
После запускаем программу – кликаем по Дополнительно (1) – снимаем галочку Автоматически найти сервер и порт (2) и прописываем адрес сервера (3) – устанавливаем галочки для Accept all certificates… и Disable certificate hostname verification … (4) – OK (5):
Вводим данные для входа на сервер и нажимаем Войти:
… клиент должен подключиться к серверу.
Интеграция с Active Directory должна настраиваться в момент веб-установки сервера. Если у нас уже установлен Openfire, и мы хотим переключиться на использование LDAP, открываем конфигурационный файл:
vi /opt/openfire/conf/openfire.xml
Находим:
<setup>true</setup>
… и правим на:
<setup>false</setup>
Перезапускаем сервис:
systemctl restart openfire
Ждем секунд 10 (приложение перезапускается долго).
Открываем в браузере адрес http://<IP-адрес сервера>:9090 — откроется мастер установки. Проходим снова по всем шагам до настройки профилей и выбираем Сервер каталогов (LDAP):
1) Откроется страница настройки профилей LDAP. Заполняем поля:
* где
Кликаем по Тестовые настройки — мы должны увидеть отчет об успешном прохождении тестирования:
2) Нажимаем Сохранить и продолжить — откроется страница с настройками полей и атрибутов. Данные атрибуты должны соответствовать атрибутам Active Directory. В моем случае пришлось заменить jpegPhoto на thumbnailPhoto и homePostalAddress на physicalDeliveryOfficeName. Правильные атрибуты можно посмотреть в оснастке Active Directory – пользователи и компьютеры (на вкладке Редактор атрибутов любого пользователя).
Нажимаем Тестовые настройки – откроется окно, в котором можно загрузить информацию от случайных профилей в AD и убедиться, что нужные нам данные загружаются корректно. После нажимаем Сохранить и продолжить.
3) На последнем шаге настройки интеграции с Active Directory оставляем предложенные настройки:
… и нажимаем Тестовые настройки — мы должны увидеть информацию о группах, которую сможет получить Openfire. Кликаем Сохранить и продолжить.
Конфигурирование LDAP завершено. Теперь добавим администраторов системы, которые смогут управлять сервером из панели управления:
Обратите внимание, что доступ к панели управления под встроенным администратором Openfire будет невозможен после смены профилей на использование LDAP. Обязательно добавляем хотя бы одного пользователя, у которого будут привилегии настройки.
Настройка завершена. Пробуем авторизоваться в панели управления под учетной записью администратора, которую мы добавили. После подключаемся клиентом под своей учетной записью в AD.
Если необходимо ограничить пользователей, которые могут подключаться к серверу, можно использовать группы Active Directory. Для этого открываем панель управления Openfire и переходим в раздел Сервер – Настройки сервера и кликаем по кнопке Изменить:
В открывшемся окне переходим к разделу 2. Отображение пользователей – кликаем по Расширенные настройки и добавляем Пользовательский фильтр:
* например, как на изображении выше, можно добавить фильтр (memberOf=cn=Domain Admins,cn=Users,dc=admins24,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.
Для установки плагинов в Openfire необходимо сам файл плагина (с расширением .jar) поместить в каталог с установленной программой. Подробнее разберем на примере установки «SIP Phone Plugin».
Переходим на страницу загрузки плагинов и копируем ссылку на его скачивание:
Теперь с помощью данной ссылки загружаем плагин на сервере с Openfire:
wget https://www.igniterealtime.org/projects/openfire/plugins/1.2.0/sip.jar
Переносим загруженный плагин в каталог с программой:
mv sip.jar /opt/openfire/plugins/
Открываем панель управления Openfire – переходим в Плагины – мы должны увидеть установленный плагин:
Среди распространенных аналогов можно назвать:
Другие клиентские приложения, которыми можно подключиться к Openfire:
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies