Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> Openfire Jabber Server

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

Автор: Cancer.


Понадобилось на фирме настроить корпоративный чат. Поискав в инете наткнулся на Openfire. Сразу понравилась простота и функционал.

Материал из Википедии:
Openfire (ранее известный как Wildfire Server) это Jabber/XMPP сервер, написанный на Java, и использующий двойное лицензирование под GNU General Public License и коммерческой лицензией.


Веб-панель администрирования

Большая часть администрирования сервера делается через веб-интерфейс, который запущен на портах 9090 (HTTP) и 9091 (HTTPS) по умолчанию. Администраторы могут зайти откуда угодно и редактировать настройки сервера, добавлять и удалять пользователей, комнаты конференций, и так далее.


Openfire поддерживает следующие функции:

    * Веб-панель администрирования
    * Плагины
    * Поддержка SSL/TLS
    * Работа с базами данных для хранения сообщений и деталей пользователей
    * Взаимодействие с LDAP
    * Аутентификация пользователей посредством сторонних источников данных
    * Платформо-независимый, чистая Java
    * Полная интеграция со Spark

Поддерживаемые клиенты:
Miranda IM
QIP Infium
Spark
Trillian Pro
Gaim
Pandion
Psi
Exodus
Pidgin
Kopete


Перед тем как начать установку обновите порты ОБЯЗАТЕЛЬНО!!!

Приступим....





Для начала скачаем отсюда http://www.freebsdfoundation.org/downloads/java.shtml
diablo-caffe-freebsd, выбираем что у вас.
FreeBSD 6.x/i386   diablo-caffe-freebsd6-i386-1.6.0_07-b02.tar.bz2
FreeBSD 6.x/amd64  diablo-caffe-freebsd6-amd64-1.6.0_07-b02.tar.bz2
FreeBSD 7.x/i386   diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
FreeBSD 7.x/amd64  diablo-caffe-freebsd7-amd64-1.6.0_07-b02.tar.bz2


Когда скачали кладем архив в /usr/ports/distfiles/

Далее качаем отсюда http://java.sun.com/javase/downloads/index.jsp
tzupdater-1_3_11-2008i.zip
И так же кладем архив в /usr/ports/distfiles/


Устанавливаем Openfire



//> cd /usr/ports/net-im/openfire

Устанавливаем....Во время установки он потянет со собой нужные для openfire пакеты
//> make install clean

Во время установки выскочит такое меню
     +--------------------------------------------------------------------+
     |                   Options for diablo-jdk 1.6.0.07.02_3             |
     | +----------------------------------------------------------------+ |
     | |  [ ] POLICY    Install the Unlimited Strength Policy Files     | |
     | |  [X] TZUPDATE  Update the time zone data                       | |
     | |                                                                | |
     | |                                                                | |
     | |                                                                | |
     | |                                                                | |
     +-+------v(+)------------------------------------------------------+-+
     |                       [  OK  ]      [ Cancel ]                     |
     +--------------------------------------------------------------------+

Далее нужно добавить Openfire в /etc/rc.conf
//> echo 'openfire_enable="YES"' >> /etc/rc.conf

Запускаем сам сервер
//> /usr/local/etc/rc.d/openfire start
Starting openfire.
//>

//> ps axw | grep openfire

4005 ?? Ss 0:14,16 /usr/local/diablo-jdk1.6.0/bin/java -server -jar -Xmx256M -Dopenfire.lib.dir=/usr/local/share/java/classes -DopenfireHome=/usr/local/share/java/openfire



Далее заходим в веб интерфейс сервера, естественно поменяв IP на свой
Пример адреса такой http://192.168.55.5:9090

Шаг 1

Тут выбираем язык админки.


Шаг 2

Читаем внимательно!!!
Настраиваем какой домен будет у вас, т.е на какой адрес мы должны клиентом подключатся и указываем порты для подключения к админки 9090(http), 9091(https), советую их не менять.
Если у вас есть ДНС сервер занесите соответствующую запись в ДНС.
Если нет ДНС, то прейдеться у каждого клиента в файле C:\WINDOWS\system32\drivers\etc\hosts
прописывать запись типа
192.168.55.5  jabber.domain.ru

