Практичне використання технології Jabber: Частина 1. Встановлення і конфігурація Jabber-сервера OpenFire і Jabber-клієнта Spark

  1. Серія контенту:
  2. Цей контент є частиною серії: Практичне використання технології Jabber
  3. Огляд протоколу Jabber
  4. Вибір відповідного IM-рішення
  5. Налаштування Linux-сервера
  6. Малюнок 1. Відключення графічного інтерфейсу
  7. Малюнок 2. Конфігурація мережевих інтерфейсів
  8. Установка і настройка OpenFire
  9. Лістинг 1. Установка сервера OpenFire
  10. Малюнок 3. Адміністративний інтерфейс сервера OpenFire
  11. Малюнок 4. Налаштування параметрів підключення до БД
  12. Малюнок 5. Інтеграція з сервером каталогів
  13. Малюнок 6. Інтеграція з сервером каталогів
  14. Малюнок 7. Зведена інформація про сервер
  15. Малюнок 8. Зведена інформація про користувачів
  16. Малюнок 9. Інформація про конкретного користувача
  17. Малюнок 10. Контроль видимості групи
  18. Малюнок 11. Створення нового чату
  19. Малюнок 12. Форма для управління плагінами
  20. Малюнок 13. Форма для управління плагінами
  21. Установка і настройка Jabber-клієнтів
  22. Установка Spark під Windows
  23. Установка Spark під Linux
  24. Малюнок 14. Форма для підключення до Jabber-сервера
  25. Малюнок 15. Активний сеанс в Jabber-клієнта Spark
  26. висновок
  27. Ресурси для скачування

Практичне використання технології Jabber

Серія контенту:

Цей контент є частиною # з серії # статей: Практичне використання технології Jabber

https://www.ibm.com/developerworks/ru/library/?series_title_by=**auto**

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: Практичне використання технології Jabber

Слідкуйте за виходом нових статей цієї серії.

IM-сервіси (instant messaging - додатки для миттєвого обміну повідомленнями) міцно вросли в корпоративну середу багатьох компаній. Однак в деяких компаніях використання IM-сервісів заборонено, так як це створює додаткову проблему з точки зору інформаційної безпеки, а також може призвести до нецільового використання робочого часу. Але не можна заперечувати і той факт, що застосування такого роду систем підвищує ефективність роботи окремих співробітників і організації в цілому.

Технологія Jabber (XMPP) належить до великого класу IM-рішень, побудованих на основі децентралізованої клієнт-серверної архітектури і використовують відкриті протоколи. Так як в даній реалізації централізований сервер відсутній за умовчанням, то будь-який користувач може запустити свій власний XMPP-сервер. Принцип взаємодії серверів багато в чому збігається з принципом взаємодії серверів електронної пошти.

Перша згадка про протокол Jabber було зафіксовано 4 січня 1999 року. Цей день і прийнято вважати днем ​​народження сервісу, який заснував Джеремі Міллер.

Огляд протоколу Jabber

Хоча XMPP не прив'язаний до якої-небудь мережевої архітектури, але реалізація сеансу взаємодії здійснюється за схемою клієнт-сервер. Клієнт повинен підключитися до сервера через протокол TCP / IP, а самі сервери взаємодіють один з одним за допомогою TCP-транспорту. За замовчуванням для зв'язку клієнта з сервером використовується порт 5222 (стандартизований IANA "xmpp-client"), а для взаємодії між серверами використовується порт 5269.

Jabber (XMPP) - це розширюваний протокол на основі XML для обміну повідомленнями та даними про присутність. Jabber дозволяє реалізовувати ПО для обміну повідомленнями між двома будь-якими мережевими кінцевими точками в режимі, близькому до реального часу.

Відмінною особливістю Jabber є те, що він дозволяє використовувати власні сервери в якості шлюзів між іншими IM-протоколами. Однак в деяких випадках через закритість комерційних IM-систем дана функціональність може працювати нестабільно.

У мережі Jabber кожен користувач отримує унікальний ідентифікатор, так званий JID (Jabber ID). Цей ідентифікатор містить ім'я користувача і доменне ім'я сервера, на якому він зареєстрований (наприклад, [email protected]).

Безсумнівним плюсом є те, що Jabber-сервер можна ізолювати від публічних мереж і використовувати його тільки в локальній мережі компанії. У протоколі XMPP при необхідності забезпечується захист потоку інформації від фальсифікації і підслуховування і підтримується шифрування, що підвищує рівень його захищеності. Крім цього клієнти можуть самостійно застосовувати PGP / GPG-шифрування всередині протоколу.

