Jabber: Установка сервера
Установка :
sudo apt-get install ejabberd
Редактирование конфигурационного файла /etc/ejabberd/ejabberd.yml (может быть ejabberd.cfg в некоторых версиях).
Ниже мы отметим только критичные для минимальной установки строки, которые необходимо отредактировать:
Ниже укажем логин администратора (у jabber-сервера свой администратор, не путать с системным) и имя сервера:
hosts:
- "myxmpp.ru"
listen:
- port: 5222
certfile: "/etc/ejabberd/xmpp.pem"
-
port: 5280
certfile: "/etc/ejabberd/xmpp.pem"
s2s_certfile: "/etc/ejabberd/xmpp.pem"
s2s_use_starttls: optional
acl:
admin:
user:
- "admin@myxmpp.ru"
Отмеченное цветом это – то, что должно быть обязательно расскоментированно и необходимо изменить в соответствии, с вашим доменом и расположением файла сертификата.
Значение s2s_use_starttls: true долнжо быть именно optional для того, чтобы работала s2s связь c gmail.com (google talk). Иначе, при попытке связаться с контактами google (хотя с другими XMPP-серверами соединение будет проходить успешно) будет ошибка:
Closing s2s connection: myxmpp.ru -> gmail.com (invalid dialback key)
Наконец, создайте пользователя, которому выделены права администратора:
ejabberdctl register admin myxmpp.ru 123456
Где “123456” – пароль.
И перезагрузите ejabberd:
/etc/init.d/ejabberd restart
Всё, после этого xmpp-сервер ejabberd должен работать. Можете добавлять пользовотеля admin@myxmpp.ru в xmpp-клиент, создавать по-аналогии других пользователей, изменять конфигурацию, а также использовать администраторский веб-интерфейс по адресу:
https://myxmpp.ru:5280/admin – с логином и паролем указанными выше.
Если после указанных настроек s2s не работает, не происходит авторизации и в логе подобные ошибки:
@ejabberd_s2s_out:srv_lookup:1215 The DNS servers timed out on request for "somedomain.com" IN SRV. You should check your DNS configuration.
@ejabberd_s2s_out:open_socket:271 s2s connection: myxmpp.ru -> somedomain.com (remote server not found)
@ejabberd_s2s_out:handle_info:990 Reconnect delay expired: Will now retry to connect to somedomain.com when needed.