Не путаем hostname с джаббер. Т.е у меня машина server.domain.local , а домен для Джаббера jabber.domain.ru


Шаг 3

Здесь выбираем Standart Database Connection (MySQL, PgSQL, Oracle, IBM, DB2, MSSQL,) или Embedded DataBase (встроенная база Openfire HSQLDB), в принципе выбирать вам.


Шаг 4


Шаг 5


Шаг 6






Самое сложное позади, теперь переходим веб админку.

Теперь стоит перезагрузить демон OpenFire, так как встречал проблему с тем что пока не перезапустишь демон не будет пускать в админку после создания БД.
//> /usr/local/etc/rc.d/openfire restart



И вот долгожданная Админка!!! =)



Администрирование Openfire









Создаем пользователя


Создаем группу


Добавляем пользователя в группу шаг 1


Добавляем пользователя в группу шаг 2








Настройка клиента




Покажу настройку клиента на примере QipInfium
Скачать его можно тут http://qip.ru/



Вот так выглядит список пользователей








Покажу настройку клиента на примере Spark
Скачать его можно тут


Вот так выглядит список пользователей








Установка и настройка плагина Monitoring Service





Теперь установим плагин Monitoring Service, нужен он для ведения истории переписки на Jabber Сервере
Т.е можно просматривать историю всех пользователей так же есть и мониторинг.









Установка и настройка плагина IM Gateway

IM (мгновенные сообщения) плагин позволяет пользователю войти в систему и общаться через другие службы мгновенных сообщений, через Jabber их ID. IM Geteway сам предоставляет ряд Транспортов для других протоколов, таких как:
    * AIM:      login.oscar.aol.com 5190
    * GADUGADU: appmsg.gadu-gadu.pl 80
    * GTALK:    talk.google.com 5222
    * ICQ:      login.oscar.aol.com 5190
    * IRC:      irc.freenode.net 7000
    * MSN:      messenger.hotmail.com 1863
    * SIMPLE:   localhost 5060
    * XMPP:     jabber.org 5222
    * Yahoo:    scs.msg.yahoo.com 5050

 













Документация
http://www.igniterealtime.org/
http://forum.ru-board.com/topic.cgi?forum=8&topic=10529&start=1660
http://www.lissyara.su/?id=1320



размещено: 2009-02-02,
последнее обновление: 2010-11-19,
автор: Cancer


WhitePawn, 2009-02-25 в 17:39:02

Класс, всё рабоатет, спс Cancer!

xmaster, 2009-03-04 в 0:21:11

как с астериском пробывал ктонить совмешать ? у меня траблы были попробую  ещё раз поднять

PriestRomeo, 2009-03-05 в 18:42:15

to xmaster

К сожалению лучше Spark'а мне ничего найти не удалось, по-умолчанию у него прикручен jingle плагин позволяющий звонить P2P прямо из Spark'а. Плюс в том что ничего не нужно даже настраивать, выбираешь контакт, телефончик и звонок :)

PriestRomeo, 2009-03-06 в 20:11:14

Автор статьи надо сказать меня опередил в написании ;), не его месте я бы добавил обязательно, конкретную ДБ с которой придется работать fire'у, и как она настраивается для данных нужд, по большей части это мускул.

xmaster, 2009-03-16 в 7:23:52

PriestRomeo,

посравнению с астерисковскими возможностями телефонии P2P Спарка  это как моторолер  и космический корабль , единственное
где мне это более менее удалось обьеденить это  в миранде с доп модулем на iax протоколе

alik, 2009-10-01 в 7:18:01

Хорошая статья, а можете подсказать как мне можно увеличить количество подключаемых пользователей. А то там по умолчанию тока 25, а мне нужно более 300.
Это в том случае если я использую не mysql а пользуюсь стандартной базой данных.

