The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Jabber в качестве корпоративного стандарта обмена сообщениями (jabber icq)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: jabber, icq,  (найти похожие документы)
From: Маркелов Андрей <amarkelov@yandex.ru> Newsgroups: email Date: Mon, 24 Dec 2003 14:31:37 +0000 (UTC) Subject: Jabber в качестве корпоративного стандарта обмена сообщениями Оригинал: http://www.markelov.net/jabber1.html Jabber в качестве корпоративного стандарта обмена сообщениями Введение Когда возникла необходимость в корпоративной системе быстрого обмена сообщениями (IM), в первую очередь было обращено внимание в сторону открытого стандарта Jabber, использующего "модный" сейчас XML. Подробнее о Jabber-е можно почитать на сайте http://www.jabber.org, я же опишу непосредственно процесс инсталляции. В качестве платформы для инсталляции я взял уже имеющийся у меня и исправно работающий на благо организации Red Hat Linux 7.3. В качестве сервера - последний доступный на момент написания статьи релиз Jaberd2. Адрес проекта в интернет - http://jabberd.jabberstudio.org Последним оказался "релиз кандидат 2" (файл jabberd-2.0rc2.tar.gz). В документе "Quick Configuration Guide" разработчики указали минимальные требования для запуска сервера: Berkeley DB version 4.1.24 (или выше), в качестве БД для хранения информации о пользователях, и пакет OpenSSL, минимальной версии 0.9.6b. Однако, в ходе установки, выяснилось что Jaberd2 отказывается устанавливаться при работающем OpenSSL версии меньшей чем 0.9.6d. В состав моего Red Hat 7.3 входили пакеты версий ниже указанных, поэтому вначале пришлось выполнить требования разработчиков по апгрейту существующих пакетов. Если на Вашей машине уже установлены требуемые версии, то следующие два раздела можно пропустить. Кроме того, в качестве БД можно использовать не только Berkeley DB, но и MySQL или PostgreSQL. Berkeley DB выбрана мною, как требующая к себе наименьшее внимание. Ставим OpenSSL По адресу проекта http://www.openssl.org забираем последнюю версию пакета (openssl-0.9.7c.tar.gz). Далее - разархивируем, либо при помощи mc, либо командой tar -zxvf . Потом заходим в получившийся каталог и отдаем последовательно команды: ./config --prefix=/usr shared make make test make install Последнюю команду необходимо выполнять в качестве суперпользователя. При возникновении ошибок на каком либо этапе придется обратиться к документации на сайте проекта OpenSSL. Кроме того, если вы обновляете OpenSSL, учтите, что возможно, какие-то работающие в настоящий момент у вас сервисы завязаны на предыдущую версию, и они после обновления могут перестать работать корректно. За подробностями - опять же на http://www.openssl.org Ставим Berkeley DB Качаем последнюю версию с сайта http://www.sleepycat.com. Мне достался файл db-4.2.52.tar.gz. Аналогично предыдущему фалу разархивируем его, и заходим в подкаталог build_unix. Далее: ../dist/configure make make install В случае некорректной отработки установки - добро пожаловать на вышеуказанный сайт. Ставим Jabberd2 Наконец-то добрались до установки непосредственно jabberd2. Я инсталлировал в соответствии с "Quick Configuration Guide", но кое-где приходилось в процессе установки вносить коррективы. Создаем пользователя (и группу), из под которого будем запускать сервер: su groupadd jabber useradd -g jabber jabber Создаем директории для базы данных, логов и PID-файлов: mkdir -p /usr/local/var/jabberd/db mkdir -p /usr/local/var/jabberd/log mkdir -p /usr/local/var/jabberd/pid Меняем пользователя созданных каталогов: chown -R jabber:jabber /usr/local/var/jabberd Качаем и разархивируем исходники Jabberd2, с сайта, указанного в начале статьи. Заходим в созданный после разархивирования каталог, и даем команду: ./configure --enable-authreg=db --enable-storage= db -with-berkeley-db=/usr/local/BerkeleyDB.4.2 Последний ключ пришлось поставить, потому что, jabberd2 пока "не обучен" искать каталоги BerkeleyDB версии 4.2 самостоятельно. Далее выполняем команды: make make install В случае успешной отработки, мы получаем в /usr/local/bin бинарники, а в /usr/local/etc/jabberd конфигурационные файлы сервера Jabberd2. Заходим пользователем jabber и пробуем запустить сервер скриптом jabberd: su jabber /usr/local/bin/jabberd Если скрипт "вылетает" с ошибкой, попробуйте запустить его с ключем "-D". Кроме того в модули сервера пишут сообщения о ходе загрузки в /var/log/messages. На этом этапе уже можно попробовать зарегистрироваться и зайти на сервер клиентом (о клиентах далее), и посмотреть лог. Выглядеть это должно примерно так: ... C2S : Fri Dec 19 14:33:47 2003 [notice] [0.0.0.0, port=5222] listening for connections SM : Fri Dec 19 14:33:47 2003 [notice] connection to router established SM : Fri Dec 19 14:33:47 2003 [notice] ready for sessions C2S : Fri Dec 19 14:33:47 2003 [notice] ready for connections C2S : Fri Dec 19 14:34:28 2003 [notice] [5] [192.168.0.13, port=3460] connect C2S : Fri Dec 19 14:34:28 2003 [notice] [5] created user: user=test; realm=host.ru SM : Fri Dec 19 14:34:28 2003 [notice] created user: jid=test@host.ru C2S : Fri Dec 19 14:34:28 2003 [notice] [5] registration succeeded, requesting user creation: jid=test@host.ru C2S : Fri Dec 19 14:34:28 2003 [notice] [5] [192.168.0.13, port=3460] disconnect C2S : Fri Dec 19 14:34:38 2003 [notice] [5] [192.168.0.13, port=3461] connect C2S : Fri Dec 19 14:34:38 2003 [notice] [5] auth succeeded: username=test,resource=Miranda SM : Fri Dec 19 14:34:39 2003 [notice] session started:jid=test@host.ru/Miranda ... В качестве имени хоста при регистрации укажите свой IP адрес, а портом по умолчанию, на котором "слушает" сервер - 5222. Настройка Jabberd2 Все конфигурационные файлы - это файлы в формате xml. Их можно редактировать любым текстовым редактором, например vi, или редактором, встроенным в mc. В папке /usr/local/etc/jabberd расположены по одному конфигурационному файлу на каждый модуль сервера: router - осуществляет связи между всеми модулями. s2s (Server to Server) - отвечает за связь с другими, внешними серверами jabber-а resolver - разрешает имена для модуля s2s. sm - отвечает за доставку сообщений и другие функции c2s - отвечает за взаимодействие с клиентами На http://www.jabberdoc.org/jabberd_guide вы можете ознакомится со схемой, на которой наглядно представлен процесс взаимодействия различных компонентов сервера. Что необходимо в конфигах исправить. Во-первых, нужно указать что мы работаем не с MySQL, как установлено по умолчанию, а с Berkeley DB. Правим sm.xml. В секции <storage> ищем строку <driver>mysql</driver>, и меняем mysql на db. В файле с2s.xml ищем секцию <authreg>, строка <module>mysql</module>. Меняем на db. Далее - проходим по конфигурационным файлам c2s и sm, и где необходимо, меняем прописанные по умолчанию localhost на имя вашего домена. В первом - после заголовка "Local network configuration", во втором - Session manager configuration. Выглядеть в файле это должно таким образом: <id>host.ru</id>. Определим пользователя администратора (он может видеть всех он-лайн пользователей, посылать "сообщение дня" и т.д.). В sm.xml ищем admin@lsomedomain.com и меняем на vasya-pupkin@host.ru. В принципе, для внутреннего, закрытого извне сервера вышеописанной настройки достаточно. Если Вы хотите чтоб система была внутрикорпоративной, не оставляйте на межсетевом экране открытыми порты, по которым работает Jabberd. Кроме того, в c2s.xml Вы можете указать с каких IP-адресов можно принимать запросы, а от каких нельзя. По умолчанию разрешены все. В целях безопасности неплохо было бы изменить установленный по умолчанию пароль, для взаимодействия между серверам, и никогда не запускать сервер Jabber из-под суперпользователя. Клиенты Jabber Пользуясь для обмена сообщениями по протоколу ICQ клиентом Miranda (http://www.miranda-im.org), я естественно продолжил им пользоваться и после начала работы с Jabber. Вообще, список большого числа клиентов (я насчитал 17 штук) можно найти по адресу http://www.jabber.org/user/clientlist.php. Из Jabber + CenterICQ 4.9.8 (http://konst.org.ua/ru/centericq) получается связка, которую можно использовать в командных файлах. Данной командой можно из скрипта или bat-файла отослать сообщение нужному пользователю: echo test | centericq.exe -s msg -p jabber -t andrew@host.ru Подобным образом можно заменить команды net send и send, соответственно Windows и Novell. А. Маркелов. 20.12.2003

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, Magicus (?), 15:41, 23/02/2006 [ответить]  
  • +/
    Народ при компиляции jabberd-2.0s10 вот так вот ругается!
    Checking for mysql_init in -lmysqlclient... no
    configure: error: MySQL clientlibraris not found

    Чего ему нехватает?

     
     
  • 2.3, furs (?), 17:05, 03/04/2006 [^] [^^] [^^^] [ответить]  
  • +/
    ./configure --enable-mysql --enable-ssl --enable-idn --with-extra-include-path=/usr/local/include #<--здесь указать дирректорию для заголовочных файлов# --with-extra-library-path=/usr/local/lib #<--здесь для библиотечных файлов клиента#
    Я вообще компилил исходник и у меня заголовки лежали в /usr/local/mysql/local/mysql а библиотеки клиента /usr/local/mysql/lib/mysql
     

  • 1.2, Аноним (2), 00:24, 01/03/2006 [ответить]  
  • +/
    Библиотек к MySQL. Написано же!

    Либо в конфиге явно скажи, что тебе не нужен MySQL, либо сперва его поставь, а уж потом ставь Жабер.

     
  • 1.4, z1. (??), 06:37, 19/02/2007 [ответить]  
  • +/
    Еще бы web admin к нему, для добавления/удаления пользователей.
     
  • 1.5, Артм (?), 12:55, 10/06/2008 [ответить]  
  • +/
    Качаем и разархивируем исходники Jabberd2, с сайта, указанного в
       начале статьи. Заходим в созданный после разархивирования каталог, и
       даем команду:

    ./configure --enable-authreg=db --enable-storage=
    db -with-berkeley-db=/usr/local/BerkeleyDB.4.2

    после этой команды выдает:
    configure: error: Expat not found
    Люди добрые, в линуксахя нуб, но все же прошу Вас объяснить понятным языком че надо делать?

     
  • 1.6, lk29 (?), 19:33, 04/07/2008 [ответить]  
  • +/
    так expat поставить нужно
     
  • 1.7, Ян Середа (?), 11:16, 22/01/2009 [ответить]  
  • +/
    Проект переехал:
    http://jabberd2.xiaoka.com/
     
  • 1.8, Ян Середа (?), 11:20, 22/01/2009 [ответить]  
  • +/
    Вместо tar -zxvf прийдется использовать tar -xvf т.к. архив не сжат.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру