Установка легковажного сервера Jabber Prosody (v0
Prosody це легковажний jabber сервер, написаний мовою lua, що підтримує безліч ХЕР(XMPP Extension Protocol) стандартів, всі стандарти, що підтримуються, ви можете подивитися на цій сторінці. На запитання «чому lua» творець prosody Matthew Wild каже що це дуже проста мова, яка має швидкий інтерпретатор, що і є причиною такого незвичайного вибору.
У цій статті я встановлюватиму prosody на Debian 7. Спочатку нам потрібно додати в source.list потрібний репозиторій:
Після цього потрібно ключ застосувати:
Потрібно оновити репозиторій:
Далі буде 2 версії, по встановленню Prosody v0.9 та v0.10
Установка Prosody 0.9
Встановлення версії 0.9, наразі стабільної:
example.com потрібно замінити на свій домен скрізь, після чого потрібно згенерувати ключі:
Реєструємо нового користувача та перезапускаємо prosody:
_xmpp-client._tcp.example.com. 18000 IN SRV 0 5 5222 xmpp.example.com. _xmpp-server._tcp.example.com. 18000 IN SRV 0 5 5269 xmpp.example.com. jabber._tcp.example.com. 18000 IN SRV 0 5 5269 xmpp.example.com.
Як тільки дані застосовуватись повинен запрацювати зв'язок s2s і ви зможете підключитися до конференцій на jabber.ru або додати в контактлист і спілкуватися з людьми, які користуються будь-якими jabber серверами, що підтримують s2s.
Все працює добре, але залишилося налаштувати історію повідомлень, його за умовчанням не підтримує prosody, для цього потрібно поставити модуль з prosody-modules під назвою «mod_message_logging». Є два варіанти як можна встановлювати модулі в prosody: 1) Потрібно скопіювати lua файл із вмістом коду модуля в директорію /usr/lib/modules і додати конфіг врозділі modules_enabled:
2) Схиляти prosody-modules в будь-яку директорію, надати їй права на читання для користувача prosody і додати до конфіг таке:
Підключити можна також як стандартний mod_message_logging.
На цьому можна закінчити налаштування prosody сервера, але деякі захочуть підключити модуль з підтримкою ХЕР-0136 (синхроніація логів на клієнт), цей модуль називається mod_mam, але розробники говорять що з файлами цей модуль працює дуже повільно, та й комусь захочеться просто переключитися на БД, але у prosody 0.9 із цим є проблема. Поточна реалізація модуля для зберігання даних у SQL при запуску prosody за відсутності конекта до БД вивалюється критичною помилкою і prosody не запускається. Ця проблема гостро будує в debian і centos, тому що їх системи завантаження не дозволяють дочекатися повної ініціалізації бази даних для запуску потрібної програми, але в модулі sql2, який доступний в 0.10, зафіксували цю проблему, тому ми можемо встановити prosody 0.10 + mod_mam.
Установка Prosody 0.10
Налаштування версії 0.10, на даний момент beta:
Далі повторюємо все, як і з версією 0.9 з невеликими змінами. 1) Змінюємо місце зберігання даних з internal на sql2
2) Додаємо налаштування для зв'язку до бази. Перед потрібним рядком видаляємо "--" і змінюємо дані на свої для доступу до потрібної БД
3) Встановлюємо lua драйвер для зв'язку з потрібною базою даних, наприклад для sqlite
Модуль для логування в БД знаходиться в prosody-modules під назвою «mod_mam», правда на відміну від модуля, який пише історію повідомлень у файл, цей модуль зберігає лише особисті повідомлення. Якщо вам потрібна історія повідомлень із конференцій, вам потрібно буде встановити mod_message_logging або mod_message_loggind_diff_files. Є також модульзберігає повідомлення конференцій mod_mam_muc, але він зберігає тільки повідомлення з ваших локальних конференцій піднятих на вашому сервері (якщо такі будуть модуль може бути корисним). Є два варіанти як можна встановлювати модулі в prosody: 1) Потрібно скопіювати lua файл із вмістом коду модуля в директорію /usr/lib/modules і додати конфіг у розділі modules_enabled:
2) Схиляти prosody-modules в будь-яку директорію, надати їй права на читання для користувача prosody і додати до конфіг таке:
Після перезавантаження prosody у вас буде налаштовано історії повідомлень та конференцій у файлах та історія особистих повідомлень у БД із синхронізацією на клієнт.
А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»