Ubuntu Server. Настраиваем Jabber-сервер.

  • Автор:

jabber-server-000.png

Выбор корпоративного средства обмена сообщениями задача не из легких. Публичные сервисы, такие как ICQ, Skype и т.п., кроме известных всем достоинств имеют ряд недостатков, таких как необходимость наличия интернета на каждом рабочем месте и невозможность контролировать круг общения сотрудников, в той же ICQ свободно можно в рабочее время общаться с друзьями на отвлеченные темы. Что же делать? Здесь нам на помощь приходит Jabber, позволяющий создать корпоративный сервер обмена сообщениями, как это сделать мы расскажем в данной статье.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Мы будем рассматривать установку Jabber-сервера на выделенный ПК под управлением Ubuntu Server 10.04.1 LTS. Имя сервера, выбранное при установке ubuntu-jabber, которое будет являться именем jabber-сервера, если вы хотите использовать иное имя, то вы будете должны внести соответствующую запись в /etc/hosts.

В качестве jabber-сервера мы будем использовать ejabberd, к достоинствам которого относятся: простота настройки, нетребовательность к системным ресурсам и возможность LDAP авторизации (в том числе интеграция в AD), что весьма актуально в корпоративной среде.

Установка сервера проста, достаточно одной комманды:

 sudo apt-get install ejabberd

Все настройки хранятся в /etc/ejabberd/ejabberd.cfg, откроем его и раскомментируем следующую строку:

override_local.

Ниже укажем логин администратора (у jabber-сервера свой администратор, не путать с системным) и имя сервера:

%% Admin user
{acl, admin, {user, "ADMIN", "SERVER_NAME"}}.

%% Hostname
{hosts, ["SERVER_NAME"].

Где ADMIN - имя учетной записи администратора, а SERVER_NAME имя сервера, в нашем случае ubuntu-jabber. После чего опускаемся вниз до секции ACCESS RULES в которой находим и приводим к следующему виду опцию:

{access, register, [{allow, all}]}.

Данная опция позволяет регистрировать учетные записи пользователям самостоятельно, при помощи клиента. Последняя интересующая нас опция - язык по умолчанию:

{language, "ru"}.

 Теперь зарегистрируем учетную запись администратора:

sudo ejabberdctl register ADMIN SERVER_NAME PASSWORD

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

sudo /etc/init.d/ejabberd restart

Теперь можно приступить к настройке клиентских ПК. В первую очередь добавим в C:\Windows\System32\drivers\etc\hostsстроку следующего вида:

10.0.0.103 ubuntu-jabber

Данная строка позволяет клиентам обращаться к jabber-серверу по имени хоста. Если в вашей организации большое количество ПК и вносить настройки на каждом из них затруднительно, то самое время задуматься о внедрении Службы каталогов, в этом случае было бы достаточно одной записи на DNS сервере.

В качестве jabber-клиента мы используем Psi, кроссплатформенный клиент с богатыми возможностями, хотя вы можете выбрать то, что вам больше понравиться, благо есть из чего - список клиентов достаточно велик.

Установка и  регистрация учетной записи просты и не занимают много времени, структура и принципы работы с программой ничем не отличаются от других IM клиентов и не должны вызвать каких-либо затруднений у пользователя. Добавляем контакт собеседника и уже можно общаться.

jabber-server-001.pngjabber-server-002.pngДля администрирования сервера можно использовать веб-админку, которая доступна по адресу: http://SERVER_NAME:5280/admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации.

jabber-server-003.pngВ общем на этом можно было бы и остановиться, если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами - пользователь сам выбирает с кем общаться, но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо, чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В /etc/ejabberd/ejabberd.cfg найдем и раскомментируем следующую строку:

{mod_shared_roster, []},

Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе Virtual Hosts - Имя вашего сервера появился пункт Группы общих контактов. Создаем такую группу и настраиваем как показано ниже:

jabber-server-004.pngДля того, чтобы в группу автоматически попадали все пользователи в поле Члены укажите @all@, а в поле Видимые группы укажите название вашей группы, которое вы ввели при ее создании.

Проверим как это работает. Зарегистрируем нового пользователя, как видим - все хорошо, он автоматически получил все контакты общей группы.

jabber-server-005.pngВот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями, в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются, он позволяет осуществлять коммуникации с другими сетями обмена сообщениями, для этого нужно настроить соответствующий транспорт, так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments