Установка и настройка сервера Jabber на платформе Linux::Журнал СА 4.2003
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Работа с Debian  

О Linux с любовью или Debian: через знание к любви

Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для

 Читать далее...

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

 Читать далее...

Опрос  

Облачные инструменты для разработчиков

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

 Читать далее...

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

 Читать далее...

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 7473
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7734
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 5101
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3293
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 4090
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 4094
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6595
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3440
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3712
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7583
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10954
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12673
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14434
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9392
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7352
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5640
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4855
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3709
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3391
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3611
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Установка и настройка сервера Jabber на платформе Linux

Архив номеров / 2003 / Выпуск №4 (5) / Установка и настройка сервера Jabber на платформе Linux

Рубрика: Администрирование /  Продукты и решения

СЕРГЕЙ ИНДЛИН

Установка и настройка сервера Jabber

на платформе Linux

Что же такое Jabber? Это открытый XML-протокол, предназначенный для мгновенного обмена сообщениями между узлами в Интернете.

Коротко перечислю основные преимущества Jabber:

  • открытый протокол: над развитием Jabber работает большое количество людей, доступны различные реализации и библиотеки. Все спецификации и документация находятся в свободном доступе;
  • Jabber – децентрализованная система, не зависящая от единого сервера или компании. Любой пользователь может поставить свой сервер и подключить его к открытой сети или ограничить его работу локальной сетью предприятия;
  • безопасность: большинство реализаций серверов поддерживают связь с клиентами по шифрованному каналу SSL, возможно шифрование сообщений с использованием gpg;
  • поддержка unicode. Для нас это означает отсутствие проблем, связанных с различными кодировками русского языка;
  • функциональность сервера можно расширять с помощью дополнительных модулей. Например, для связи с другими системами IM можно использовать агентов icq, yahoo, aim, msn. Для поддержки многопользовательских конференций также существует модуль, возможна связь с irc-сетями.

На странице http://www.jabber.org/admin/serverlist.php можно найти список доступных реализаций серверов. Здесь я опишу установку и настройку свободного сервера Jabber, распространяемого под лицензией GNU GPL – jabberd 1.4.2.

Несколько слов об идентификаторах. Jabber использует систему имен, аналогичную адресу электронной почты: name@host.domain, в отличие от icq, где применяются цифровые идентификаторы. Например, мой JID (Jabber ID) – serj@abc92.ru.

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

На домашней странице проекта http://jabberd.jabber studio.org можно скачать исходники сервера или готовые пакеты для различных систем. Для дистрибутивов ALT Linux сервер Jabber можно установить из репозитария Sisyphus командой apt-get install jabber.

При сборке из исходников сервер не устанавливается в системные каталоги, а стартует прямо из каталога сборки. Развернем исходный тарбол в директорию, например, /usr/local/jabber. Для сборки в системе должны присутствовать, помимо обычной сборочной среды (gcc, make, библиотеки и т. д.), библиотеки libpth, libpth-devel, libssl, openssl-devel (в разных системах названия могут немного отличаться).

Заходим в каталог /usr/local/jabber и даем команду:

./configure --enable-ssl

Внимательно читаем вывод. Вначале должна быть строка «Searching for SSL... Found». Если все хорошо, даем команду make и ждем, пока соберется сервер. После успешной сборки приступаем к конфигурированию.

Если ваша сеть защищена firewall, надо учесть, что Jabber-сервер использует порт 5222 (5223 ssl) для связи с клиентами и порт 5269 для связи между серверами. То есть если вы хотите, чтобы клиенты извне могли использовать ваш сервер, надо открыть порты 5222 и 5223. Если вы хотите, чтобы пользователи вашего сервера могли общаться с пользователями других серверов, надо открыть порт 5269.

При возникновении проблем стоит прочитать руководство администратора, расположенное по адресу: http://www.jabber.org/admin/adminguide.html.

Настройка сервера

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

Итак, открываем в удобном текстовом редакторе файл /usr/local/jabber/jabber.xml и внимательно читаем комментарии. Вот что можно поменять для начала:

  • тег host – имя сервера. Если вы хотите общаться с пользователями других серверов, или клиенты подключаются через Интернет, это имя должно быть зарегистрировано в DNS. Для сборки ALT Linux определяется в файле /etc/jabber/jabber.cfg;
  • vCard – описание нашего сервера;
  • welcome – сообщение, которое будет посылаться новым пользователям;
  • cекция admin – здесь надо задать локальные идентификаторы администраторов (предварительно раскомментировав секцию). Имена в теге read будут получать административные сообщения (например, о регистрации новых пользователей), а в теге write дополнительно могут делать рассылки и задавать сообщение дня;
  • update – проверять обновления сервера. Спокойно можно закомментировать.

Теперь стоит настроить ssl-подключение к серверу для защиты трафика между клиентами и сервером. Для генерации сертификата используем следующий скрипт (http://www.jabber.org/admin/adminguide.html#security-ssl):

OPENSSL=/usr/bin/openssl

## This generates the cert and key

## The key will be valid for 3650 days.

## Be sure to enter the FQDN of your Jabber

## server as the «Common Name».

$OPENSSL req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out key.pem

## This will remove the passphrase

$OPENSSL rsa -in privkey.pem -out privkey.pem

## Put it all together

cat privkey.pem >> key.pem

## Cleanup

rm privkey.pem 

При генерации ключа в качестве «Common Name» необходимо использовать имя Jabber-сервера.

После того как файл с ключами готов, надо разрешить в конфиге Jabber-сервера использовать ssl-порт. В файле /usr/local/jabber/jabber.xml находим секцию io и в ней раскомментируем секцию ssl, указав полный путь к файлу сертификата: /usr/local/jabber/key.pem, а в секции pthcsock надо раскомментировать строку ssl и задать ip для ssl-порта.

Ну вот, теперь можно попробовать запустить сервер. Из каталога /usr/local/jabber даем команду:

jabberd/jabberd -D

и смотрим на отладочную информацию. Берем любого клиента (под Windows я рекомендую jajc, под Linux – tkabber) и пытаемся подключиться к серверу. При первом подключении должно появиться предложение создать новую учетную запись.

Посмотрим, какие же сервисы у нас есть. Для этого в клиенте открываем браузер ресурсов и видим только один сервис – адресная книга jabber.org. Давайте настроим некоторые дополнительные сервисы на нашем сервере. Подробнее об администрировании сервисов можно прочитать на странице: http://www.jabber.org/admin/componentadminguide.html.

Адресная книга

Для установки на ALT Linux достаточно дать команду:

apt-get install jabber-jud

Для других дистрибутивов можно скачать jud (jabber user directory) со страницы http://jabberd.jabberstudio.org/downloads. Скачав исходник, развернем его прямо в директорию /usr/local/jabber. Переходим в директорию /usr/local/jabber/jud-0.4 и даем команду make. После успешной сборки читаем файл README и копируем нужные секции в основной конфигурационный файл /usr/local/jabber/jabber.xml.

Будьте внимательны: секцию «service id=’jud’» надо скопировать в корневой раздел (внутри тега jabber), а «service type=’jud’» – в раздел browse. Меняем имя хоста на реальное в обеих секциях, правим путь к jud.so на наш – ./jud-0.4/jud.so и по желанию меняем vCard.

Теперь можно перезапустить сервер и наслаждаться корпоративной адресной книгой.

Конференции

Новый протокол конференций muc поддерживается агентом muconference-0.3.tar.gz, доступным на странице http://mu-conference.jabberstudio.org. Скачиваем архив и разворачиваем его в директорию jabber. Переходим в новую директорию /usr/local/jabber/mu-conference и даем команду make. После успешной сборки внимательно читаем файл README и копируем оттуда нужные секции в конфигурационный файл Jabber сервера jabber.xml.

Не забудьте поменять localhost.localdomain на реальное имя хоста. Если вы хотите, чтобы конференции были доступны из Интернета, зарегистрируйте имя conference.host.domain в службе DNS.

Теперь можно перезапустить сервер и с помощью браузера ресурсов убедиться, что новый сервис доступен на сервере. В клиенте попробуйте зайти в комнату и настроить ее свойства. Комнату можно сделать постоянной, приватной, запароленной и т. д. При разговоре в комнате работают команды с префиксом «/» типа /me, /smile и множество других.

В клиенте tkabber на эти команды работает дополнение клавишей tab.

ICQ-транспорт

Для Jabber есть два транспорта icq – icqv7-t и jit. Jit мне показался более продвинутым. Он поддерживает перекодировку через параметр в конфигурационном файле (для icqv7-t нужно патчить исходный код), работает поиск icq-контактов, кроме того, jit более стабильный, чем icqv7-t.

Для установки скачиваем архив с исходным кодом на странице http://jit.jabberstudio.org и раскрываем его. Jit идет со своей версией Jabber-сервера и запускается как отдельный процесс. Даем команду ./configure и make. Если все собралось без ошибок, копируем файлы jabberd/jabberd, jit/jit.so в любую директорию, например, /usr/local/jabber/jit. Туда же копируем файл jabber-icq.example и переименовываем его в jabber-icq.xml.

Теперь надо отредактировать этот файл, указав свои имена сервера. Так как в нашем случае этот сервис будет выполняться на той же машине, что и основной сервер Jabber, в качестве ip указываем 127.0.0.1. В теге secret задаем пароль для связи с основным сервером Jabber. Протокол icq ничего не знает про unicode, а в нашей стране исторически сложилось использование кодировки windows-1251 для icq. Поэтому сервису jit необходимо знать, в какую кодировку преобразовывать сообщения из/в unicode. Эта кодировка задается тегом charset, который надо установить в windows-1251.

Внимательно читаем файл INSTALL в директории /usr/local/jabber/jit/jit и копируем из него нужные секции в конфиг jabber.xml основного сервера. Помните об иерархии тегов. Секция «service id=’icq’» должна быть вложена в тег jabber конфига, а секция «service type=’icq’» в раздел browse. Меняем, как обычно, имена сервера, в поле ip задаем 127.0.0.1, secret – тот же, что и в jabber-icq.xml и порт 5555. Эти параметры определяют, по какому порту основной сервер будет ждать связи от jit-процесса.

Перезапускаем основной сервер Jabber и запускаем отдельным процессом jit:

/usr/local/jabber/jit/jabber -H /usr/local/jabber/jit/ -c

/usr/local/jabber/jit/jabber-icq.xml

В клиенте открываем браузер ресурсов и находим ICQ Link. Пытаемся зарегистрироваться. В качестве имени вводим свой числовой номер icq. Если все хорошо, то в ростере должен появиться агент с именем ICQ Transport. Теперь можно добавлять контакты icq в форме uin@icq.host.domain, искать через сервис ICQ Link/search или импортировать существующие контакты. Кстати, если вы использовали раньше icq с сохранением контактов на сервере, то jit их автоматически импортирует.

Я надеюсь, что эта статья облегчит вам установку собственного сервера Jabber. Не так уж это и сложно. Дополнительно можно установить агентов доступа к сетям aim, jahoo, msm – ведь Jabber является открытым, расширяемым решением для взаимодействия.

В качестве информации на русском языке рекомендую сервер http://www.jabber.ru, на этом же сервере можно свободно зарегистрироваться. И успешного Jabber!


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru