
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:
Воспользовавшись ссылкой, загружаем установочный пакет:
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:
На следующей странице копируем ссылку на скачивание коннектора:
С помощью скопированной ссылки загружаем на сервер пакет:
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:
В настройках задаем серверу имя домена и полное имя сервера:
… и кликаем по Продолжить.
Устанавливаем Стандартное подключение к базе данных — Продолжить:
Задаем настройки подключения к базе:
* в данном примере мы:
- Выбрали подключение к базе MySQL
- В строке 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
- В настройках имени пользователя и пароль прописываем логин и пароль пользователя, который создавали для подключения к базе openfire (openfire/openfirepass).
После кликаем по Продолжить. На следующей странице задаем настройки профиля — просто оставляем положение по умолчанию и нажимаем Продолжить:
* если нам необходима интеграция с Active Directory, переключаемся на Сервер каталогов (LDAP) и выполняем настройку по инструкции ниже.
На последнем шаге создаем учетную запись администратора. Для этого вводим адрес почты и пароль:
… и нажимаем Продолжить.
Установка завершена — переходим в консоль, кликнув по Вход в консоль администратора:
Чтобы зайти в openfire используем логин admin и пароль, который задали после установки Openfire.
Установка и подключение клиента
Для примера, установим jabber-клиент Spark, который разработан тем же разработчиком, что и сам Openfire. Переходим на страницу загрузки Spark и скачиваем клиента, например, для Windows:
Дожидаемся загрузки файла и устанавливаем приложение, отвечая на вопросы мастера установки (можно оставить все по умолчанию).
После запускаем программу — кликаем по Дополнительно (1) — снимаем галочку Автоматически найти сервер и порт (2) и прописываем адрес сервера (3) — устанавливаем галочки для Accept all certificates… и Disable certificate hostname verification … (4) — OK (5):
Вводим данные для входа на сервер и нажимаем Войти:
… клиент должен подключиться к серверу.
Установка плагинов
Установка плагина может быть выполнена из панели управления 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. Заполняем поля:
* где
- Из списка Тип сервера выбираем Active Directory.
- Protocol выбираем либо ldap, либо ldaps (если наш Active Directory поддерживает запросы с шифрованием).
- В качестве хоста прописываем имя контроллера домена или целиком весь домен.
- База DN — корневая директория LDAP, откуда будет выполняться поиск объектов.
- Администратор DN — учетная запись в LDAP с минимальными правами (на чтение объектов AD). Правильнее всего создать отдельную запись и использовать ее.
Кликаем по Тестовые настройки — мы должны увидеть отчет об успешном прохождении тестирования:
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=dmosk,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.
Смена домена
Если появилась необходимость сменить домен в Openfire, выполняем настройку в 2 этапа.
Шаг 1. Настройка в панели управления.
Переходим на вкладку Сервер — Диспетчер сервера — Свойства системы — в поиске параметром находим 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



































