Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

Установка на сервер

John Smith edited this page Feb 12, 2019 · 1 revision

В инструкции описан метод установки транспорта на Debian-based дистрибутивы (Debian, Ubuntu, Mint, etc). Большинство пунктов инструкции (за исключением установки git и python) верны для всех дистрибутивов.


Прежде всего, убедитесь что в системе присутствуют Python 2.7 и система контроля версий git. Если нет, то поставьте:

sudo apt-get install git

sudo apt-get install python2.7

Затем нужно скопировать исходный код из репозитория:

git clone https://github.com/mrDoctorWho/vk4xmpp.git

После этого в папке vk4xmpp появится исходный код транспорта. Перейдём в папку транспорта:

cd vk4xmpp

Затем нужно переименовать и заполнить файл конфигурации. Выполняем:

cp Config_example.txt Config.txt

Теперь можно его заполнить. Откройте его в текстовом редакторе и заполните необходимые поля. Каждое поле достаточно подробно прокомментировано, но, на всякий случай, мы рассмотрим параметры подключения чуть ниже.

Добавление в systemd

В файле vk4xmpp.service вместо пропусков укажите свое расположение файлов транспорта

nano /etc/systemd/system/vk4xmpp.service

[Unit]
Description=VK4XMPP is an Vk.com gateway for Jabber/XMPP
Requires=network.target
After=network.target

[Service]
Type=simple
PIDFile=/.../vk4xmpp/vk4xmpp.pid
ExecStart=/usr/bin/env python2 /.../vk4xmpp/gateway.py
Restart=always

[Install]
WantedBy=multi-user.target
Alias=vk4xmpp.service

systemctl daemon-reload

systemctl enable vk4xmpp

systemctl start vk4xmpp

Внимание: в статье рассматривается пример настройки транспорта vk.simpleapps.ru на хосте simpleapps.ru. Все упоминания simpleapps.ru в приведенных примерах должны быть заменены на соответствующие вашим доменам адреса.

Конфигурация VK4XMPP

Транспорт обладает широкими возможностями конфигурирования. Здесь мы рассмотрим только параметры подключения и их разницу для разных серверов. Более подробное описание должно быть на отдельной странице.


Ejabberd

Версия 2.x:

Открываем файл конфигурации. Обычно он находится по адресу /etc/ejabberd/ejabberd.cfg. Находим раздел LISTENING PORTS и добавляем строки:

 {5556, ejabberd_service, [ 
     {ip, {127, 0, 0, 1}},
         {access, all},
         {shaper_rule, fast},
         {host, "vk.simpleapps.ru", [{password, "secret"}]}
  ]},

Версия 13+:

/etc/ejabberd/ejabberd.yml

listen:
  ...
  -
    port: 5556
    module: ejabberd_service
    ip: "127.0.0.1"  
    access: all
    shaper_rule: fast
    hosts:
      "vk.simpleapps.ru":
        password: "secret"

VK4XMPP

Host = "vk.simpleapps.ru" # Хост, на котором у Вас будет транспорт
Server = "localhost" # Адрес, к которому будет подключаться транспорт. Это может быть удалённая машина.
Port = 5556 # Порт подключения.
TransportID = "vk.simpleapps.ru" # Jabber ID транспорта

OpenFire

Конфигурация осуществляется через веб-интерфейс. Скриншот доступен здесь.

В админ-панели переходите в Server Settings, затем в External Components. Выбираете Service Enabled -> Enabled. Ниже следует указать Allowed to connect -> Whitelist, а ещё ниже добавить поддомен vk.

VK4XMPP

Есть два типа конфигурации для OpenFire: для старых и для новых версий. Когда был изменён код работы с транспортами неизвестно, поэтому решайте сами, какая конфигурация вам подходит.

Host = "vk.simpleapps.ru" # Хост, на котором у Вас будет транспорт. Для новых версий это только поддомен (например vk).
Server = "localhost" # Адрес, к которому будет подключаться транспорт. Может ли это быть удаленная машина или нет, неизвестно.
Port = 5275 # Порт для подключения. Может быть другим в вашем случае.
TransportID = "vk.simpleapps.ru" # Jabber ID транспорта.
ALIVE_KEEPER_ENABLED = True # Включение плагина alive keeper. Новые версии OpenFire отключают транспорт через некоторое время неактивности. Плагин помогает этого избежать (хотя он предназначен для другого).

Prosody

Находим строку VirtualHost с адресом вашего сервера (например, simpleapps.ru) и добавляем под ней:

Component "vk.simpleapps.ru"
component_secret = "secret"

VK4XMPP

Host = "vk.simpleapps.ru" # Хост, на котором у Вас будет транспорт
Server = "simpleapps.ru" # Адрес, к которому будет подключаться транспорт. Это может быть удалённая машина.
Port = 5347 # Для Prosody нельзя указать другой порт
TransportID = "vk.simpleapps.ru" # Jabber ID транспорта

Обратите внимание, что в примерах используется домен simpleapps.ru. Это сделано только для примера. У вас будет другой домен. Также, если вы используете mrim-транспорт, то следует заменить порт транспорта vk4xmpp.