Как установить Jabber в Ubuntu 18.04

Несмотря на обилие современных мессенджеров вроде Telegram, WhatsApp, Viber и других, многие компании отдают предпочтение проверенным и независимым решениям. Да, тот же Telegram функционально почти идеален, но его «тёрки» с РКН резко уменьшают возможности его применения, ведь нужно поднимать VPN или использовать прокси. Потому «в седле» остаётся Jabber.

На этой платформе есть немало корпоративных чатов, однако для их работы неизбежно требуется серверная часть, которую зачастую разворачивают на собственных мощностях компании. Потому сегодня речь пойдёт о том, как установить и настроить Jabber-сервер на Ubuntu 18.04.

Установка Jabber-сервера в Ubuntu 18.04

Этот вариант сервера наиболее универсален на сегодня. Он поддерживает кластеризацию и имеет высокую отказоустойчивость. При этом разработчики ещё и снабдили его всеми способами установки под Linux вообще и Ubuntu в частности. Рассмотрим их по порядку.

Вариант 1. Установка eJabberd с помощью скрипта (рекомендуется разработчиками)

Идём на официальный сайт ejabberd и скачиваем файл Linux x86 64-bits Intel Installer (прямая ссылка на него).

Можно это сделать в браузере или в терминале. В последнем случае вводим такую команду:

wget https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/18.06/ejabberd-18.06-linux-x86_64-installer.run -P /home/user/Downloads/ -O installer.run

Папку можете указать свою, NewFileName — ваше имя файла.

Назначаем ему права на выполнение:

sudo chmod +x ejabberd-18.06-linux-x86_64-installer.run

Затем переходим в папку, где он лежит (в терминале через cd или в файловом менеджере) и запускаем файл на выполнение (в терминале — ./ejabberd-YY.MM-linux-x86_64-installer.run, в файловом менеджере — двойной клик).

Дальше почти классический Windows-way — выбираем язык (русский есть), кликаем кнопку Forward (да, русский есть, но кнопки не перевели), вводим нужные данные и запускаем установку.

По окончании её на рабочем столе появляются два ярлыка: «Запустить eJabberd» и «Остановить eJabberd».

Запускаем сервер первым симлинком (в терминале — ./bin/ejabberdctl). Затем в браузере вводим адрес:

http://localhost:5280/admin

Вводим имя и пароль и попадаем в админку. Там уже можно добавлять и удалять пользователей, создавать группы и прочее. Если во время установки что-то пошло не так, можно просто удалить каталог eJabberd. Он находится по адресу, который вы указали при установке. В моём случае это /home/user/ejabberd-18.06/. Там же есть скрипт удаления.

Вариант 2. Установка eJabberd из репозитория

Это нужно на случай, если установка идёт на Ubuntu без графической среды. Для установки открываем терминал и вводим команду:

sudo apt install ejabberd

Вводим пароль, подтверждаем У и ждём. Процесс установки недолгий, минута-две.

Добавляем пользователя с правами администратора:

sudo ejabberdctl register admin localhost PASSWORD

sudo ejabberdctl register admin 192.168.10.170 PASSWORD

После установки необходимо сконфигурировать сервер. В терминале вводим:

sudo nano /etc/ejabberd/ejabberd.yml

Это файл конфигурации сервера, в нём выполняются все настройки. Добавляем адрес, на котором будет «крутиться» сервер. В нашем случае это localhost. Если нужен внешний адрес, указываем и его.

hosts:

- "localhost"

- "192.168.10.170"

Указываем, что администрировать его будет пользователь admin:

admin:

user:

- "": "localhost"

user:

- "admin": "192.168.10.170"

Добавим поддержку русского зыка:

language: "ru"

После этого записываем изменения Ctrl + O и закрываем Ctrl + X. После чего перезапускаем сервер. На всякий случай можно и демона перезапустить.

sudo service ejabberd restart

sudo /etc/init.d/ejabberd restart

Открываем браузер и идём по адресу:

https://localhost:5280/admin

Там вводим логин и пароль, после чего попадаем в админку.

Вариант 3. Установка eJabberd из deb-пакета

Ещё один способ установки. На сей раз из штатного deb-пакета. Причём, скажу сразу, что нормально установить его с помощью Ubuntu Software или Gdebi не получится. Только терминал, только хардкор!

Скачиваем его с сайта. Или в браузере, или с помощью терминала:

wget https://www.process-one.net/downloads/downloads-action.php?file=/ejabberd/18.06/ejabberd_18.06-0_amd64.deb -P /home/user/Downloads/ -O ejabberd.deb

Затем в терминале переходим в папку с пакетом:

cd Download

И запускаем установку:

sudo dpgk -i ejabberd_18.06-0_amd64.deb

В процессе на рабочем столе появятся ярлычки запуска и остановки сервера. Важно! При такой установке она производится в папку opt, а не etc как при установке из репозитория. Наиболее важные папки там — bin и conf. В первой находятся пусковые файлы, во второй — настройки.

Как и ранее, открываем файл ejabberd.yml, но с учётом пути:

sudo nano /opt/ejabberd/conf/ejabberd.yml

Вводим там, как и ранее:

hosts:

- "localhost"

- "192.168.10.170"

Указываем, что администрировать его будет пользователь admin:

admin:

user:

- "": "localhost"

user:

- "admin": "192.168.10.170"

Добавим поддержку русского зыка:

language: "ru"

Добавляем пользователя:

sudo ejabberdctl register admin localhost PASSWORD

Перезапускаем сервер:

sudo service ejabberd restart

sudo /etc/init.d/ejabberd restart

Открываем браузер и идём по адресу:

https://localhost:5280/admin

Там вводим логин и пароль, после чего попадаем в админку.

Вариант 4. Установка Prosody

Ещё один сервер для Jabber. Для начала устанавливаем сервер базы данных MySQL. В терминале вводим:

sudo apt install mysql-server

Нажимаем У, соглашаясь с установкой. Затем устанавливаем сам Prosody. Его можно установить напрямую из репозитория Ubuntu 18.04, однако последняя версия расположена в отдельном репозитории. В терминале вводим:

sudo su

Этим мы переходим в режим суперпользователя. Рекомендуется некоторые операции выполнять в нём, поскольку обычный режим sudo иногда не срабатывает.

wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add –

echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/prosody.list

Затем устанавливаем сам сервер:

apt update && apt install prosody lua-dbi-mysql lua-sql-mysql lua-sec

После добавляем данные в базу:

mysql -u root -p

create user 'prosody'@'localhost' identified by 'prosodypasswort';

create database prosody;

grant all on prosody.* to 'prosody'@'localhost';

В конце вводим:

quit;

И затем:

exit

Всё, мы добавили записи в базу и вышли из режима суперпользователя (ибо правило «не работай под root’ом» никто не отменял).

Настройка производится в одном файле. Он находится в /etc/prosody/ и называется prosody.cfg.lua. В терминале вводим:

sudo nano /etc/prosody/prosody.cfg.lua

В открывшемся файле редактируем нужные нам параметры. После этого сохраняем их Ctrl + O и закрываем файл Ctrl + X.

Устанавливаем пакет Mercurial, он потребуется для клонирования на локальный сервер модулей Prosody из репозитория.

sudo apt install mercurial

Затем:

cd /opt/

hg clone https://hg.prosody.im/prosody-modules/ prosody-modules

Меняем разрешения для папок и файлов, чтобы система могла получить доступ к модулям:

chgrp -R prosody prosody-modules

chmod -R 770 prosody-modules

Затем перезапускаем сервер:

sudo prosodyctl restart

После этого в браузере должна стать доступна страница

https://xmppserver.tld:5281/register/

Вариант 5. Установка Openfire

Сначала устанавливаем Java. В терминале выполняем:

sudo add-apt-repository ppa:webupd8team/java

sudo apt update

sudo apt install oracle-java8-set-default

Это установит Java-машину на Ubuntu. Затем скачиваем Openfire с сайта. Это можно сделать в браузере или через терминал.

Во втором случае вводим:

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

После скачивания в терминале переходим в папку, куда мы скачали пакет. По умолчанию это Downloads. Вводим:

cd Downloads/

И выполняем команду:

sudo dpkg -i openfire_4.2.3_all.deb

Важно! Через штатный установщик и Gdebi нормально не ставится, потому лучше через терминал.

Соглашаемся с предложениями (переход по пунктам в терминальном режиме осуществляется кнопкой Tab).

Выбираем русский язык и прочие настройки. По окончании вводим данные для админа системы и авторизуемся с ними.

Открываем браузер и вводим адрес вида:

http://10.0.2.15:9090

В моём случае это IP виртуальной машины, в вашем может быть иной адрес, обычно совпадающий с адресом сервера. 9090 — стандартный порт, на который стучится админ. 9091 — защищённый порт. Рекомендуется их сменить.

Источник

Понравилась статья? Поделиться с друзьями: