Меню Рубрики

Установка ejabberd server ubuntu

Как установить 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’;

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

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

Читайте также:  Установка и работа с mapsource

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

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

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

sudo add-apt-repository ppa:webupd8team/java

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, но при этом в настроенном виде весьма неплох, а также не пугает собственно процессом конфигурации. Всё делается в браузере.

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Ubuntu Server. Настраиваем Jabber-сервер.

Выбор корпоративного средства обмена сообщениями задача не из легких. Публичные сервисы, такие как ICQ, Skype и т.п., кроме известных всем достоинств имеют ряд недостатков, таких как необходимость наличия интернета на каждом рабочем месте и невозможность контролировать круг общения сотрудников, в той же ICQ свободно можно в рабочее время общаться с друзьями на отвлеченные темы. Что же делать? Здесь нам на помощь приходит Jabber, позволяющий создать корпоративный сервер обмена сообщениями, как это сделать мы расскажем в данной статье.

Мы будем рассматривать установку Jabber-сервера на выделенный ПК под управлением Ubuntu Server 10.04.1 LTS. Имя сервера, выбранное при установке ubuntu-jabber, которое будет являться именем jabber-сервера, если вы хотите использовать иное имя, то вы будете должны внести соответствующую запись в /etc/hosts.

В качестве jabber-сервера мы будем использовать ejabberd, к достоинствам которого относятся: простота настройки, нетребовательность к системным ресурсам и возможность LDAP авторизации (в том числе интеграция в AD), что весьма актуально в корпоративной среде.

Установка сервера проста, достаточно одной комманды:

Все настройки хранятся в /etc/ejabberd/ejabberd.cfg, откроем его и раскомментируем следующую строку:

Ниже укажем логин администратора (у jabber-сервера свой администратор, не путать с системным) и имя сервера:

Где ADMIN — имя учетной записи администратора, а SERVER_NAME имя сервера, в нашем случае ubuntu-jabber. После чего опускаемся вниз до секции ACCESS RULES в которой находим и приводим к следующему виду опцию:

Читайте также:  Установки для ремонта электродвигателей

Данная опция позволяет регистрировать учетные записи пользователям самостоятельно, при помощи клиента. Последняя интересующая нас опция — язык по умолчанию:

Теперь зарегистрируем учетную запись администратора:

Теперь можно приступить к настройке клиентских ПК. В первую очередь добавим в C:\Windows\System32\drivers\etc\hostsстроку следующего вида:

Данная строка позволяет клиентам обращаться к jabber-серверу по имени хоста. Если в вашей организации большое количество ПК и вносить настройки на каждом из них затруднительно, то самое время задуматься о внедрении Службы каталогов, в этом случае было бы достаточно одной записи на DNS сервере.

В качестве jabber-клиента мы используем Psi, кроссплатформенный клиент с богатыми возможностями, хотя вы можете выбрать то, что вам больше понравиться, благо есть из чего — список клиентов достаточно велик.

Установка и регистрация учетной записи просты и не занимают много времени, структура и принципы работы с программой ничем не отличаются от других IM клиентов и не должны вызвать каких-либо затруднений у пользователя. Добавляем контакт собеседника и уже можно общаться.

Для администрирования сервера можно использовать веб-админку, которая доступна по адресу: http://SERVER_NAME:5280/admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации.

В общем на этом можно было бы и остановиться, если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами — пользователь сам выбирает с кем общаться, но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо, чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В /etc/ejabberd/ejabberd.cfg найдем и раскомментируем следующую строку:

Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе Virtual Hosts — Имя вашего сервера появился пункт Группы общих контактов. Создаем такую группу и настраиваем как показано ниже:

Для того, чтобы в группу автоматически попадали все пользователи в поле Члены укажите @all@, а в поле Видимые группы укажите название вашей группы, которое вы ввели при ее создании.

Проверим как это работает. Зарегистрируем нового пользователя, как видим — все хорошо, он автоматически получил все контакты общей группы.

Вот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями, в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются, он позволяет осуществлять коммуникации с другими сетями обмена сообщениями, для этого нужно настроить соответствующий транспорт, так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи.

источник