Как установить Ejabberd XMPP Server на RHEL 8

by itisgood

Как установить Ejabberd на RHEL 8?

Ejabberd – это бесплатный XMPP-сервер с открытым исходным кодом, написанный на Erlang.

Ejabberd был разработан для масштабируемости и отказоустойчивости.

Он имеет небольшой ресурсный ресурс и может работать на любой Unix, такой как операционная система – Linux, FreeBSD, Solaris, macOS, OpenBSD и другие.

Ejabberd использует хранилище данных по умолчанию – Mnesia (распределенная внутренняя база данных Erlang), но вы можете использовать сервер баз данных SQL или NoSQL.

Особенности Ejabberd XMPP Server

Ejabberd имеет модульную архитектуру, которая обеспечивает высокую настраиваемость и легкий доступ к необходимым функциям, которая включает в себя:

  • Store-and-forward (автономные сообщения)
  • Список контактов (реестр) и наличие
  • Обмен сообщениями
  • Расширение присутствия пользователя: протокол личных событий (PEP) и индикатор ввода
  • Профиль пользователя с vCards
  • Групповой чат: MUC (многопользовательский чат)
  • Архивация сообщений с помощью Message Archive Management (MAM)
  • Квитанции о доставке сообщений (XEP-184)
  • Настройки конфиденциальности, через список конфиденциальности и простые расширения блокировки
  • Последняя активность
  • Метрики и полное администрирование из командной строки
  • Полнофункциональная веб-поддержка, с BOSH и веб-сокетами
  • Управление потоком для обеспечения надежности сообщений на мобильных устройствах (также известный как XEP-0198)
  • и многое, многое другое.

Как установить Ejabberd XMPP Server на RHEL 8

Ejabberd упакован в файл RPM, который можно легко загрузить и установить с помощью менеджера пакетов rpm.

Если у вас есть страсть к компиляции из исходного кода, сделайте это.

Шаг 1: Обновление системы

Как обычно, вам нужно работать на обновленной системе

sudo yum -y update

Шаг 2: Загрузите и установите пакет RPM Ejabberd

После обновления загрузите пакет RPM Ejabberd.

Вам нужно будет проверить наличие последней версии, прежде чем делать фактическую загрузку.

На момент написания статьи доступна версия 18.12.1

sudo yum -y install wget
export VER="18.12.1"
wget https://www.process-one.net/downloads/ejabberd/18.12.1/ejabberd-$VER-0.x86_64.rpm

Установите загруженный RPM-пакет, выполнив команду:

sudo yum localinstall ejabberd-$VER-0.x86_64.rpm

Это поместит скрипт инициализации ejabberd в /etc/init.d/ejabberd.

  • Создан системный пользователь ‘ejabberd‘
  • Каталог приложения ejabberd – /opt/ejabberd. Это home для пользователя ejabberd.
  • Когда запускается ejabberd, процессы, которые запускаются в системе, это beam или beam.smp, а также epmd.

Шаг 3: Запустите сервис Ejabberd

Теперь, когда мы выполнили установку, нам нужно запустить службу и включить ее автоматический запуск при перезагрузке сервера.

Найдите ejabberd.service и скопируйте его в /etc/systemd/system

sudo yum -y install mlocate
sudo updatedb
sudo cp $(locate ejabberd.service) /etc/systemd/system

Затем перезагрузите systemd

sudo systemctl daemon-reload

Как только новый сервис ejabberd обнаружен, запустите его

sudo systemctl enable --now ejabberd

Вы можете подтвердить, что сервис работает.

systemctl status ejabberd

Шаг 4: Создайте учетную запись администратора ejabberd XMPP.

Вам нужна учетная запись администратора XMPP для доступа к панели администратора Web Admin.

Измените свой рабочий каталог на /opt/ejabberd-${VER}/bin

cd /opt/ejabberd-${VER}/bin

Добавьте учетную запись администратора

# ./ejabberdctl register myadmin localhost mystrongPassword
User jmutai@localhost successfully registered

Возможно, вам придется заменить localhost вашим реальным именем хоста сервера.

Другие учетные записи пользователей должны быть добавлены аналогичным образом.

./ejabberdctl register testuser localhost testuserpassword

Отредактируйте файл конфигурации ejabberd, чтобы предоставить права администратора для созданной вами учетной записи XMPP /opt/ejabberd/conf/ejabberd.yml.

acl:
   local:
     user_regexp: ""
   loopback:
     ip:
       - "127.0.0.0/8"
       - "::1/128"
       - "::FFFF:127.0.0.1/128"
   admin:
     user:
       - "admin@localhost"
       - "myadmin@localhost"

Перезапустите сервис ejabberd.

sudo systemctl restart ejabberd

Шаг 4. Настройка брандмауэра и интерфейса доступа

Разрешите порт Ejabberd UI на брандмауэре.

sudo firewall-cmd --add-port=5280/tcp --permanent
sudo firewall-cmd --reload

Веб-админка должна быть доступна по адресу http://ip-адрес:5280/admin/

Откройте URL, используя ваш любимый браузер.

Войдитк с полным именем пользователя с именем домена, например, myadmin@localhost.

 

You may also like

Leave a Comment