Собрал ejabberd 21.07 из исходников на ubuntu 20.04
./configure --prefix= --exec-prefix=/usr --enable-mysql --enable-stun --enable-sip
Внес необходимые минимальные изменения в конфигуратор
hosts:
- localhost
- domain.com
loglevel: info
## If you already have certificates, list them here
certfiles:
- /etc/letsencrypt/live/domain.com/fullchain.pem
- /etc/letsencrypt/live/domain.com/privkey.pem
listen:
-
port: 5222
ip: "::"
module: ejabberd_c2s
max_stanza_size: 262144
shaper: c2s_shaper
access: c2s
starttls_required: true
Ejabberd запускаю из под root, о чем сервер постоянно ругается, но в данном случае, все работает. Клиенты подключаются, отправляют сообщения, etc...
Поскольку сервер предупреждает что не стоит запускать ejabberdctl из от root, переконфигурировал сервер, предварительно создав пользователя
./configure --prefix= --exec-prefix=/usr --enable-user=ejabberd --enable-mysql --enable-stun --enable-sip
После этого сервер стартует, уже без ругани, что из под rootа. Но теперь перестали подключиться клиенты. При попытке подключить клиента в логах сервера вот такой ворнинг:
[info] <0.367.0>@ejabberd_listener:accept/7:273 (<0.523.0>) Accepted connection [::ffff:client_ip]:40760 -> [::ffff:server_ip]:5222
[warning] <0.523.0>@ejabberd_c2s:process_terminated/2:310 (tcp|<0.523.0>) Failed to secure c2s connection: TLS failed: no_certfile
Кто знает как побороть?