Установка и настройка OpenFire

OpenFire — кроссплатформенный XMPP-сервер написанный на Java.

Для теста выполню установку OpenFire в Ubuntu Server 16.04 и опишу процесс.

Так как для OpenFire требуется Java, посмотрим установленную версию в системе:

java -version

При необходимости установим Java:

sudo apt-get install default-jre

Потом перейдем на страницу загрузки www.igniterealtime.org/downloads/, нажмем скачать и скопируем ссылку.

Скачаем, добавив в конце скопированную ссылку вместо LINK:

wget -O openfire.deb LINK

Например:

wget -O openfire.deb http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.2.1_all.deb

Установим:

sudo dpkg --install openfire.deb

Теперь осталось открыть в браузере http://YourServer:9090/ и следовать подсказкам.

После этого, установка OpenFire будет завершена.

При необходимости можно остановить, запустить или перезапустить OpenFire так:

/etc/init.d/openfire {start|stop|restart|force-reload}

Установка и настройка 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