Корпоративный jabber сервер

Нужно поставить корпоративный jabber сервер на виртуалку.
В качестве сервера будем ставить ejabberd.

Сначала установим Debian 11 в минимальной комплектации, только sshd.

Устанавливаем дополнительные пакеты: mc, p7zip-full, nfs-kernel-server, erlang-p1-mysql, mariadb-server.

Чтобы провести начальную конфигурацию mariadb вызываем mysql_secure_installation, задаю пароль рута и отмечаем нужные опции. Далее ходим под рутом и создаем базу и её пользователя:

mtsql -uroot -p
>create database ejabberd;
>grant all on ejabberd.* to «ejabberd_user»@»localhost» identified by «password»;
>flush privileges;
>exit;

Теперь нужно залить схему базы данных. Нужный файл берём с сайта проекта:
https://github.com/processone/ejabberd/tree/master/sql/

Заливаем в mysql:
mysql -u ejabberd_user -p ejabberd < mysql_new.sql

Ставим пакет сервера:
apt install ejabberd

После установки сервер запущен и можно работать. По умолчанию ejabberd использует встроенную БД. Но сами разработчики советуют изпользовать mariadb или postgres.

Т.к. мы будем использовать mariadb, то нужно отредактировать конфигурационный файл. Он находится по пути:
/etc/ejabberd/ejabberd.yml

Сначала меняем
hosts:
— localhost
на
— ejabberd.ваш_домен.ru

Добавляем пользователя admin:
acl:
admin:
user:
— «admin»

Добавляем работу с mysql:

auth_method: sql
auth_password_format: scram

sql_type: mysql
sql_server: «localhost»
sql_database: «ejabberd»
sql_username: «ejabberd_user»
sql_password: «password»

sql_pool_size: 10
new_sql_schema: true
default_db: sql

Перестартуем сервис:
systemctl restart ejabberd

Добавляем первого пользователя, который по-совместительству будет админом:
ejabberdctl register admin ejabberd.ваш_домен.ru adminpasswd

Далее в браузере заходим по https://jabberd.ваш_домен.ru:5280/admin

В качестве логина нужно вводить полное имя admin@jabberd.ваш_домен.ru и пароль adminpasswd.

В веб-морде можно заводить пользователей, смотреть статистику и т.д. Хотя пользователей можно заводить и из командной строки, как мы завели админа.

В вебморде нужно зайти в свой виртульный хост ejabberd.ваш_домен.ru. Это наша аминка, здесь заводим пользователей, стотрим статистику и т.д.
Переходим на страницу Shared Roster Groups и задаем:
Name: название группы
Label: название группы, которое будет отображаться в клиенте
Description: описание
Members: список членов группы или @all@ для всех заводимых, или @online@
Displayed: название группы чтобы члены группы видели её.