Cancer, 2009-10-01 в 8:44:51

А с чего это вы взяли ??

alik, 2009-10-01 в 9:38:05

Или я не так понял наверное да?
Server Manager — Database -
Connection Pool Info
Minimum Connections:     5
Maximum Connections:     25 Это максимальное соединение, а я понял как максимальное количество юзеров
извиняюсь

Подскажи пжл, может ли стандартная база заменить mysql?

qwertEHOK, 2009-11-14 в 20:26:27

пробовал на вендовом сервере со встроенной базой - 25 подключений
пробовал на фре с мускл - 36 было и работало

единственный минус не смог настроить работать через квип, хотя с PSI jabber работал и ICQ транспорт тоже

2автор
подскажи как разделить пользователей по отделам или что бы в контакт листе было [отдел][ФИО]

arez, 2010-01-20 в 12:48:25

2 qwertEHOK 2автор
Это в админке нужно настраивать - делать группы(отделы) и давать видимость ее другим группам(отделам), а после вводить пользователей в них. Надеюсь, что доступно объяснил )))

arez, 2010-01-20 в 12:49:58

qwertEHOK Попробуй с AD его скрестить.

arez, 2010-01-20 в 12:52:52

если не получится - пиши, помогу с интеграцией.

arez, 2010-01-20 в 14:55:47

Cancer
Дополнение, можно редирект средствами днс делать
вот инструмент http://www.jms1.net/jabberd2/srv.shtml
тогда упростится:
Не путаем hostname с джаббер. Т.е у меня машина server.domain.local , а домен для Джаббера jabber.domain.ru

Vintovkin, 2010-02-15 в 17:49:39

статья суперррррррррр!!!!!!!!!!!
всё работает как надо))))))))))))
спасибо!

buka55, 2010-04-13 в 0:15:51

Статья конечно супер.
Но обязательно добавьте  
Самое сложное позади,пергружаемся теперь переходим веб админку.
И вот долгожданная Админка!!! =)
Иначе в админку не пустит!

buka55, 2010-04-13 в 0:17:35

Статья конечно супер.
Но обязательно добавьте  
Самое сложное позади,пергружаемся теперь переходим веб админку.
И вот долгожданная Админка!!! =)
Иначе в админку не пустит!

photo&GSM, 2010-12-17 в 14:38:43

Статья супер! Всё настроил, спасибо! Единственное, на чём был затык - найти нормального клиента. То память жрут, то глюков дофига. Остановился на QIP Infium. Долго мучался, как его заставить работать с локальным сервером. Оказалось всё просто и на поверхности! Думаю стоит дополнить статью описанием запуска квипа в  изолированном режиме

gonzo111, 2010-12-17 в 16:52:16

чувак жжжет  :-D
на лисяре про вендовый квип требует написать ггг

Cancer, 2010-12-17 в 16:57:23

Дело тут не в том что вендовый или нет, дело в том что в статье в основном описывается настройка Jabber сервера, а не программ которые работаю с джаббер.

photo&GSM, 2010-12-17 в 17:11:03

gonzo111, жгу, спасибо за добрую встречу. Хамить вовсе не обязательно. А случаем вот эта фраза: "Покажу настройку клиента на примере QipInfium" она не из данной статьи? Неужели трудно дополнить словами вроде "Если вы желаете использовать Infium для локальной сети, то делаем так и так...". Считаете не нужным - не дополняйте... Хотел внести посильный вклад и возможно помочь кому то. Потому что данный сайт очень помог мне. И заметьте, я ни разу пока на нем не писал и не создал ни одной тупой темы. Извините за оффтоп, всем спасибо.

Cancer, 2011-06-10 в 8:53:10

В админке
Server -> System Properties
Добавляем
Property Name: xmpp.client.idle
Property Value: -1
Для того что бы сервер не скидывал клиентов каждые несколько минут

aLesik, 2011-09-16 в 11:40:30

Спасибо за статью. юзаю опенфайер давно, а вот с jabber-домен и hostname читал невнимательно в свое время, узнал тут.
OpenFire очень долго работал у меня под виндой+встроенная база данных. Пользователей около 200. Но как-то криво работали аватары и прочие мелкие косяки были. Перешел на внешнюю БД (MS SQL на другом сервере-железке) все было восхитительно, пока не умер сервер с виндой и jabber-сервером (несколько лет). Поставил сервер на ноутбук с mandriva 2007 (256 Мб Озу) + прицепил старую базу. С виду работало, но возникали проблемы - постоянно отваливались клиенты. Возможно, не хватало памяти серверу, или сервер с БД стал более нагружен (поднялось несколько баз еще). не знаю.. Пробую сейчас поэкспериментировать - поставить сервер на  виртуальную машину+ старая база. Если интересно кому - отпишу позже.

xmaster, 2011-09-16 в 13:16:45

ставь на фряху и воткни туда побольше оперативы, така как java её хорошо есть

Cancer, 2011-09-16 в 13:22:56

У меня с БД на MySQL кушает нормально памяти
Java Memory 29,56 MB of 1012,62 MB (2,9%) used.
На счет пользователей
Active Client Sessions: 135

А вот со стандартной БД хавала не по детски и постоянно падал OpenFire из-за того что БД разрослась виною того был плагин Monitoring Service скорее всего, перенес все на MySQL и теперь все летает.

Будет время сделаю отдельно статью по настройке с MySQL, но на самом деле настройка немного отличается.

Cancer, 2011-09-16 в 13:27:43

2aLesik, 2011-09-16 в 11:40:30
В админке
Server -> System Properties
Добавляем
Property Name: xmpp.client.idle
Property Value: -1
И перезапусти демон OpenFire
Для того что бы сервер не скидывал клиентов каждые несколько минут

aLesik, 2011-09-16 в 14:14:35

2 Cancer
оно не каждые неск минут скидывало, а просто так, бессистемно.  особенно, если клиент посылает текста больше, чем некоторое кол-во строк. Хотя передача файлов работала без проблем. Думаю, все-таки проблема в памяти была, хотя размер памяти (в опции жава-машины)выставлял не жалея

schmel, 2011-11-02 в 0:24:43

Была такая же ошибка - это косяк версии 3.7.0 был, пришлось до 3.7.1 альфы обновиться - там пофиксили.

mal401, 2012-08-13 в 7:27:47

Openfire Java memory full 3.7.1

Илья, 2014-03-24 в 23:45:53

Странно - по поводу hostname и jabber-сервера. На винде все пашет. Зачем оно надо, чтобы различались?

Сергей, 2016-04-18 в 14:11:11

Добрый день!
В организации установлен клиент Спарк 2.7.6. данный клиент по функционалу и внешнему виду является удобным решением для организации внутреннего чата. Но в связи с отсутствием одной из функций сервера, приходится использовать серверную часть "Ejabberd Community Server 16.03". В процессе совместной работы сервера и клиента были выявлены небольшие ошибки, в результате которых напрашивается один из выводов:
1. Сменить серверную часть
2. Сменить клиентскую часть
Менять клиенскую часть не оень хочется, т.к. работники привыкли.
есть группы пользователей.
1. Группа пользователей 1 (руководство) должна видеть все остальные группы группы которые заведены на сервере и рассылать им сообщения и вести переписку с ними.
2. Группа пользователей 2 (работники) должна видеть только группу руководство и не кого более, даже пользователей собственной группы.

как выполнить данную настройку?

Cancer, 2016-04-18 в 14:21:14

Да, такое возможно.

Установить на виртуалке и поиграйся с группами.
Там создаешь группы, назначаешь в них пользователей в эту группу и они начинают друг друга видить, а если нужно, чтобы эту группу видели другие группы, то просто расшариваешь эту группу для другой и все.
В общем, установите и попробуйте.



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0628 секунд
Из них PHP: 25%; SQL: 75%; Число SQL-запросов: 114 шт.
Исходный размер: 123772; Сжатая: 16977