Установка и настройка EJabberd в Ubuntu

Сначала рекомендую обновить систему:

sudo apt-get update
sudo apt-get upgrade

Теперь выполним команду установки:

sudo apt-get install ejabberd

Откроем файл конфигурации:

sudo nano /etc/ejabberd/ejabberd.yml

Добавим узел на котором будет работать EJabberd, например имя домена или IP адрес сервера:

hosts:
  - "localhost"
  - "192.168.20.50"

Укажем что пользователь admin является администратором на узле 192.168.20.50:

admin:
     user:
         - "": "localhost"
     user:
         - "admin": "192.168.20.50"

Укажем русский язык:

language: "ru"

На этом редактирование файла конфигурации завершаем, если использовался редактор nano, то нажмем «CTRL+X» потом «y» и «Enter» для выхода и сохранения изменений.

Теперь создадим пользователя для локального и внешнего узлов:

sudo ejabberdctl register admin localhost PASSWORD
sudo ejabberdctl register admin 192.168.20.50 PASSWORD

Перезапустим EJabberd:

sudo service ejabberd restart
sudo /etc/init.d/ejabberd restart

В дальнейшем можно добавлять пользователей через Web интерфейс.
Откроем Web интерфейс Jabber сервера набрав в браузере https://192.168.20.50:5280/admin/ и введя имя/пароль ранее добавленного администратора.
Откроем вкладку «Виртуальные хосты», выберем наш сервер, далее выберем вкладку «Группы общих контактов», введем имя группы и нажмем «Добавить».
Теперь нажмем на нее и заполним поля: Название и Видимые группы: (имя группы которое ввели ранее), Члены: @all@

EJabberd использует порт 5222(tcp) для подключений клиентов, порт 5269(tcp) для межсерверных подключений, порт 5280(tcp) для http панели администратора.
Если используется iptables, то приведу пример правил для разрешения доступа конкретному IP:

iptables -A INPUT -s 192.168.5.50/32 -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A INPUT -s 192.168.5.50/32 -p tcp -m tcp --dport 5269 -j ACCEPT
iptables -A INPUT -s 192.168.5.50/32 -p tcp -m tcp --dport 5280 -j ACCEPT

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

Пример команд просмотра различной информации:

sudo ejabberdctl connected_users
sudo ejabberdctl connected_users_info
sudo ejabberdctl connected_users_number
sudo ejabberdctl registered_users HOST

Изменение пароля пользователя командой:

sudo ejabberdctl change_password

Удаление пользователя:

sudo ejabberdctl unregister

На этом все.

ИНСТРУКЦИЯ НАСТРОЙКИ ДЛЯ СТАРЫХ ВЕРСИЙ UBUNTU.
Откроем конфигурационный файл в текстовом редакторе nano (Ctrl+X для выхода, Ctrl+O для записи изменений):

sudo nano /etc/ejabberd/ejabberd.cfg

В котором раскомментируем строку:

override_local

Укажем имя администратора и DNS имя или IP-адрес сервера:

 %% Admin user
{acl, admin, {user, «АДМИН», «192.168.0.1»}}

Укажем DNS имя или IP-адрес сервера:

 %% Hostname
{hosts, [«192.168.0.1»]}

Чтобы разрешить пользователям самостоятельно регистрироваться на сервере изменим deny на allow в строке:

{access, register, [{deny, all}]}

Укажем язык по умолчанию:

{language, «ru»}

Чтобы пользователи видели друг друга без добавления в контакты раскомментируем строку:

{mod_shared_roster, []}

Изменим приветственное сообщение:
{welkome_message,

Смотрите также:
Решение ошибки /usr/sbin/ejabberdctl: line 428: 14615 Segmentation fault

Вливайтесь в общение

1 комментарий

Добавить комментарий

  1. Здравствуйте.

    На этапе создания второго админа (для внешнего узла), появляется ошибка:
    Error: cannot_register

    Да и после (как и до) перезагрузки ejabberd, вебморда не доступна.

    Установку выполняю на чистом сервере (Ubuntu 18.04)
    Строго придерживаясь вашего мануала и пунктуации.

    Не могу понять где моя ошибка, и в чём проблема.