Записки админа

Записки админа

Установка и настройка сервера мгновенных сообщений PROSODY на основе протокола XMPP на CentOS 7

Для начала добавляем EPEL репозиторий.

Далее ставим prosody:

На официальном сайте есть подробная документация и другая информация по prosody

Делаем бэкап оригинального конфига:

Приводим рабочий конфиг к такому виду:

Я отключил (закомментировал – “–“) в конфиге инклюд фалов конфигурации доменов, так как у меня доменов всего один и все директивы его настройки в основном файле конфигурации.

Я использую для шифрования соединения сертификаты от Let’s Encrypt. Как настроить Let’s Encrypt тут. Подключаем сертификаты от Let’s Encrypt:

..и меняем настройки обновления эти сертификатов в crontab на:

Prosody сам может сгенерировать самоподписанные сертификаты. Для этого ему понадобится пакет:

Далее переходим в директорию /etc/prosody и скачиваем хранилище модулей:

Эти команды установят утилиту управления версиями, скачают хранилище модулей и в конце попробуют это хранилище обновить. Расположение папок с плагинами описывается директивой plugin_paths. Вы можете сохранить их в любом удобном для вас месте.

Для работы плагина http_upload нужно создать папку для временных файлов (если будете создавать ее в другом месте, то поправьте в основном конфиге http_upload_path):

Плагин http_upload имеет ограничение на загружаемые файлы в 10 Мб. Поэтому, чтобы обмениваться файлами большего размера я испульзую плагин http_upload_external. Для этого плагина нужен настроенный веб сервер. Как настроить веб сервер  я описывать не буду (мануалов на эту тему полно). Итак, настраиваем  http_upload_external:

  1. Из папки prosody-modules/mod_http_upload_external копируем файл share_v2.php в папку /data/www/im.yourdomain.ru/html/
  2. Создаем папку в любом месте удобном на сервере, но не в папке html папку /home/prosody_ext_upload и даем на нее все права пользователю apache.
  3. Делаем юзера apache владельцем файла share_v2.php.
  4. Редактируем файл share_v2.php:

В конфиге включены все необходимые плагины и настройки к ним.

И последнее – создаем юзеров и запускаем сервер:

Посмотреть все команды:

Посмотреть список текущих пользователей в бд:

Порты, которые нужно открыть в фаерволле (tcp): 5269, 5222, 5280, 5281.

Клиенты: Android (Conversations, Pix-Art Messeger), iOS (ChatSecure), MacOS (Monal, Siskin), Windows (Gajim, PSI+).

 

Comments are closed.