1. Главная страница » Компьютеры

Jabber сервер для локальной сети

Автор: | 16.12.2019

Устройство сети Jabber позволяет установить свой собственный сервер. Это является достоинством Jabber’а, порой довольно серьёзным. Причины для установки своего сервера могут быть самые разные:

  • Обычный пользователь — возможность иметь сервер необходимой конфигурации (с нужными транспортами), надежность которого зависит только от самого пользователя.
  • Локальная сеть — возможность быстро связаться с другим участником локальной сети, а также возможность иметь полноценный модерируемый многопользовательский чат, не засоряя при этом сеть широковещательными запросами от клиентов вроде Vypress Chat или iChat и используя любой популярный Jabber-клиент; помимо этого появляется возможность общаться пользователям из разных локальных сетей.
  • Предприятие — возможность иметь быструю и защищенную связь между сотрудниками даже при отсутствии подключения к Интернету, обмен сообщениями в которой не будет выходить за пределы предприятия.
  • Сайт — возможность быстро обсудить что-либо, быстрее, чем через форум, список рассылки или гостевую книгу.

Если у вас уже запущен свой почтовый сервер, есть возможность иметь адрес, одновременно являющийся и JID’ом, и адресом электронной почты.

Требования [ править ]

Для того, чтобы установить свой Jabber сервер, необходимо следующее:

  • Компьютер для установки программы-сервера. Это может быть как персональный компьютер в случае установки сервера для собственных нужд, так и выделенный компьютер/сервер для использования в локальной сети или на предприятии, или даже виртуальный/выделенный хостинг.
    1. Многие хостинговые компании теперь предоставляют клиентам также и услугу jabber-сервера, при использовании такого хостера вам достаточно будет выполнить несколько простых действий по инструкциям хостера.
    2. Если у вас есть только обычный хостинг, то можно воспользоваться бесплатными службами Хостинг-центра РБК либо Google Apps (которая помимо Jabber сервера предоставляет другие услуги, такие как электронная почта, онлайн-редактор документов и др., но реализация сервера Jabber у Google имеет свои неприятные особенности).
    3. Если вы хотите предоставить доступ к серверу из Интернета и/или вам необходима связь с публичными Jabber-серверами, то вам понадобится публичный IP-адрес и Зарегистрированный домен.
    Читайте также:  Acer liquid z630 отзывы

    Дальнейшее руководство позволит вам легко проделать все необходимые шаги для установки сервера. При желании, вы можете установить и настроить полностью рабочий сервер с поддержкой конференций всего за 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:

    Если вы хотите отключить публичную регистрацию, то раскомментируйте строчку:

    И закомментируйте строки:

    И перезапустите сервис:

    Надеюсь что эти инструкции будут для вас полезными.

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

    Ваш адрес email не будет опубликован. Обязательные поля помечены *