пятница, февраля 08, 2008

Поднимаем jabber-сервер для внутренних нужд организации

Исходные данные:
  • сервер под управлением Ubuntu 7.10;
  • 20-25 пользователей, которым нужно обмениваться сообщениями.
Условия:
  • обмен сообщениями только в пределах организации (без транспортов и выхода в Интернет).
Итак, приступим. Посмотрим, что есть в репозиториях:
$ sudo apt-cache search jabber server
Из полученного списка программ (порядка 40) выбираем те, которые предположительно нам подойдут:
ejabberd - Distributed, fault-tolerant Jabber/XMPP server written in Erlang
jabber - An instant messaging server using the Jabber/XMPP protocol
jabberd2-mysql - Jabber Open Source Instant Messenger Server (MySQL)
Посмотрев, что все публичные jabber-серверы работают на ejabberd, я сначала хотел поставить его, но заметив, что вместе с зависимостями он весит порядка 27 Мб, передумал. Решил посмотреть каков размер остальных двух серверов: jabber - 170kB, jabberd2-mysql - 575kB. В связи с этим выбор пал на jabber (jabberd14).
jabberd14 is the original server implementation of the Jabber protocol, now known as XMPP. It is open source, and it is free. This implementation has been formerly known as just jabberd as well.

Please note: jabberd2 (also known as jabberd 2.x) is not a newer version of jabberd14 but a completely different project.

The main goals of jabberd14
  • Excellent support for security and encryption protocols,
  • reuse / support of existing protocols, not only from the XMPP/Jabber world,
  • strict standards compliance,
  • flexibility in configuration and deployment,
  • easy customizing / integration into web sites.
Устанавливаем пакет:
$ sudo apt-get install jabber
Теперь внесем небольшие изменения в файл /etc/jabber/jabber.xml, а именно в строку
<host><jabberd:cmdline flag="h">localhost</jabberd:cmdline>
заменив localhost на имя сервера, например server.fsnv.net.

Перезапускаем сервис:
$ sudo /etc/init.d/jabber restart
Всё. Остаётся только установить на рабочие станции jabber-клиент, например Just Another Jabber Client (JAJC) и при первом запуске создать каждому пользователю учетную запись.

Ещё про установку Jabber-сервера:

4 комментария:

[sic!] комментирует...

а поддерживает ли он конфы? просто для моего предприятия достаточно важно наличие внутренних конференций

Eugene комментирует...

а поддерживает ли он конфы?

https://gna.org/projects/mu-conference/
MU-Conference is a component for a Jabber server. It provides an implementation of XEP-0045 which allow the creation of multi-users chat.

Похоже, что можно прикрутить, но я не пробовал.

А ещё в репозитории Ubuntu есть пакет jabber-muc - Multi User Chat module for the Jabber IM Server. Работоспособность в связке с jabberd14 не проверял.

_Andrey_ комментирует...

2sic
Jabber вообще мало чего поддерживает. Конференция к нему есть отдельным пакетом.

Jabber2 просто развитие Jabber первой версии.

Я использовал Jabber2, но в последствии перешел на ejabberd.
Последний конфигурится удобнее, конференцию и прочее имеет в своем составе. Транспорт ICQ подключается внешний (как и у Jabber(2)).
Размер ejabber велик из-за рантайма erlang. Но его один раз поставил и забыл ;)

На данный момент ejabberd я доволен, но конфиги jabber2 я сохранил ;)

_Andrey_ комментирует...

2eugene:
jabber-muc изначально был написан для jabber14, но его можно подключить и к Jabber2.