Как изменить доменное имя xmpp openfire

Инструкция по установке и использованию XMPP-сервера Openfire. Подготовка к установке и использованию, установка, настройка, работа с плагинами, интеграция с активным каталогом Active Directory.

Обновлено и опубликовано Опубликовано: 01.04.2020

Openfire — сервер на базе XMPP для организации чата, и позволяющий обмениваться мгновенными сообщениями. В данной инструкции разберем его установку на Linux. Инструкция протестирована на Ubuntu 18.04.

Подготовительные работы
Установка JAVA-платформы
Установка пакета Openfire
Установка и настройка СУБД
Веб-установка Jabber-сервера
Подключение клиента
Описание установки плагинов
Аутентификация через Active Directory
Меняем домен

Подготовка сервера

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. Безопасность

Если мы используем фаервол на Ubuntu, то необходимо открыть порты для Openfire (9090, 9091) и клиента xmpp (5222):

iptables -A INPUT -p udp —match multiport —dports 9090,9091 -j ACCEPT

iptables -A INPUT -p tcp —match multiport —dports 5222,9090,9091 -j ACCEPT 

* где порт 5222 — подключение клиента к серверу; 9090 для соединения по HTTP, 9091 — HTTPS.

Сохраняем правила:

apt-get install iptables-persistent

netfilter-persistent save

Установка JAVA

Openfire написан на языке JAVA и для своей работы требует установки соответствующей платформы.

В Ubuntu данную установку можно выполнить из репозитория — для этого вводим команду:

apt-get install openjdk-8-jdk

После окончания установки можно ввести команду:

java -version

Она должна вернуть, примерно, следующее:

openjdk version «1.8.0_242»
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

Для корректной работы JAVA мы должны настроить переменные окружения — для этого смотрим путь до бинарника java:

update-alternatives —config java

Мы должны увидеть что-то на подобие:

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.

В данном примере показан путь до исполняемого файла java (/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java). Открываем файл:

vi /etc/environment

… и добавляем новой строкой:


JAVA_HOME=»/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java»

После выполняем команду:

source /etc/environment

Проверяем, что переменная создалась:

echo $JAVA_HOME

Мы должны увидеть:

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

Загрузка и установка пакета для Openfire

Для установки XMPP-сервера необходимо загрузить пакет DEB — для этого переходим на официальную страницу загрузки Openfire. В открывшемся окне выбираем загрузку приложения для Linux и переходим по ссылке для загрузки deb:

Переходим к загрузке последней версии Openfire

На открывшейся странице копируем прямую ссылку на загрузку openfire:

Копируем ссылку на последнюю версию Openfire

Воспользовавшись ссылкой, загружаем установочный пакет:

wget -O openfire.x86_64.deb https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.5.1_all.deb

* в данном примере мы сохраним скачанный файл под именем openfire.x86_64.deb. На момент написания инструкции последняя версия была 4.5.1.

Устанавливаем скачанный пакет:

dpkg -i openfire.x86_64.deb

Разрешаем автозапуск сервиса:

systemctl enable openfire

Настройка базы данных

В качестве СУБД установим и настроим MariaDB.

Установка MariaDB и коннектора для JAVA

Для установки сервера баз данных вводим:

apt-get install mariadb-server

После переходим на страницу https://dev.mysql.com/downloads/connector/j/ — выбираем операционную систему и ее версию (в нашем примере, Ubuntu 18.04) — кликаем по Download:

Переходим к скачиванию mysql-коннектора для java

На следующей странице копируем ссылку на скачивание коннектора:

Копируем ссылку на последнюю версию mysql-коннектора для java

С помощью скопированной ссылки загружаем на сервер пакет:

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java_8.0.19-1ubuntu18.04_all.deb

* в данном примере мы загружаем коннектор версии 8.0.19.

… и устанавливаем его:

dpkg -i mysql-connector-java_8.0.19-1ubuntu18.04_all.deb

Разрешаем автозапуск сервиса:

systemctl enable mariadb

Зададим пароль для mysql root-пользователя:

mysqladmin -u root password

* система дважды запросит пароль, который мы должны задать.

