Как установить 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.