Устройство сети Jabber позволяет установить свой собственный сервер. Это является достоинством Jabber’а, порой довольно серьёзным. Причины для установки своего сервера могут быть самые разные:
- Обычный пользователь — возможность иметь сервер необходимой конфигурации (с нужными транспортами), надежность которого зависит только от самого пользователя.
- Локальная сеть — возможность быстро связаться с другим участником локальной сети, а также возможность иметь полноценный модерируемый многопользовательский чат, не засоряя при этом сеть широковещательными запросами от клиентов вроде Vypress Chat или iChat и используя любой популярный Jabber-клиент; помимо этого появляется возможность общаться пользователям из разных локальных сетей.
- Предприятие — возможность иметь быструю и защищенную связь между сотрудниками даже при отсутствии подключения к Интернету, обмен сообщениями в которой не будет выходить за пределы предприятия.
- Сайт — возможность быстро обсудить что-либо, быстрее, чем через форум, список рассылки или гостевую книгу.
Если у вас уже запущен свой почтовый сервер, есть возможность иметь адрес, одновременно являющийся и JID’ом, и адресом электронной почты.
Содержание
Требования [ править ]
Для того, чтобы установить свой Jabber сервер, необходимо следующее:
- Компьютер для установки программы-сервера. Это может быть как персональный компьютер в случае установки сервера для собственных нужд, так и выделенный компьютер/сервер для использования в локальной сети или на предприятии, или даже виртуальный/выделенный хостинг.
- Многие хостинговые компании теперь предоставляют клиентам также и услугу jabber-сервера, при использовании такого хостера вам достаточно будет выполнить несколько простых действий по инструкциям хостера.
- Если у вас есть только обычный хостинг, то можно воспользоваться бесплатными службами Хостинг-центра РБК либо Google Apps (которая помимо Jabber сервера предоставляет другие услуги, такие как электронная почта, онлайн-редактор документов и др., но реализация сервера Jabber у Google имеет свои неприятные особенности).
- Если вы хотите предоставить доступ к серверу из Интернета и/или вам необходима связь с публичными Jabber-серверами, то вам понадобится публичный IP-адрес и Зарегистрированный домен.
Дальнейшее руководство позволит вам легко проделать все необходимые шаги для установки сервера. При желании, вы можете установить и настроить полностью рабочий сервер с поддержкой конференций всего за 10 минут!
Jabber-сервер для локальной сети. Openfire + MySQL под Windows
Почти в каждом офисе, насчитывающем 30 и более сотрудников, рано или поздно возникает необходимость реализовать систему мгновенного обмена сообщениями. Причем, желательно со списком контактов, хранящимся централизованно, на сервере, структурированном по отделам, с сохранением истории сообщений, удобным русскоязычным интерфейсом и прочими рюшечками, которые так ценит руководство. Что ж, это задача не из числа неподъемных. Я расскажу как ее реализовать на базе связки jabber-сервера Openfire и СУБД MySQL под управлением Windows.
Нам нужна выделенная машина с Windows (версии XP и старше), дистрибутивы Openfire и MySQL. Начнем с установки и настройки MySQL.
Установка MySQL
Выбор MySQL продиктован, по большей части, ее бесплатностью и надежностью. Это важные характеристики как для руководства (которое не хочет выделять деньги на удовлетворение своих прихотей потребностей организации в ИТ), так и для системных администраторов (которые не хотят использовать неблагонадежные системы, находящиеся в "группе риска").
Берем дистрибутив MySQL с сайта Sun (http://www.sun.com/software/products/mysql/getit.jsp) и запускаем установщик.
![]()
Мы видим типичный диалог между пользователем и ПО. Жмем "Next"
![]()
Выбираем тип установки "Typical"
![]()
и запускаем инсталляцию.
![]()
По ее окончании, установщик предложит немедленно приступить к настройке и регистрации сервера в Sun. Первое жизненно необходимо, второе – по желанию.
![]()
Конфигуратор сервера MySQL – опять же привычный нам Wizard.
![]()
Так как мы создаем решение, которое будет годами радовать сотрудников нашей организации, настраивать сервер мы будем детально.
![]()
Мастер спросит нас о типе машины, на котором будет работать сервер MySQL. Выбираем вариант "Server Machine". Вариант для разработчика не подойдет, т.к. при росте базы и количестве обращений к ней, сервер будет "захлебываться" от недостатка памяти, отводимой для него. Выделенный сервер MySQL, в свою очередь, радостно съест все системные ресурсы вне зависимости от реальной нагрузки на него.
![]()
Тип базы — "Multifunctional".
![]()
Я устанавливаю MySQL на виртуальную машину с одним жестким диском, поэтому выбор места хранения баз данных у меня ограничивается системным разделом. В общем случае (при установке MySQL на отдельный сервер) рекомендуется хранить базы данных в отдельной директории на несистемном разделе.
![]()
Мастер спросит о планируемом количестве конкурентных соединений с базой данных. По большому счету, для jabber-сервера более чем достаточно варианта DSS, но в расчете на рост организации лучше перестраховаться и установить вручную сотню-другую допустимых соединений. Это употребит больше памяти, но обеспечит стопроцентную доступность базы данных для клиентов.
![]()
Далее мастер спросит, следует ли разрешить соединяться с базой данных по сети и, если да, то какой порт использовать для соединения. Безусловно следует. Причем, рекомендуется использовать порт по умолчанию, т.е. 3306. Можно сразу же добавить этот порт в исключения для брандмауэра (чекбокс "Add firewall exception for this port"). У меня на виртуальной машине брандмауэр отключен, так что я оставил опцию нетронутой. Чекбокс "Enable Strict Mode" рекомендуется включить. Включаем не вникая.
![]()
Следующий остановочный пункт – кодировка, в которой будут храниться таблицы данных. Весь цивилизованный мир планомерно переходит на UTF-8. Мы не будем отставать.
![]()
После выбора кодировки баз данных, мастером будет предложено установить MySQL как службу Windows и инициировать его автоматический запуск при загрузке системы, а также добавить в переменную PATH пути с исполняемыми файлами MySQL. Первое нам нужно для того, чтобы не сосредотачивать внимание на запуске MySQL после каждых выключения или перезагрузки сервера, а второе для того, чтобы иметь возможность выполнять команды MySQL из командной оболочки Windows, не утруждая себя указывать расположение исполняемых файлов MySQL вручную.
![]()
Наконец, настало время выбрать пароль для root.
![]()
И выполнить сценарий конфигурирования.
![]()
Установка закончена, сервер MySQL готов!
Создание базы данных MySQL
Управлять MySQL можно как из командной строки, так и с помощью графических средств администрирования (например, phpMyAdmin). Так как нам предстоит всего-навсего создать базу данных, ограничимся командной строкой:
![]()
Для любителей смотреть сайты без графики:
mysqladmin –user=root —password=ваш-надежный-пароль create im
Я создал базу данных под названием "im" (от англ. instant messaging). Вы же вольны придумать ей любое название.
Установка Openfire
Пришло время устанавливать непосредственно сам jabber-сервер. Вообще-то их выбор не ограничивается одним вариантом, но Openfire на голову выше остальных по простоте развертывания и удобству администрирования. Поэтому качаем дистрибутив с http://www.igniterealtime.org/projects/openfire/ и приступаем к установке:
![]()
Этот процесс настолько тривиален, что приводить больше двух скриншотов не вижу смысла.
![]()
![]()
Итак, открылась консоль Openfire. В ней выводится информация о состоянии сервера.
Запускаем браузер и заходим на http://127.0.0.1:9090
![]()
Нас приветствует установщик сервера Openfire. Выбираем язык (да-да, English. Официальной русификации Openfire пока не существует. Да и не очень-то она нужна) и жмем "Continue".
![]()
В настройках сервера необходимо указать домен (обычно указывается имя или IP-адрес компьютера, на котором установлен Openfire, но можно сделать красивее, и обозвать домен вычурным вариантом вроде Corporate-Messaning-System.local).
Примечание: на скриншоте я указал домен "workspace", а потом изменил его на "test", но напрочь позабыл переснять скриншот. А, между прочим, эта информация нам еще пригодится при настройке клиентов. Так что запоминайте: я выбрал домен "test"!
![]()
Далее нужно выбрать базу данных: стандартный вариант (наш, с внешней базой данных) или корявый (использовать встроенную базу данных Openfire. Однажды я так уже делал. Через 3 месяца пришлось переустанавливать Openfire вместе с базой данных, так как она перестала инициализироваться).
![]()
Так как мы выбрали вариант с внешней базой, необходимо настроить коннектор.
Database Driver Presets – MySQL
JDBC Driver Class – по умолчанию
Database URL – jdbc:mysql://127.0.0.1:3306/im
Вот где нам пригодился порт подключения к базе, выбранный при настройке MySQL, а также имя базы данных (у меня — "im", как упоминалось выше).
Связка username/password – это учетная запись root сервера MySQL, настроенная мастером конфигурирования MySQL.
Также меняем значение "Maximum Connections" на 100.
![]()
Если вы все сделали верно, то вам будет предложено выбрать способ заведения пользовательских аккаунтов и групп для клиентов сервера Openfire. Вариантов всего 3:
1) Ручное управление. Вариант хорош тем, что список контактов будет максимально "чист": никто не появится на сервере просто так, без вашего ведома. Кроме того, имена пользователей и их логины тоже можно будет гибко настраивать. Да, это создаст еще один поинт, на который администратор будет отвлекаться по мере необходимости. С другой стороны… читаем дальше.
2) LDAP. Моя сеть построена на базе Active Directory. Конечно, было бы очень удобно подтягивать пользователей и группы из AD, имея только одну точку администрирования. Но, к сожалению, Openfire подтягивает их… кривовато. Кроме учетных записей пользователей, регистрируются доменные компьютеры, Builtin-группы и прочий трэш. В итоге одна точка администрирования оборачивается в те же две, только без права вычистить мусор из базы Openfire. Таким образом, сложная AD хоть и интегрируется в Openfire, но неудобоваримо.
3) Интеграция из Clearspace. Маловероятно, что в вашей организации есть подписчики Clearspace, поэтому вариант даже не рассматриваем.
![]()
Указываем e-mail и пароль администратора…
![]()
и завершаем установку.
Настройка Openfire
После окончания установки сервера Openfire, необходимо вернуться в консоль (значок лампочки в трее) и перезапустить сервер (Stop – Start). Если этого не сделать, вас может не пустить в веб-интерфейс управления сервером: будет высыпаться сообщение об ошибке авторизации. После перезапуска заходим в админку Openfire в браузере:
![]()
Логинимся и попадаем в консоль администратора.
![]()
Я не буду вдаваться в тонкости настройки сервера. Нам нужно максимально быстро развернуть корпоративное решение для обмена мгновенными сообщениями, чем мы и займемся. Первым делом создадим пользователя. Я создал учетную запись воображаемому Иванову Ивану.
К слову, советую серьезно отнестись к полю "Name", т.к. именно его значение будет использоваться в контакт-листе клиента jabber.
![]()
Теперь создадим группу. Скажем, для бухгалтерии.
![]()
Добавим в нее пользователя IvanovII.
![]()
И расшарим группу для всех клиентов нашего сервера. Это лишит пользователей необходимости вручную заполнять контакт-листы.
В принципе, процесс можно продолжать, пока на сервере не будут организованы все целевые пользователи и группы.
Подключение клиентов
Самое время приступать к подключению пользователей к нашему серверу. Для этого необходим jabber-клиент, коих существует более чем много. Однако, 3 варианта все же предпочтительнее. 1-й – Spark (http://www.igniterealtime.org/projects/spark/index.jsp) от авторов самого Openfire. По правде говоря, я ожидал от него большего. Но он оказался громоздким и нестабильным. То есть именно таким, который мне не подходит. 2-й – QIP Infinum (http://qip.ru/ru/pages/download_infium_ru/). Главное преимущество QIP – привычный интерфейс. Он уже пару лет является стандартом де-факто в качестве клиента ICQ для русскоязычных пользователей, поэтому большинству сотрудников вашей организации не придется изучать новый продукт. Но на этом его плюсы заканчиваются, и начинаются минусы: навязчивая реклама, не совсем корректная работа (часто отваливается от сервера на базе Openfire) и неумение делить контакт-лист личной ICQ и корпоративного jabber’а. 3-й – Pandion (http://www.pandion.be/). ИМХО, идеальный клиент для организации корпоративного обмена сообщениями. Бесплатный, компактный, дружелюбный, симпатичный, Pandion делает именно то, что от него требуется. Я буду рассматривать подключение к серверу именно Pandion-клиентов.
Установка клиента тривиальна. В самом конце рекомендую поставить галочку в чекбоксе на автоматический запуск клиента при загрузке. Таким образом, никого из пользователей корпоративной сети не придется принуждать запускать его вручную.
Скачали, установили. Запускаем:
![]()
Pandion сразу попросит ввести данные пользователя. Вводим имя пользователя нашего Ивана Иванова, через @ вводим домен (помните мой комментарий по поводу неверно отснятого скриншота? Вот где нам пригодится эта информация о домене. В моем случае это, напоминаю, test) и жмем ссылку "Настройки Соединения".
![]()
В этом окошке предлагается ввести адрес и порт сервера, выбрать тип шифрования, метод аутентификации и прокси-сервер. В моем случае адрес сервера – 192.168.1.14. Так как я предпочитаю безопасный обмен сообщениями и выбираю тип шифрования SSL, порт сервера тоже придется указывать соответствующий: 5223 (в сводке информации о сервере Openfire он указан).
Жмем Ок, и в предыдущем окошке нажимаем "Вход".
![]()
Ура, мы внутри нашей jabber-сети.
Однако хотелось бы увидеть результат наших трудов по созданию и расшариванию групп и пользователей. На другом клиентском компьютере устанавливаем Pandion и логинимся на сервер администратором (не забываем настроить соединение с сервером и шифрование):
![]()
![]()
Вот уже 2 клиента в нашей сети. Как видите, в контакт-листе администратора автоматом появилась группа "Бухгалтерия", в которой засветился пребывающий он-лайн Иван Иванович Иванов. Отправим ему сообщение:
![]()
А он его с наслаждением прочитает:
![]()
На этом настройку клиентов можно закончить.
2 комментария:
1) в окне логона ставьте пользователям галочки "Запомнить мой пароль" и "Подключаться автоматически". Вкупе с автозагрузкой Pandion, это позволит пользователям вообще забыть о необходимости как бы то ни было задумываться о клиенте jabber, а просто пользоваться его благами, как они пользуются доступом в Интернет, корпоративным файл-сервером или рабочими базами данных;
2) обратите внимание на опечатку в кнопке отправки сообщения. "Отравить" – это как-то не айс. Но фиксится. В директории C:Program FilesPandionlanguages найдите файл ru.xml и поиском отыщите слово "отравить". Можно поправить текст и распространить правильную копию Pandion по сети.
Последние штрихи
Без дополнительной настройки Openfire запускается как приложение. То есть после перезагрузки или выключения сервера необходимо заходить в Windows и вручную запускать его. Это не самый подходящий вариант. Присвоим Openfire статус службы и настроим ее автозапуск. Для этого на сервере Openfire выполняем команды:
![]()
Для любителей смотреть сайты без графики:
cd "program filesopenfirebin"
И проверяем, что Openfire появился в оснастке управления службами и стартует автоматически:
Jabber это открытый протокол для быстрого обмена сообщениями и информацией о присутствии между любыми двумя пользователями сети. В последне время jabber становится всё более популярным, что можно объяснить его простотой и открытостью.
Очень часто jabber используется как средство обмена сообщениями и файлами внутри компании. В этом случае можно сильно экономить на трафике, поскольку весь обмен сообщениями и файлами идёт только внутри локальной сети (в отличии от ICQ/Yahoo!/MSN, когда сообщения передаются через центральный сервер, установленный за пределами вашей локальной сети).
В этой заметке будет описан запуск простого jabber-сервера для локальной сети. В качестве сервера будет использован jabberd-1.4, который хоть и считается устаревшим, является одним из самых простых в настройке, и при этом стабильных серверов. В качестве операционной системы будет использована Gentoo Linux, однако приводимые тут инструкции в большинстве случаев будут справедливы и для других дистрибутивов.
Итак, приступаем к установке. Наверное сразу хочется выполнить команду:
Однако это не правильно, поскольку по умолчанию jabberd собирается с поддержкой ipv6, и отказывается запуска если у вас нет ipv6-адреса ни на одном из интерфейсов. Кроме того, поскольку мы собираем самый простой сервер, нам можно выключить так же поддержку различных баз данных и SSL (В локальной сети SSL не очень актуально). Для этого нужно добавить в файл /etc/portage/package.use строчку:
И только после этого наконец можно выполнить команду:
После установки открываем в любом редакторе файл /etc/jabber/jabberd.xml и приступаем к настройке сервера.
Для начала находим строчку:
И заменяем в ней localhost, на имя нашего сервера:
В принципе этого достаточно. Далее вы можете поправить по своему усмотрению информационные сообщения сервера. Так же можно запретить авторизацию открытым текстом, закомментировав строку:
Для тех кто не силён в XML, приведу пример закомментированной строки:
Всё. Теперь можно запускать jabber-сервер:
Если на сервере настроен файрволл, то нужно разрешить доступ к порту 5222 со стороны локальной сети:
Кроме того, если вы хотите взаимодействовать с другими jabber-серверами, то вам нужно открыть порт 5269 для всех:
После чего нужно сохранить правила iptables:
Если вы хотите отключить публичную регистрацию, то раскомментируйте строчку:
И закомментируйте строки:
И перезапустите сервис:
Надеюсь что эти инструкции будут для вас полезными.