Создание и настройка базы для Openfire

Подключаемся к установленной базе:

mysql -uroot -p

* в качестве пароля вводим тот, что задали при установке.

Создаем базу данных:

> CREATE DATABASE openfire;

* мы создадим базу с именем openfire.

Создаем пользователя и дадим ему права на созданную базу:

> GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY ‘openfirepass’;

* в данном примере будет создан пользователь openfire, которому можно подключаться с локального компьютера (localhost); доступ пользователю будет предоставлен на базу openfire; пароль пользователя — openfirepass.

Подключимся к созданной базе:

> use openfire;

… и загрузим в нее данные из файла openfire_mysql.sql (поставляется с Openfire):

> source /usr/share/openfire/resources/database/openfire_mysql.sql;

Чтобы убедиться в загрузке данных, выполняем команду:

> show tables;

* мы должны увидеть список таблиц.

Отключаемся от СУБД:

> q

Установка Openfire

Выполняем установку и конфигурирование Openfire через веб-интерфейс. Запускаем браузер и переходим по ссылке http://<IP-адрес сервера>:9090 — откроется страница установки.

Выбираем русский язык и нажимаем Continue:

Выбираем русский язык

В настройках задаем серверу имя домена и полное имя сервера:

Имя сервера и домен

… и кликаем по Продолжить.

Устанавливаем Стандартное подключение к базе данныхПродолжить:

Стандартное подключение к базе данных

Задаем настройки подключения к базе:

Настройка подключения к базе данных

* в данном примере мы:

  1. Выбрали подключение к базе MySQL
  2. В строке jdbc:mysql://HOSTNAME:3306/DATABASENAME?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8 заменили
    • HOSTNAME — сервер MySQL. Задаем локальный адрес 127.0.0.1
    • DATABASENAME — имя базы данных. Прописываем openfire.
    • + добавили &useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC — в противном случае сервер будет выдавать ошибку при попытке подключиться к базе.
    • Итого: jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
  3. В настройках имени пользователя и пароль прописываем логин и пароль пользователя, который создавали для подключения к базе openfire (openfire/openfirepass).

После кликаем по Продолжить. На следующей странице задаем настройки профиля — просто оставляем положение по умолчанию и нажимаем Продолжить:

Профили пользователя

* если нам необходима интеграция с Active Directory, переключаемся на Сервер каталогов (LDAP) и выполняем настройку по инструкции ниже.

На последнем шаге создаем учетную запись администратора. Для этого вводим адрес почты и пароль:

Создание административной учетной записи

… и нажимаем Продолжить.

Установка завершена — переходим в консоль, кликнув по Вход в консоль администратора:

Вход в консоль администратора

Чтобы зайти в openfire используем логин admin и пароль, который задали после установки Openfire.

Установка и подключение клиента

Для примера, установим jabber-клиент Spark, который разработан тем же разработчиком, что и сам Openfire. Переходим на страницу загрузки Spark и скачиваем клиента, например, для Windows:

Загрузка клиента Spark

Дожидаемся загрузки файла и устанавливаем приложение, отвечая на вопросы мастера установки (можно оставить все по умолчанию).

После запускаем программу — кликаем по Дополнительно (1) — снимаем галочку Автоматически найти сервер и порт (2) и прописываем адрес сервера (3) — устанавливаем галочки для Accept all certificates… и Disable certificate hostname verification … (4) — OK (5):

Настройка клиента Spark

Вводим данные для входа на сервер и нажимаем Войти:

Вход клиентом на сервер Openfire

… клиент должен подключиться к серверу.

Установка плагинов

Установка плагина может быть выполнена из панели управления Openfire. Для этого переходим в ПлагиныДоступные плагины — выбираем плагин для установки, например Bookmarks (плагин для хранения URL и закладок группового чата):

Выбираем плагин для установки

Справа от плагина кликаем по кнопке установки плагина:

Кнопка установки плагина

Система автоматически загрузит и установит плагин.

Интеграция с Active Directory

Интеграция с 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. Заполняем поля:

Настройка LDAP в Openfire

