Xmpp server linux centos

linux-notes.org

Установка ejabberd на RedHat/CentOS/Fedora

Хотелось бы рассказать в своей новой статье «Установка ejabberd на RedHat/CentOS/Fedora» как я устанавливал XMPP сервер на примере ejabberd2 в моей ОС — CentOS.

ejabberd это сервер Jabber / XMPP для обмена мгновенными сообщениями который выпускается под лицензией GPLv2 (Free и Open Source), написанная на Erlang / OTP. Среди других особенностей, ejabberd — это его кросс-платформенность, отказоустойчивая, кластеризованный и модульный.

1. Установка ejabberd на CentOS.

Я буду устанавливать ejabberd yum командой, но для этого нужно подключить репозиторий EPEL:
Как включить EPEL репозиторий на CentOS

После того как подключили, выполняем команду:

Занимает он около 45мб, по этому нужно будет подождать чтобы он скачался и установился. Но это не сильно долго. тем временем можно пойти попить чайка 🙂

2. Настройка ejabberd на CentOS.

Сейчас мы немного поправим файл конфигурации:

Сохраняем файл. позже мы его немного поправим еще.

Пришло время запустить сервер:

Добавим наш сервис в автозагрузку ( если есть необходимость):

Нужно нам создать юзера для дальнейшего использования, делается это вот так:

У меня это будет выглядеть вот так:

Снова открываем файл настроек и пропишем привилегии для данного пользователя:

После чего должно все работать и после чего можно юзать веб интерфейс для этого:
http:// your_IP_or_domain:5280/your_user_name

Должно получится что то типа этого:
http://78.140.189.243:5280/admin

Вас попросят ввести ввести логин и пароль, которые мы с вами создали немного ранее. Далее, можно добавить нового пользователя, перейдя во вкладку Виртуальные хосты->Ваш хост ( у меня это ИП) -> Пользователи (Virtual hosts -> example.com -> Users).

ejabberd 2 на CentOS

На стороне клиента ( скачиваем например qutim, Gajim или что то др на ваш вкус) и вводим все необходимую информацию ( пароль, логин и доменное имя + пароль).

Источник

Установка и настройка 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. Вспомогательные пакеты

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

yum install wget

3. Безопасность

Настраиваем брандмауэр — разрешаем порты 5222, 9090 и 9091, на которых по умолчанию работает Openfire:

firewall-cmd —permanent —add-port=5222/tcp —add-port=<9090,9091>/

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

Отключаем SELinux командами:

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

Установка JAVA

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»

После устанавливаем скачанный пакет командой:

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

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

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:

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

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

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

Создание и настройка базы для 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:

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

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

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

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

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

  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:

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

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

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

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

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

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

systemctl restart openfire

Ждем секунд 10 (приложение перезапускается долго).

Открываем в браузере адрес http:// :9090 — откроется мастер установки. Проходим снова по всем шагам до настройки профилей и выбираем Сервер каталогов (LDAP):

1) Откроется страница настройки профилей LDAP. Заполняем поля:

  • Из списка Тип сервера выбираем Active Directory.
  • В качестве хоста прописываем имя контроллера домена или целиком весь домен.
  • База DN — корневая директория LDAP, откуда будет выполняться поиск объектов.
  • Администратор DN — учетная запись в 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=dmosk,dc=local) — это означает, что к серверу смогут подключиться только те пользователи, которые принадлежат группе Domain Admins.

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

Для установки плагинов в Openfire необходимо сам файл плагина (с расширением .jar) поместить в каталог с установленной программой. Подробнее разберем на примере установки «SIP Phone Plugin».

Переходим на страницу загрузки плагинов и копируем ссылку на его скачивание:

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

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

mv sip.jar /opt/openfire/plugins/

Открываем панель управления Openfire — переходим в Плагины — мы должны увидеть установленный плагин:

Аналоги и клиенты

Среди распространенных аналогов можно назвать:

  • ejabberd — свободный, распределенный и устойчивый к отказам XMPP-сервер. Написан на Erlang.
  • jabberd2 — модульный XMPP-сервер, написанный на C.
  • Prosody — кроссплатформенный XMPP-сервер, написанный на языке программирования Lua.

Другие клиентские приложения, которыми можно подключиться к Openfire:

Источник

Читайте также:  Как самому поставить windows
Оцените статью