- Как установить Jabber в Ubuntu 18.04
- Установка Jabber-сервера в Ubuntu 18.04
- Вариант 1. Установка eJabberd с помощью скрипта (рекомендуется разработчиками)
- Вариант 2. Установка eJabberd из репозитория
- Вариант 3. Установка eJabberd из deb-пакета
- Вариант 4. Установка Prosody
- Вариант 5. Установка Openfire
- Выводы
Как установить 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). Затем в браузере вводим адрес:
Вводим имя и пароль и попадаем в админку. Там уже можно добавлять и удалять пользователей, создавать группы и прочее. Если во время установки что-то пошло не так, можно просто удалить каталог 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. Если нужен внешний адрес, указываем и его.
Указываем, что администрировать его будет пользователь admin:
Добавим поддержку русского зыка:
После этого записываем изменения Ctrl + O и закрываем Ctrl + X. После чего перезапускаем сервер. На всякий случай можно и демона перезапустить.
sudo service ejabberd restart
sudo /etc/init.d/ejabberd restart
Открываем браузер и идём по адресу:
Там вводим логин и пароль, после чего попадаем в админку.
Вариант 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
Затем в терминале переходим в папку с пакетом:
И запускаем установку:
sudo dpgk -i ejabberd_18.06-0_amd64.deb
В процессе на рабочем столе появятся ярлычки запуска и остановки сервера. Важно! При такой установке она производится в папку opt, а не etc как при установке из репозитория. Наиболее важные папки там — bin и conf. В первой находятся пусковые файлы, во второй — настройки.
Как и ранее, открываем файл ejabberd.yml, но с учётом пути:
sudo nano /opt/ejabberd/conf/ejabberd.yml
Вводим там, как и ранее:
Указываем, что администрировать его будет пользователь admin:
Добавим поддержку русского зыка:
sudo ejabberdctl register admin localhost PASSWORD
sudo service ejabberd restart
sudo /etc/init.d/ejabberd restart
Открываем браузер и идём по адресу:
Там вводим логин и пароль, после чего попадаем в админку.
Вариант 4. Установка Prosody
Ещё один сервер для Jabber. Для начала устанавливаем сервер базы данных MySQL. В терминале вводим:
sudo apt install mysql-server
Нажимаем У, соглашаясь с установкой. Затем устанавливаем сам Prosody. Его можно установить напрямую из репозитория Ubuntu 18.04, однако последняя версия расположена в отдельном репозитории. В терминале вводим:
Этим мы переходим в режим суперпользователя. Рекомендуется некоторые операции выполнять в нём, поскольку обычный режим 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
После добавляем данные в базу:
create user ‘prosody’@’localhost’ identified by ‘prosodypasswort’;
create database prosody;
grant all on prosody.* to ‘prosody’@’localhost’;
Всё, мы добавили записи в базу и вышли из режима суперпользователя (ибо правило «не работай под root’ом» никто не отменял).
Настройка производится в одном файле. Он находится в /etc/prosody/ и называется prosody.cfg.lua. В терминале вводим:
sudo nano /etc/prosody/prosody.cfg.lua
В открывшемся файле редактируем нужные нам параметры. После этого сохраняем их Ctrl + O и закрываем файл Ctrl + X.
Устанавливаем пакет Mercurial, он потребуется для клонирования на локальный сервер модулей Prosody из репозитория.
sudo apt install mercurial
hg clone https://hg.prosody.im/prosody-modules/ prosody-modules
Меняем разрешения для папок и файлов, чтобы система могла получить доступ к модулям:
chgrp -R prosody prosody-modules
chmod -R 770 prosody-modules
Затем перезапускаем сервер:
sudo prosodyctl restart
После этого в браузере должна стать доступна страница
Вариант 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. Вводим:
И выполняем команду:
sudo dpkg -i openfire_4.2.3_all.deb
Важно! Через штатный установщик и Gdebi нормально не ставится, потому лучше через терминал.
Соглашаемся с предложениями (переход по пунктам в терминальном режиме осуществляется кнопкой Tab).
Выбираем русский язык и прочие настройки. По окончании вводим данные для админа системы и авторизуемся с ними.
Открываем браузер и вводим адрес вида:
В моём случае это IP виртуальной машины, в вашем может быть иной адрес, обычно совпадающий с адресом сервера. 9090 — стандартный порт, на который стучится админ. 9091 — защищённый порт. Рекомендуется их сменить.
Выводы
В целом, установка Jabber-сервера не должна вызвать особых затруднений. Есть решения для разных задач. Тот же eJabberd максимально универсален и не требует ничего лишнего, однако это наиболее объёмный и монструозный инструмент. Prosody попроще и полегче, однако базу к нему придётся ставить отдельно. Наконец, Openfire хотя и крутится на Java, но при этом в настроенном виде весьма неплох, а также не пугает собственно процессом конфигурации. Всё делается в браузере.
Источник