* где

  • Из списка Тип сервера выбираем Active Directory.
  • Protocol выбираем либо ldap, либо ldaps (если наш Active Directory поддерживает запросы с шифрованием).
  • В качестве хоста прописываем имя контроллера домена или целиком весь домен.
  • База DN — корневая директория LDAP, откуда будет выполняться поиск объектов.
  • Администратор DN — учетная запись в LDAP с минимальными правами (на чтение объектов AD). Правильнее всего создать отдельную запись и использовать ее.

Кликаем по Тестовые настройки — мы должны увидеть отчет об успешном прохождении тестирования:

Проверка подключения к Active Directory

2) Нажимаем Сохранить и продолжить — откроется страница с настройками полей и атрибутов. Данные атрибуты должны соответствовать атрибутам Active Directory. В моем случае пришлось заменить jpegPhoto на thumbnailPhoto и homePostalAddress на physicalDeliveryOfficeName. Правильные атрибуты можно посмотреть в оснастке Active Directory — пользователи и компьютеры (на вкладке Редактор атрибутов любого пользователя).

Нажимаем Тестовые настройки — откроется окно, в котором можно загрузить информацию от случайных профилей в AD и убедиться, что нужные нам данные загружаются корректно. После нажимаем Сохранить и продолжить.

3) На последнем шаге настройки интеграции с Active Directory оставляем предложенные настройки:

Настройка групп LDAP

… и нажимаем Тестовые настройки — мы должны увидеть информацию о группах, которую сможет получить Openfire. Кликаем Сохранить и продолжить.

Конфигурирование LDAP завершено. Теперь добавим администраторов системы, которые смогут управлять сервером из панели управления:

Добавление администраторов для Openfire

Обратите внимание, что доступ к панели управления под встроенным администратором Openfire будет невозможен после смены профилей на использование LDAP. Обязательно добавляем хотя бы одного пользователя, у которого будут привилегии настройки.

Настройка завершена. Пробуем авторизоваться в панели управления под учетной записью администратора, которую мы добавили. После подключаемся клиентом под своей учетной записью в AD.

Аутентификация на основе групп

Если необходимо ограничить пользователей, которые могут подключаться к серверу, можно использовать группы Active Directory. Для этого открываем панель управления Openfire и переходим в раздел СерверНастройки сервера и кликаем по кнопке Изменить:

Переходим к изменению настроек LDAP

В открывшемся окне переходим к разделу 2. Отображение пользователей — кликаем по Расширенные настройки и добавляем Пользовательский фильтр:

Добавляем фильтр для поиска в группах

* например, как на изображении выше, можно добавить фильтр (memberOf=cn=Domain Admins,cn=Users,dc=dmosk,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.

Смена домена

Если появилась необходимость сменить домен в Openfire, выполняем настройку в 2 этапа.

Шаг 1. Настройка в панели управления.

Переходим на вкладку СерверДиспетчер сервераСвойства системы — в поиске параметром находим xmpp.domain:

Поиск параметра xmpp.domain

Справа от параметра кликаем по иконке редактирования:

Иконка для перехода к редактированию параметра

Внизу появится форма для редактирования параметра — меняем домен на новый и сохраняем новое значение:

Редактируем домен

Шаг 2. Настройка системы в командной строке.

Открываем конфигурационный файл:

vi /etc/openfire/openfire.xml

Находим строку с параметром fqdn и меняем в ней домен на новый, например:

<fqdn>servername.openfire.local</fqdn>

Перезапускаем сервис openfire:

systemctl restart openfire

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.

              

       

Несколько советов по использованию Openfire

Автор: chszs, авторские права, без согласия воспроизведение не допускается. Домашняя страница Blogger:http://blog.csdn.net/chszs

1. Установите Openfire как системную службу.

Для таких систем, как RedHat, CentOS, Fedora и т. Д., Вы можете установить Openfire с помощью пакетов RPM, и после установки у вас, естественно, будут службы Openfire. На этом этапе вы можете запустить или остановить Openfire командой:

# /etc/init.d/openfire stop/start/restart/reload
  • 1

Если Openfire устанавливается путем распаковки .tar.gz, то Openfire можно запустить или остановить командой:

# ./bin/openfire start/stop
  • 1

Таким образом, чтобы установить Openfire в качестве системной службы, в подкаталоге bin / extra Openfire есть два сценария:

1) скрипт redhat-postinstall.sh

Он подходит для системы RedHat и может автоматически устанавливать Openfire как системную службу. Он создаст пользователя с именем «jive» и скопирует openfired в каталог init.d, и этот скрипт должен быть выполнен с правами root.

2) openfired скрипт

Скрипт, использующий Openfire в качестве системной службы. Этот сценарий необходимо настроить вручную. Как настроить подробно позже.

2. Пользовательские параметры

Опытные пользователи могут передавать некоторые параметры JVM при запуске Openfire для повышения производительности.
Если Openfire установлен через RPM, вы можете отредактировать / etc / sysconfig / openfire и найти параметр OPNFIRE_OPTS для настройки.
Если он устанавливается через распаковку TAR, вам необходимо настроить сценарий запуска в соответствии с вашими потребностями.

3. Плагин

Плагины позволяют Openfire поддерживать дополнительные функции и протоколы. После установки Openfire на сервер вы можете загрузить и установить плагины для улучшения сервера Openfire. Плагин можно скачать со страницы плагина igniterealtime.org или прямо в консоли управления.
Веб-страница плагина:http://www.igniterealtime.org/projects/openfire/plugins.jsp

1) Установите плагин

Если подключаемый модуль загружен из консоли управления сервера, он будет установлен автоматически.
Если это плагин, загруженный вручную (файл jar), вы можете скопировать файл плагина в подкаталог плагинов Openfire. Монитор подключаемых модулей Openfire автоматически выполнит поиск новых подключаемых модулей и автоматически завершит установку. Консоль управления Openfire имеет функцию «загрузки плагинов», которая может выгружать плагины из локальной файловой системы и автоматически завершать загрузку.

2) Управление плагинами

Им можно управлять в консоли управления Openfire. Вы можете вручную удалить JAR-файл плагина в подкаталоге плагинов.Openfire автоматически удалит плагин из памяти и удалит его каталог.

4. Добавить китайскую поддержку

Отредактируйте файл конфигурации openfire.xml в подкаталоге conf и добавьте следующее содержимое:

? useUnicode = true & characterEncoding = UTF-8 & characterSetResults = UTF-8 то есть: <driver> com.mysql.jdbc.Driver </driver> <serverURL> jdbc: mysql: //111.111.111.11: 3306 / openfiredb? rewriteBatched useStatements = true? = истина & characterEncoding = UTF-8 & characterSetResults = UTF-8 </ ServerURL> <имя пользователя зашифрованного = "истинный"> 08d7675ce83b8f765d0eaasdfasasdf9d8943ad4f8edf </ имя пользователя> бб бб <зашифрованный пароль = "истинный"> d1e1f004f6cd7675ce83b8f765d0eaasdfasasdf9d8943ad4f8edf </ имя пользователя> SQL бб 621621etestpassword <правда> d1e1f004f6cdtest02ab0ae6c252e04ab0ae6 </ ServerURL>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5. Измените значение домена Openfire.

В отличие от Tigase, после установки Openfire его конфигурационные свойства не записываются в файл XML, а в основном хранятся в таблице базы данных.
Таблица данных, в которой находится свойство конфигурации, является таблицей ofProperty.

mysql> select * from ofProperty;+--------------------------------------------+----------------------------------------------------------------------------------+| name                                       | propValue                                                                        |+--------------------------------------------+----------------------------------------------------------------------------------+| adminConsole.port                          | 9090                                                                             || adminConsole.securePort                    | 9091                                                                             || connectionProvider.className               | org.jivesoftware.database.DefaultConnectionProvider                              || database.defaultProvider.connectionTimeout | 1.0                                                                              || database.defaultProvider.driver            | com.mysql.jdbc.Driver                                                            || database.defaultProvider.maxConnections    | 300                                                                              || database.defaultProvider.minConnections    | 10                                                                               || database.defaultProvider.password          | b10f78asdfasdda441f52345234425215eba110 || database.defaultProvider.serverURL         | jdbc:mysql://111.111.111.11:3306/openfiredb?rewriteBatchedStatements=true           || database.defaultProvider.testAfterUse      | false                                                                            || database.defaultProvider.testBeforeUse     | false                                                                            || database.defaultProvider.testSQL           | select 1                                                                         || database.defaultProvider.username          | df94csdfas5d71aefb9183asdfs80fbbb7                                 || locale                                     | zh_CN                                                                            || locale.timeZone                            | Asia/Taipei                                                                      || passwordKey                                | 0N5fddsanisYAnD                                                                  || provider.admin.className                   | org.jivesoftware.openfire.admin.DefaultAdminProvider                             || provider.auth.className                    | org.jivesoftware.openfire.auth.DefaultAuthProvider                               || provider.group.className                   | org.jivesoftware.openfire.group.DefaultGroupProvider                             || provider.lockout.className                 | org.jivesoftware.openfire.lockout.DefaultLockOutProvider                         || provider.securityAudit.className           | org.jivesoftware.openfire.security.DefaultSecurityAuditProvider                  || provider.user.className                    | org.jivesoftware.openfire.user.DefaultUserProvider                               || provider.vcard.className                   | org.jivesoftware.openfire.vcard.DefaultVCardProvider                             || setup                                      | true                                                                             || update.lastCheck                           | 1441615953135                                                                    || xmpp.auth.anonymous                        | true                                                                             || xmpp.domain                                | ubuntu                                                                           || xmpp.session.conflict-limit                | 0                                                                                || xmpp.socket.ssl.active                     | true                                                                             |+--------------------------------------------+----------------------------------------------------------------------------------+29 rows in set (0.00 sec)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

Видно, что конфигурация домена domain отображается в строке xmpp.domain.
Просто измените его значение.

mysql> update ofProperty set propValue='tt.com' where name='xmpp.domain';
  • 1

Но учтите, что для того, чтобы измененный домен вступил в силу, вам необходимо перезапустить сервер Openfire.

# cd /opt/openfire/# ./bin/openfire restartShutting down openfireStopped.Restarting openfire
  • 1
  • 2
  • 3
  • 4
  • 5

Вы можете использовать клиент XMPP для проверки сейчас, хорошо!
Но на самом деле этот шаг еще не завершен. После того, как Openfire изменяет значение домена, соответствующий сертификат становится недействительным, и его необходимо повторно создать (даже самозаверяющий сертификат). Шаги по созданию самозаверяющего сертификата могут быть такими простыми:

1) Остановите службу Openfire
2) Измените файл конфигурации openfire.xml в подкаталоге conf и установите true
Изменить на ложь
3) Запустите Openfire
4) Доступ через браузерhttp://server:9090, При изменении конфигурации Openfire автоматически создается самозаверяющий сертификат, соответствующий новому значению домена.
5) Завершите настройку, войдите в консоль управления и удалите все сертификаты, принадлежащие старому доменному имени, в Admin Console> Server> Server Settings> Server Certificates. Если сертификата нет, вам необходимо вручную сгенерировать новый сертификат.

6. Измените IM-порт Openfire.

Порт по умолчанию — 5222. Чтобы изменить порт по умолчанию, измените приведенную выше таблицу данных и найдите строку xmpp.socket.plain.port. Если строки нет, вставьте эту строку и измените значение на 15222.

           

Давайте поделимся учебником моего учителя по искусственному интеллекту. С нуля! Легко понять! Смешно и с юмором! Также принесите желтые анекдоты! Надеюсь, вы тоже присоединитесь к нашей команде искусственного интеллекта!https://blog.csdn.net/jiangjunshow

Настройка сервера jabber/xmpp с базой данных единого входа SSO на FreeIPA.

Требования

  • Нужен рабочий домен ipa.

В примере домен IPA — IPA.EXAMPLE.COM. Сервер, содержащий каталог kercos kdc, ldap и DNS-сервер, — ipa.example.com.

  • сервер, подключенный к домену IPA, где мы установим программное обеспечение jabber/xmpp.

В данном случае сервер openfire.example.com.

Установка

Установите его от пользователя root:
eсли вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:

[root@openfire ~] yum install openfire

eсли вы используете РЕД ОС версии 7.3 и старше, выполните команду:

[root@openfire ~] dnf install openfire

Конфигурирование

Переведите selinux в режим disabled.

На время настройки сервиса переведите selinux в режим disabled. Для этого измените содержимое конфигурационного файла:

nano /etc/selinux/config

Заменив текст SELINUX=enforcing на SELINUX=disabled

Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.

Openfire имеет приятный веб-интерфейс для настройки чат-сервера. Чтобы получить доступ к нему, нам нужно сначала запустить демон openfire:

Запуск демона

[root@openfire ~] systemctl start openfire
[root@openfire ~] # systemctl enable openfire

Настройка из вебинтерфейса

Веб-интерфейс доступен по адресу openfire.example.com:9090

Экран приветствия

Выберите русский язык и нажмите кнопку «Continue»;

В поле «Доменное имя XMPP» введите fqdn чат-сервера: openfire.example.com. Другие настройки можно оставить без изменений, затем нажмите «Продолжить»;

Подключите стороннюю базу данных или используйте встроенную базу данных. Нажмите «Продолжить»;

Подключение к базе данных

Выберите «Сервер каталогов (LDAP)» и нажмите «Продолжить»;

Настройки профиля

Далее заполните fqdn ldap-сервера, в нашем случае:.ipa.example.com. Оставьте стандартный порт ldap (389) и в качестве базы ldap выберите cn= accounts,dc =example,dc = com. Введите администратора DN, в данном случае uid=admin,cn=users,cn=accounts,dc=example,dc=com как на скриншоте.

Оставьте поля аутентификации пустыми (если вы не изменили стандартную установку ipa, ipa разрешает анонимные привязки ldap, если вы отключили это, тогда вам нужно будет ввести имя пользователя / пароль для привязки к серверу ldap) и нажать «Тест», вы должны увидеть сообщение об успешном завершении.

Следующий экран (Настройки профиля: User Mapping) можете ничего не изменять. Просто убедитесь, что в поле «имя пользователя» стоит значение «uid» и нажмите «Продолжить». Вы также можете нажать «Настройки теста», и вы должны увидеть некоторую информацию о своих пользователях ipa, поскольку openfire сопоставляет их с собственной базой данных.

Следующий экран — Настройки профиля: Групповое сопоставление. Откройте «дополнительные настройки» и заполните там  «(cn = ipausers)». Этот фильтр получит все члены группы ldap «ipausers» (которая является стандартной группой для каждого пользователя). Его можно использовать, чтобы автоматически добавлять эту группу в адресную книгу каждому клиенту.

Можно использовать фильтр ldap для получения нескольких групп. Если у нас есть 2 группы, ipausers и yurist, мы можем использовать этот фильтр для создания двух групп openfire:

(|(cn=ipausers)(cn=yurist))

Вы можете отредактировать ldap-фильтр после настройки на веб-интерфейсе (вкладка свойств сервера).

Последним шагом в настройке является учетная запись администратора, введите  «admin», и  подтвердите. После этого вы можете войти в консоль администратора openfire. Введите имя пользователя и пароль администратора.

Если теперь вы нажмете «Пользователи/Группы», вы увидите своих пользователей ipa на сервере openfire.

dns autodiscovery

Клиенты xmpp/jabber могут использовать записи dns srv для поиска серверов. Это очень полезно. Мы добавим следующую запись srv в нашу dns зону ipa.example.com:

_xmpp-client._tcp 0 100 5222 openfire

где _xmpp-client._tcp — это запись, 0 — приоритет, 100 — вес, 5222 — это порт tcp, а openfire – сервер. У вас должна существовать А запись сервера openfire.

Проверьте запись:

$ host -t srv _xmpp-client._tcp.example.com
_xmpp-client._tcp.example.com имеет запись SRV 0 100 5222 openfire.example.com.

Теперь мы можем подключиться к pidgin только с доменом example.com вместо openfire.example.com, автообнаружение dns автоматически обнаружит сервер.

Создать основную цель службы xmpp

Нам нужно создать основную службу обслуживания kerberos и подключить ее к чат-серверу openfire.example.com. Используйте веб-интерфейс ipa или консоль (у вас должен быть действительный билет администратора kerberos):

kinit admin
ipa service-add xmpp/openfire.example.com

Проверьте созданную службу:

admin@openfire ~] $ipa service-find openfire.example.com
------------------
2 services matched
------------------
  Principal: postgres/openfire.example.com@EXAMPLE.COM
  Keytab: True
  Managed by: openfire.example.com
  Principal: xmpp/ openfire.example.com@ EXAMPLE.COM
  Keytab: True
  Managed by: openfire.example.com
----------------------------
Number of entries returned 2

Как вы видите, у этого хоста есть два принципиала обслуживания, и xmpp.

Получите keytab для принципиала службы xmpp

Выполните на сервере openfire команду

ipa-getkeytab -s ipa.example.com -p xmpp/openfire.example.com -k openfire.keytab -e des3-hmac-sha1

Здесь мы выгружаем keytab для xmpp/openfire.example.com в файл openfire.keytab с правильным шифрованием.

[admin@openfire ~] $klist -k -t openfire.keytab
Имя ключевого слова: WRFILE: openfire.keytab
Главный администратор KVNO
---- ----------------- ----------------------------- ---------------------------
   3 06/15/12 18:29:53 xmpp/openfire.example.com@EXAMPLE.COM

Поместите openfire.keytab в /usr/share/openfire/conf/, сделайте его читаемым только для пользователя — daemon (openfire работает как пользовательский демон).

[admin@openfire ~] $ cp /root/openfire.keytab /usr/share/openfire/conf/
[admin@openfire ~] $ chown daemon:daemon /usr/share/openfire/conf/openfire.keytab

Проверьте keytab:

# kinit -k -t openfire.keytab xmpp/openfire.example.com
# klist                               
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: xmpp/openfire.example.com@EXAMPLE.COM

Valid starting     Expires            Service principal
06/16/12 23:28:35  06/17/12 23:28:35  krbtgt/EXAMPLE.COM@EXAMPLE.COM

gss.conf

создайте файл gss.conf в /opt/openfire/conf с похожим контентом:

com.sun.security.jgss.accept {
    com.sun.security.auth.module.Krb5LoginModule
    required
    storeKey=true
    keyTab="/usr/share/openfire/conf/openfire.keytab"
    doNotPrompt=true
    useKeyTab=true
    realm="EXAMPLE.COM"
    principal="xmpp/openfire.example.com@EXAMPLE.COM"
    debug=true
    isInitiator=false;
};

openfire.xml

последний шаг — отредактировать /usr/share/openfire/conf/openfire.xml и добавить блок gssapi/sasl. Добавьте его в конец файла перед тегами <setup>true</setup></jive>

  <sasl>
      <mechs>GSSAPI</mechs>
      <realm>EXAMPLE.COM</realm>
      <gssapi>
          <debug>true</debug>
          <config>/usr/share/openfire/conf/gss.conf</config>
          <useSubjectCredsOnly>false</useSubjectCredsOnly>
      </gssapi>
  </sasl>

Перезапустите демон openfire

# systemctl restart openfire

Стоит отметить, что в файле openfire.xml, по-видимому, не хватает информации, которую мы только что добавили после перезагрузки демона. Информация была добавлена ​​в базу данных, но она исчезла из XML-файла. На веб-интерфейсе сервера openfire на вкладке настроек сервера будут установлены настройки.

Логин с SSO

На рабочей станции введенной в домен установите пакет krb5-workstation и pidgin:
для РЕД ОС версии 7.1 или 7.2:

# yum –y install krb5-workstation pidgin

для РЕД ОС версии 7.3 и старше:

# dnf –y install krb5-workstation pidgin

 Запустите pidgin (приложения -> интернет ->Клиент обмена мгновенными сообщениями Pidgin);

Добавьте учетную запись xmpp: в закладке «Имя пользователя» введите имя пользователя с именем пользователя ipa, которое вы хотите протестировать, в поле домена заполните имя домена (EXAMPLE.COM); на вкладке «Дополнительно» должен быть заполнен только «порт подключения» (5222), а «Безопасность подключения» должна «требовать шифрования». Вот и все, нажмите «Сохранить», и вам будет предложено принять сертификат с сервера.

Примите SSL-сертификат

Проверьте получение дополнительного билета kerberos с сервере xmpp:

$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: ipauser1@IPA.ASENJO.NX

Valid starting     Expires            Service principal
06/16/12 23:29:03  06/17/12 23:29:00  krbtgt/EXAMPLE.COM@EXAMPLE.COM
    renew until 06/23/12 23:29:00
06/16/12 23:29:09  06/17/12 23:29:00  xmpp/openfire.example.com@EXAMPLE.COM
    renew until 06/23/12 23:29:00

Для того, что бы у клиентов появился список пользователей, настройте это на openfire сервере.

Перейдите на вкладку Пользователи и группы, Группы. Нажмите на группу ipausers. Включите совместный список контактной группы и введите её название. Выберите «Разрешенная группа пользователей» и «Все пользователи».

Нажмите на кнопку «Сохранить список настроек контактов».

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

28.01.2019, 10:10. Показов 4608. Ответов 0


Здравствуйте, был настроен openfire на windows, после этого имя компьютера было изменено. по новому имени теперь к серверу можно подключиться только с помощью клиента spark. Другие(pidgin, pandion) не хотят подключаться.А мне нужно как -то настроить чтобы можно было и с них подключаться. По ip адресу вообще ни с каких клиентов не хочет подключаться. На сервере в веб интерфейсе видно сейчас что есть ошибка DNS

Код

Нет записей SRV DNS для этого хоста.

Для составления информации на этой странице, был выполнен запрос SRV DNS, используя значение srv03, которое является доменным именем XMPP, настроенным для Openfire. Любые результирующие записи проверяются на соответствие со значением frgs2, которое является полным доменным именем сервера, на котором запущен Openfire, в качестве , настроенного здесь .

Текущая оценка конфигурации DNS
Кажется, записей DNS SRV для этого домена XMPP вообще нет. С текущей конфигурацией Openfire рекомендуется, чтобы записи DNS SRV для этого сервера были созданы.

Без действительной записи DNS SRV у клиентов, вероятно, возникнут проблемы с подключением к вашему серверу. Даже когда клиенты выбирают хост с ручным подключением, вполне вероятно, что они набирают другое значение, а не полное доменное имя, настроенное для вашего сервера, что вызовет проблемы с определенными механизмами аутентификации. Рекомендуется иметь запись DNS SRV для этого домена XMPP, которая полностью соответствует доменному имени сервера, на котором вы используете эту систему Openfire.

Ожидается, что конфигурация DNS имеет по крайней мере две SRV-записи, аналогичные этим (такие значения, как TTL, приоритет и вес, являются примерами и могут отличаться в конфигурации):
_xmpp-client._tcp.srv03. 86400 IN SRV 0 5 5222 nameNEW2.
_xmpp-server._tcp.srv03. 86400 IN SRV 0 5 5269 nameNEW2.
Обратите внимание, что изменения, которые были применены к конфигурации DNS, могут занимать некоторое время для распространения. Для Openfire может потребоваться некоторое время, чтобы увидеть изменения, внесенные в вашу конфигурацию DNS.

если прям там в настройках xmpp.domain web интерфейса изменить имя на новое , то ошибка изменится уже на другую.

Код

найден сертификат rsa который недопустим для данного сервера

Но проверять работу в этом режиме пока не стал, подключаются клиенты или нет.
Так вот вопрос, какая процедура после смены DNS имени компьютера должна на sparkе проводиться чтоб ни ошибок DNS ни ошибок ни ошибок с сертификатом не было?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить домашний регион мтс личном кабинете
  • Как изменить домен турбо страницы
  • Как изменить домашний регион мегафон
  • Как изменить домен сервера майнкрафт
  • Как изменить домашний регион билайн

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии