SCROLL
Среднее время на прочтение: 2 мин.

Установка XMPP-сервера ejabberd 18.12.1 на Debian 9

Появилась потребность в корпоративном Jabber-сервере (XMPP). Для реализации задачи выбрал ejabberd, по заявлениям разработчика он легкий, быстрый и надежный как скала.

JUQwJUExJUQwJUJFJUQwJUIxJUQwJUI4JUQxJTgwJUQwJUIwJUQxJTgyJUQxJThDJTIwZWphYmJlcmQlMjAlRDAlQjIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAxOC4xMi4xJTJDJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQwJUJDJTIwJUQwJUI4JUQwJUI3JTIwJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUIyJUMyJUEwJUQwJUJEJUQwJUIwJTIwRGViaWFuJTIwOSUyMFN0cmV0Y2guJTIwJUQwJTkyJUQxJTgxJUQwJUI1JTIwJUQwJUJEJUQwJUI4JUQwJUI2JUQwJUI1JTIwJUQwJUI0JUQwJUI1JUQwJUI5JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI4JUQxJThGJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQxJTgzJUQxJTgyJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQxJTgyJUQxJThDJUQxJTgxJUQxJThGJTIwJUQwJUJFJUQxJTgyJTIwcm9vdC4=

Подготовка системы

Перед началом установки обновляем систему до актуального состояния.

apt-get update && sudo apt-get upgrade -y

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQwJUI3JUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgxJUQwJUI4JUQwJUJDJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI4Lg==

apt-get install gcc g++ make autoconf erlang mysql-server git libssl-dev libyaml-dev zlib1g-dev libexpat1-dev imagemagick -y

Установка ejabberd

Скачиваем исходники ejabberd релизной версии 18.12.1, распаковываем архив и переходим в него.

wget https://github.com/processone/ejabberd/archive/rel-18.12.1.zip

unzip rel-18.12.1.zip
cd ejabberd-rel-18.12.1

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQxJTgzJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI4LiUyMCVEMCVBRiUyMCVEMSU4MyVEMCVCQSVEMCVCMCVEMCVCNyVEMCVCMCVEMCVCQiUyMCVEMCVCRiVEMSU4MyVEMSU4MiVEMCVCOCUyMCVEMSU4MCVEMCVCMCVEMCVCNyVEMCVCQyVEMCVCNSVEMSU4OSVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCRSVEMCVCMiUyQyUyMCVEMCVCMiUyMCVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCRCVEMCVCNCVEMCVCMCVEMSU4MCVEMSU4MiVEMCVCRCVEMSU4QiVEMCVCNSUyMCVEMCVCNCVEMCVCOCVEMSU4MCVEMCVCNSVEMCVCQSVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCOCVEMCVCOCUyQyUyMCVEMCVCMiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCOCVEMCVCQiUyME15U1FMJTJGU1RVTiUyRlNJUCVDMiVBMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCNCVEMCVCNSVEMSU4MCVEMCVCNiVEMCVCQSVEMSU4My4=

./autogen.sh
./configure --prefix= --exec-prefix=/usr --enable-mysql --enable-stun --enable-sip

Собираем и устанавливаем пакет.

make
make install

JUQwJTlGJUQwJUJFJTIwJUQwJUJFJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg3JUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQwJUI4JTJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUI4JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJTIwJUQwJUI4JTIwJUQwJUJEJUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwZWphYmJlcmQuJTIwJUQwJTk0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwdW5pdC0lRDElODQlRDAlQjAlRDAlQjklRDAlQkIlMjAlRDAlQjIlMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDElODMu

Y3AlMjBlamFiYmVyZC5zZXJ2aWNlJTIwJTJGZXRjJTJGc3lzdGVtZCUyRnN5c3RlbSUyRm11bHRpLXVzZXIudGFyZ2V0LndhbnRzJTJGZWphYmJlcmQuc2VydmljZQ==
bG4lMjAtcyUyMCUyRmV0YyUyRnN5c3RlbWQlMkZzeXN0ZW0lMkZtdWx0aS11c2VyLnRhcmdldC53YW50cyUyRmVqYWJiZXJkLnNlcnZpY2UlMjAlMkZsaWIlMkZzeXN0ZW1kJTJGc3lzdGVtJTJGZWphYmJlcmQuc2VydmljZQ==

JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThGJTIwZWphYmJlcmQlMkMlMjAlRDAlQkUlRDElODIlMjAlRDAlQjglRDAlQkMlRDAlQjUlRDAlQkQlRDAlQjglMjAlRDAlQkElRDAlQkUlRDElODIlRDAlQkUlRDElODAlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjAlRDAlQjclRDAlQjAlRDAlQkYlRDElODMlRDElODElRDAlQkElRDAlQjAlRDElODIlRDElOEMlRDElODElRDElOEYlMjBlamFiYmVyZC0lRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlMjAlRDAlQjglMjAlRDAlQjIlRDElOEIlRDElODElRDElODIlRDAlQjAlRDAlQjIlRDAlQkIlRDElOEYlRDAlQjUlRDAlQkMlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjglRDAlQkIlRDElOEMlRDAlQkQlRDElOEIlRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjAlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkElRDAlQjAlRDElODIlRDAlQjAlRDAlQkIlRDAlQkUlRDAlQjMlRDAlQjgu

dXNlcmFkZCUyMGVqYWJiZXJkJTIwLWQlMjAlMkZ2YXIlMkZsaWIlMkZlamFiYmVyZCUyMC1zJTIwJTJGYmluJTJGc2glMjAtYyUyMCUyMkVqYWJiZXJkJTIwc2VydmljZSUyMHVzZXIlMjI=

Y2hvd24lMjByb290JTNBZWphYmJlcmQlMjAtUiUyMCUyRmV0YyUyRmVqYWJiZXJk
chown ejabberd:ejabberd -R /var/lib/ejabberd
Y2htb2QlMjA3MDAlMjAtUiUyMCUyRnZhciUyRmxpYiUyRmVqYWJiZXJk
Y2hvd24lMjByb290JTNBZWphYmJlcmQlMjAlMkZ2YXIlMkZsb2clMkZlamFiYmVyZA==
chmod 770 /var/log/ejabberd
chmod 755 /usr/sbin/ejabberdctl

Теперь можно запустить ejabberd-сервер.

c2VydmljZSUyMGVqYWJiZXJkJTIwc3RhcnQ=

Операции после установки

После установки пакета ejabberd, рекомендуется настроить на использование базы данных MySQL и не использовать встроенную Mnesia. Это связано с ограничением Mnesia на размер БД (2Gb). Так же необходимо создать административную учетную запись и назначить ей права доступа администратора.

Подключение базы данных MySQL

JUQwJUExJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUIwJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI0JUQwJUI4JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJTgzJUQxJThFJTIwJUQwJUIxJUQwJUIwJUQwJUI3JUQxJTgzJTIwJUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQxJThCJUQxJTg1Lg==

SQL
bXlzcWwlMjAtdSUyMHJvb3QlMjAtcA==

CREATE DATABASE ejabberd CHARACTER SET utf8;
CREATE USER 'ejabberd'@'localhost' IDENTIFIED BY 'ejabberd';
R1JBTlQlMjBBTEwlMjBQUklWSUxFR0VTJTIwT04lMjBlamFiYmVyZC4qJTIwVE8lMjAnZWphYmJlcmQnJTQwJ2xvY2FsaG9zdCclM0I=
RkxVU0glMjBQUklWSUxFR0VTJTNC
EXIT

Скачиваем SQL-схему, необходимую ejabberd и загружаем ее в созданную базу данных.

wget https://raw.githubusercontent.com/processone/ejabberd/master/sql/mysql.sql
bXlzcWwlMjAtRCUyMGVqYWJiZXJkJTIwLXUlMjBlamFiYmVyZCUyMC1wJTIwJTNDJTIwbXlzcWwuc3Fs

В файле конфигурации /etc/ejabberd/ejabberd.yml, добавляем параметры.

/etc/ejabberd/ejabberd.yml
JTIzJTIwJUQwJTlGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJTIwJUQwJTkxJUQwJTk0JTIwTXlTUUw=
sql_type: mysql
sql_server: "localhost"
sql_database: "ejabberd"
c3FsX3VzZXJuYW1lJTNBJTIwJTIyZWphYmJlcmQlMjI=
c3FsX3Bhc3N3b3JkJTNBJTIwJTIyZWphYmJlcmQlMjI=