Напевно, головним недоліком протоколу є те, що передана інформація вкрай надлишкова, так як більше 70% трафіку XMPP складають статусні повідомлення про присутність. Ще однією проблемою може виявитися те, що за допомогою даного протоколу неможливо передавати не модифіковані бінарні дані. Тому для передачі файлів доводиться використовувати додаткові протоколи.

Вибір відповідного IM-рішення

Як приклад буде розглядатися середня компанія зі штатом в 160 службовців з розгалуженою структурою, що складається з безлічі офісів і робочих місць, віддалених від головного підрозділу. Організація голосового зв'язку для всіх співробітників компанії вимагає значних фінансових витрат, тому організувати телефонне спілкування виявляється не завжди можливим. З іншого боку, зв'язок з віддаленими підрозділами необхідна для організації продуктивної роботи, обміну інформацією і взаємодії співробітників один з одним. Використання IM-системи на основі Jabber буде зручним і доцільним вибором для вирішення цих завдань.

Застосування протоколу XMPP в корпоративної мережі дозволяє досягти прийнятного рівня безпеки в першу чергу за рахунок установки корпоративного сервера Jabber. Це дає можливість обмежити трафік повідомлень корпоративною мережею, а для співробітників, які не мають доступу до корпоративної мережі, можна організувати захищений канал для зв'язку з центральним офісом. Також протокол XMPP дозволяє реалізувати подібне рішення з використанням межсерверних зв'язків (в тому числі з використанням SSL).

Так як передбачається, що IM-система буде одночасно обслуговувати максимум 150 клієнтів, то немає необхідності в дорогому серверному обладнанні. Для подібної навантаження буде досить простого офісного системного блоку зі збільшеним об'ємом пам'яті. В якості операційної системи буде використовуватися Linux-дистрибутив OpenSUSE, який поширюється під ліцензією GPLv2, так що його можна вільно встановлювати і використовувати.

З усього різноманіття Jabber-серверів був обраний OpenFire, так як це багатоплатформовий Jabber-сервер, написаний на мові Java і підтримує велику кількість клієнтів: Miranda IM, QIP Infium, Spark, Trillian Pro, Gaim, Panddion, Psi, Exodus, Pidgin, Kopete .

До його особливостей варто віднести зручний і функціональний Web-інтерфейс. Також в сервер OpenFire реалізована інтеграція з Active Directory і можливість розширення функціоналу за рахунок величезної кількості плагінів. Повідомлення і профілі користувачів будуть зберігатися в базі даних, робота з якої реалізована через JDBC. Тому в якості БД можна використовувати будь-яку реляційну СУБД з підтримкою JDBC або вбудовану в OpenFire СУБД HSQLDB.

Налаштування Linux-сервера

Описувати весь процес установки OpenSUSE не має сенсу (цю інформацію можна знайти в безлічі джерел), тому варто зупинитися лише на кількох ключових моментах. Так як для розгортання IM-системи використовується не дуже потужний комп'ютер, то має сенс відмовитися від графічного інтерфейсу для підвищення продуктивності. Це можна зробити на етапі установки "Вибір робочого столу", як показано на малюнку 1.

Малюнок 1. Відключення графічного інтерфейсу
Практичне використання технології Jabber   Серія контенту:   Цей контент є частиною # з серії # статей: Практичне використання технології Jabber   https://www

Що стосується розмітки жорсткого диска, то OpenSUSE за замовчуванням пропонує створити окремий розділ для / home, але оскільки комп'ютер буде використовуватися виключно як сервер, то весь обсяг жорсткого диска можна віддати під кореневої каталог /. Для цього треба вибрати режим експертної настройки, видалити розділи / і / home і створити новий розділ, вказавши в якості точки монтування кореневої каталог /.

Після закінчення установки необхідно зайти в систему, щоб налаштувати мережеві інтерфейси і задати доменне ім'я комп'ютера. Для цього необхідно виконати команду # yast2 з правами суперкористувача root. Ця команда запустить центр управління системи, в якому треба буде вибрати пункт Мережеві Інтерфейси (Network Devices), а потім пункт Налаштування Мережі (Network Settings), як показано на малюнку 2. На цьому екрані задається доменне ім'я і прописуються основний шлюз і DNS-сервер (за потреби).

Малюнок 2. Конфігурація мережевих інтерфейсів

Перед установкою Jabber-сервера OpenFire на комп'ютер потрібно встановити СУБД MySQL. Всі необхідні пакети вже присутні в дистрибутиві OpenSuSe, тому досить виконати наступну команду:

#yast -i mysql

Після установки пакетів демон MySQL можна запустити за допомогою такої команди:

#service mysql start

і задати пароль суперкористувача (важливе зауваження: це привілейований для бази даних, а не операційної системи):

#mysqladmin -u root -p password rootpassword

де rootpassword - це новий пароль, на запит системи про введення пароля слід натиснути enter (за замовчуванням пароль не заданий).

Для створення нової бази даних необхідно підключитися до MySQL від імені щойно створеного суперкористувача root:

#mysql -u root -prootpassword (пароль вводиться після ключа -p без пробілів)

База даних створюється за допомогою такої команди:

mysql & gt; create database openfire;

Після цього можна переходити до налаштування сервера OpenFire.

Установка і настройка OpenFire

Перш за все необхідно завантажити відповідний дистрибутив сервера OpenFire, використовуючи менеджер закачувань wget, як показано в лістингу 1.

Лістинг 1. Установка сервера OpenFire

// створення тимчасового каталогу для завантаження #mkdir / temp // завантажити дистрибутив OpenFire в створений каталог #wget -P / temp http://www.igniterealtime.org/downloads/download-landing.jsp? file = openfire / openfire-3.7.0-1.i386.rpm // перейти в каталог, куди був завантажений дистрибутив OpenFire #cd / temp // запустити програму для установки OpenFire з rpm-пакету #rpm -Uvh openfire * .rpm / / запустити встановлений сервер openFire #service openfire start

Подальша настройка буде виконуватися через Web-інтерфейс, який ви бачите на малюнку 3, який за замовчуванням знаходиться на порту 9090 (HTTP) і 9091 (HTTPS).

Малюнок 3. Адміністративний інтерфейс сервера OpenFire

При першому запуску буде потрібно налаштувати основні параметри сервера, такі як мова інтерфейсу, доменне ім'я сервера, і підключення до бази даних. У пункті меню Установчі параметри бази даних необхідно вибрати стандартна БД і тип БД - MySQL. Після цього необхідно ввести параметри для підключення до раніше створеної БД, як показано на малюнку 4.

Малюнок 4. Налаштування параметрів підключення до БД

У наступній формі Налаштування профілю можна налаштувати інтеграцію з сервером каталогів, що дозволяє створити єдину обліковий запис для роботи з великою кількістю корпоративних додатків і сервісів. Як сервер каталогів буде використовуватися ActiveDirectory, тому необхідно провести настроювання підключення до сервера AD, як показано на малюнку 5. Також можна внести зміни в шаблони запитів Карта користувача (User Mapping) і Групове Розподіл (Group Mapping) для LDAP сервера.

Малюнок 5. Інтеграція з сервером каталогів

На наступному етапі необхідно задати користувача з каталогу ActiveDirectory в якості адміністратора OpenFire і перевірити аутентифікацію користувача через ActiveDirectory, як показано на малюнку 6.

Малюнок 6. Інтеграція з сервером каталогів

Якщо в ході роботи було виявлено будь-які проблеми, то для повторного запуску ініціалізації сервера, досить змінити у файлі /conf/openfire.xml значення параметра & lt; setup & gt; true & lt; / setup & gt; на & lt; setup & gt; false & lt; / setup & gt; .

Після завершення конфігурації можна підключитися до Jabber-сервера, використовуючи обліковий запис адміністратора, створену раніше. На головній сторінці адміністративного інтерфейсу буде виводитися інформація про поточний стан сервера і таблиця портів, використовуваних OpenFire. Всі налаштування розділені на п'ять груп: Сервер (Server), Користувачі і Групи (Users / Groups), Відкриті Сесії (Sessions), Чати (Group Chat) і Модулі (Plugins).

На вкладці Сервер, зображеної на малюнку 7, можна переглянути статистику і поточні настройки сервера, такі як дата і час, мова інтерфейсу, налаштування бази даних, і при необхідності змінити їх.

Малюнок 7. Зведена інформація про сервер

На вкладці Users / Groups, зображеної на малюнку 8, здійснюється управління користувачами і групами. На даній сторінці відображаються всі користувачі, зареєстровані на сервері, і стандартний набір операцій над ними (створення, редагування, видалення).

Малюнок 8. Зведена інформація про користувачів

Для переходу в меню User Properties (настройки користувача), зображене на малюнку 9, необхідно клацнути лівою кнопкою миші по імені користувача.

Малюнок 9. Інформація про конкретного користувача

Вибравши пункт меню Roster можна редагувати список контактів обраного користувача. Управління списками для груп здійснюється на вкладці Groups. При виборі групи в нижній частині екрана відображається список входять до неї користувачів. На цьому ж екрані задається видимість групи в списках контактів інших користувачів, як показано на малюнку 10.

Малюнок 10. Контроль видимості групи

OpenFire також дозволяє створювати групові чати, так як в сервер за замовчуванням вже вбудований сервіс Conference для створення групових чатів. Чати створюються в меню Room Administration (Адміністрування кімнат для чату), як показано на малюнку 11. Приклад відображення конференцій представлений на малюнку 15.

Малюнок 11. Створення нового чату

установка плагінів

Деякі з функцій OpenFire доступні тільки при встановленні відповідних плагінів, які можна скачати з офіційного сайту розробника . Установка плагінів виконується з консолі адміністратора на вкладці Plugin, зображеної на малюнку 12.

Малюнок 12. Форма для управління плагінами

Встановити плагін можна, вибравши jar-файл, завантажений з сайту, або перейшовши на вкладку Доступні плагіни і вибравши необхідний плагін. Після цього, якщо установка плагіна завершилася без помилок, буде показано повідомлення, зображене на малюнку 13. Новий плагін може не відразу з'явитися в списку встановлених, так що іноді потрібно почекати.

Малюнок 13. Форма для управління плагінами

Нижче наведено список найбільш часто використовуваних плагінів:

  • Broadcast - для розсилки масових повідомлень;
  • Search - дає можливість обробки пошукових запитів користувачів;
  • User Import Export - вивантаження і завантаження даних користувачів;
  • IM Gateaway - плагін для транспорту інших протоколів;
  • Registration - можливість самостійної реєстрації користувачів;
  • Monitoring service - включає можливість створення різних звітів і збір статистики сервера, а також збереження історії листування користувачів.

Установка і настройка Jabber-клієнтів

В мережі опубліковано безліч клієнтів для Jabber. В рамках даного циклу буде використовуватися багатоплатформовий клієнт Spark, тому що він орієнтований на роботу з сервером OpenFire, стабільний в роботі і має дружній інтерфейс. Так само перевагою зв'язки OpenFire і Spark є те, що всі плагіни клієнт отримує безпосередньо з сервера.

Дистрибутив Spark можна завантажити з офіційного сайту . На даний момент останньої є версія Spark 2.5.8.

Установка Spark під Windows

Для скачування доступні дві версії настановних пакетів: offline-версія, що включає в себе Java JRE, необхідну для роботи Spark, і online-версія. Якщо пакет Java JRE відсутня на комп'ютерах користувачів, то рекомендується використовувати offline-версію. Після завантаження досить запустити інсталяційний файл spark_2_5_8.exe і слідувати діям майстра установки.

Установка Spark під Linux

В даному випадку потрібно завантажити архів з кодом клієнта, а потім розпакувати архів за допомогою наступної команди:

# Tar -xvzf spark_2_5_8.tar.gz

Після цього в каталозі, що містить архів, з'явиться підкаталог Spark. Запуск клієнта здійснюється шляхом запуску сценарію Spark, який знаходиться в цьому каталозі.

При першому запуску програми буде показано вікно для введення імені користувача (частина JID'a до знака @), пароля і адреси сервера, зображене на малюнку 14. Також в цьому вікні можна встановити прапори для збереження пароля і автоматичного входу.

Малюнок 14. Форма для підключення до Jabber-сервера

При натисканні кнопки "Додатково" з'явиться вікно додаткових налаштувань, в якому можна вказати розширені параметри підключення: порт для підключення та налаштування проксі-сервера. Після натискання кнопки Підключення відкриється вікно клієнта, в якому буде відображатися попередньо налаштований список контактів і доступні конференції, як показано на малюнку 15.

Малюнок 15. Активний сеанс в Jabber-клієнта Spark

висновок

За допомогою вільно поширюваного програмного забезпечення можна організувати обмін повідомленнями по протоколу Jabber в корпоративної локальної мережі. Дане рішення може бути гнучко налаштована під конкретні потреби і без проблем інтегруватися в уже існуючу інформаційну систему. Особливу привабливість даного рішення додає те, що воно практично не вимагає скільки-небудь значущих економічних витрат на програмне забезпечення та обладнання.

Ресурси для скачування

Схожі теми

  • Практичне використання технології Jabber. Частина 1 .

Підпишіть мене на повідомлення до коментарів

Com/developerworks/ru/library/?
Jsp?