JTIzJTIwJUQwJTk4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJTkxJUQwJTk0JTIwTXlTUUwlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjAlRDElODMlRDElODIlRDAlQjUlRDAlQkQlRDElODIlRDAlQjglRDElODQlRDAlQjglRDAlQkElRDAlQjAlRDElODYlRDAlQjglRDAlQjg=
YXV0aF9tZXRob2QlM0ElMjBzcWw=

# Использовать БД MySQL для всех модулей
default_db: sql

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI2JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJTgzJTIwWE1QUC4=

c2VydmljZSUyMGVqYWJiZXJkJTIwcmVzdGFydA==

Административная учетная запись

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwJUQxJTgxJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTgxJUQwJUJFJUQwJUJCJUQxJThDJUQxJThFJTIwZWphYmJlcmQlMkMlMjAlRDAlQkQlRDAlQjUlRDAlQkUlRDAlQjElRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlRDAlQkUlMjAlRDAlQjIlRDAlQkUlRDAlQjklRDElODIlRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQjQlMjAlRDElODMlRDElODcuJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQxJThDJUQxJThFJTIwZWphYmJlcmQu

c3UlMjBlamFiYmVyZA==

 

Создадим учетную запись (прим. admin), для домена (прим. example.com).

/usr/sbin/ejabberdctl register admin example.com password
Если в системе установлена и используется sudo, то можно эту же команду выполнять при помощи sudo, только с указание от какого пользователя выполнить команду (прим. sudo -u ejabberd ejabberdctl register admin localhost password)

JUQwJTk0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJDJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUIwJUQwJUI0JUQwJUJDJUQwJUI4JUQwJUJEJUQwJUI4JUQxJTgxJUQxJTgyJUQxJTgwJUQwJUIwJUQxJTgyJUQwJUJFJUQxJTgwJUQwJUIwJTJDJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgxJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUJEJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQxJTgzJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4JTIwJTIyYWRtaW4lMjIuJTIwJUQwJTkyJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JUMyJUEwJTJGZXRjJTJGZWphYmJlcmQlMkZlamFiYmVyZC55bWwlMkMlMjAlRDAlQjQlRDAlQkUlRDAlQjElRDAlQjAlRDAlQjIlRDAlQjglRDAlQkMlMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDElOEUlRDElODklRDAlQjUlRDAlQjUu

/etc/ejabberd/ejabberd.yml
acl:
  admin:
JTIwJTIwJTIwJTIwdXNlciUzQQ==
     - "admin": "example.com"

 

Перезагружаем службу XMPP.

service ejabberd restart

JUQwJUEyJUQwJUI1JUQwJUJGJUQwJUI1JUQxJTgwJUQxJThDJTIwJUQxJTg3JUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JTIwV2ViLSVEMCVCOCVEMCVCRCVEMSU4MiVEMCVCNSVEMSU4MCVEMSU4NCVEMCVCNSVEMCVCOSVEMSU4MSUyQyUyMCVEMCVCQSVEMCVCRSVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4QiVEMCVCOSUyMCVEMCVCNCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4MyVEMCVCRiVEMCVCNSVEMCVCRCUyMCVEMCVCRiVEMCVCRSUyMCVEMCVCMCVEMCVCNCVEMSU4MCVEMCVCNSVEMSU4MSVEMSU4MyUyMCVFMiU4MCU5NCUyMGh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUzQTUyODAlMkZhZG1pbiUyQyUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCMCVEMCVCMiVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCOCVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMSU4MyVEMSU4RiUyMCVEMSU4MSVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMSU4MyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMSU4QyUyMChhZG1pbiU0MGV4YW1wbGUuY29tKS4=

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

3 комментариев
  • Единственное, добавить, что для успеха кампании надо
    sudo apt-get install erlang-p1-mysql
    А то ведь не запустится.

  • После установки на debian9 сервис ejabberd запускается очень долго, 4-5 минут.
    Столько же занимает restart

    У вас так же было?