Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:jabber_сервер [2011/10/28 23:59] |
wiki:jabber_сервер [2013/09/06 14:24] [Настройка] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ======ejabberd====== | ||
+ | |||
Выбор корпоративного средства обмена сообщениями задача не из легких. Публичные сервисы, такие как ICQ, Skype и т.п., кроме известных всем достоинств имеют ряд недостатков, таких как необходимость наличия интернета на каждом рабочем месте и невозможность контролировать круг общения сотрудников, в той же ICQ свободно можно в рабочее время общаться с друзьями на отвлеченные темы. Что же делать? Здесь нам на помощь приходит Jabber, позволяющий создать корпоративный сервер обмена сообщениями, как это сделать мы расскажем в данной статье. | Выбор корпоративного средства обмена сообщениями задача не из легких. Публичные сервисы, такие как ICQ, Skype и т.п., кроме известных всем достоинств имеют ряд недостатков, таких как необходимость наличия интернета на каждом рабочем месте и невозможность контролировать круг общения сотрудников, в той же ICQ свободно можно в рабочее время общаться с друзьями на отвлеченные темы. Что же делать? Здесь нам на помощь приходит Jabber, позволяющий создать корпоративный сервер обмена сообщениями, как это сделать мы расскажем в данной статье. | ||
- | Мы будем рассматривать установку Jabber-сервера на выделенный ПК под управлением Ubuntu Server 10.04.1 LTS. Имя сервера, выбранное при установке ubuntu-jabber, которое будет являться именем jabber-сервера, если вы хотите использовать иное имя, то вы будете должны внести соответствующую запись в /etc/hosts. | + | Мы будем рассматривать установку Jabber-сервера на выделенный ПК под управлением [[Ubuntu]] Server 10.04.1 LTS. Имя сервера, выбранное при установке ubuntu-jabber, которое будет являться именем jabber-сервера, если вы хотите использовать иное имя, то вы будете должны внести соответствующую запись в /etc/hosts. |
В качестве jabber-сервера мы будем использовать ejabberd, к достоинствам которого относятся: простота настройки, нетребовательность к системным ресурсам и возможность LDAP авторизации (в том числе интеграция в AD), что весьма актуально в корпоративной среде. | В качестве jabber-сервера мы будем использовать ejabberd, к достоинствам которого относятся: простота настройки, нетребовательность к системным ресурсам и возможность LDAP авторизации (в том числе интеграция в AD), что весьма актуально в корпоративной среде. | ||
+ | =====Установка===== | ||
Установка сервера проста, достаточно одной комманды: | Установка сервера проста, достаточно одной комманды: | ||
+ | <code bash>sudo apt-get install ejabberd</code> | ||
- | sudo apt-get install ejabberd | + | =====Настройка===== |
- | + | Все настройки хранятся в ///etc/ejabberd/ejabberd.cfg//, откроем его и раскомментируем следующую строку: | |
- | Все настройки хранятся в /etc/ejabberd/ejabberd.cfg, откроем его и раскомментируем следующую строку: | + | <file erlang>override_local.</file> |
- | + | ||
- | override_local. | + | |
Ниже укажем логин администратора (у jabber-сервера свой администратор, не путать с системным) и имя сервера: | Ниже укажем логин администратора (у jabber-сервера свой администратор, не путать с системным) и имя сервера: | ||
- | + | <file erlang>%% Admin user | |
- | %% Admin user | + | |
{acl, admin, {user, "ADMIN", "SERVER_NAME"}}. | {acl, admin, {user, "ADMIN", "SERVER_NAME"}}. | ||
%% Hostname | %% Hostname | ||
- | {hosts, ["SERVER_NAME"]. | + | {hosts, ["SERVER_NAME"].</file> |
- | + | Где ''ADMIN'' -- имя учетной записи администратора, а ''SERVER_NAME'' имя сервера, в нашем случае ubuntu-jabber. После чего опускаемся вниз до секции ACCESS RULES в которой находим и приводим к следующему виду опцию: | |
- | Где ADMIN - имя учетной записи администратора, а SERVER_NAME имя сервера, в нашем случае ubuntu-jabber. После чего опускаемся вниз до секции ACCESS RULES в которой находим и приводим к следующему виду опцию: | + | <file erlang>{access, register, [{allow, all}]}.</file> |
- | + | ||
- | {access, register, [{allow, all}]}. | + | |
Данная опция позволяет регистрировать учетные записи пользователям самостоятельно, при помощи клиента. Последняя интересующая нас опция - язык по умолчанию: | Данная опция позволяет регистрировать учетные записи пользователям самостоятельно, при помощи клиента. Последняя интересующая нас опция - язык по умолчанию: | ||
- | + | <file erlang>{language, "ru"}.</file> | |
- | {language, "ru"}. | + | Теперь зарегистрируем учетную запись администратора: |
- | + | <code bash>sudo ejabberdctl register ADMIN SERVER_NAME PASSWORD</code> | |
- | Теперь зарегистрируем учетную запись администратора: | + | |
- | + | ||
- | sudo ejabberdctl register ADMIN SERVER_NAME PASSWORD | + | |
И перезапустим сервер: | И перезапустим сервер: | ||
+ | <code bash>sudo /etc/init.d/ejabberd restart</code> | ||
+ | Теперь можно приступить к настройке клиентских ПК. В первую очередь добавим строку следующего вида: | ||
+ | <file>10.0.0.103 ubuntu-jabber</file> | ||
+ | в файл C:\Windows\System32\drivers\etc\hosts для Windows и в /etc/hosts для Linux. Данная строка позволяет клиентам обращаться к jabber-серверу по имени хоста. Если в вашей организации большое количество ПК и вносить настройки на каждом из них затруднительно, то самое время задуматься о внедрении Службы каталогов, в этом случае было бы достаточно одной записи на DNS сервере. | ||
- | sudo /etc/init.d/ejabberd restart | + | В качестве jabber-клиента мы используем [[Psi]], кроссплатформенный клиент с богатыми возможностями, хотя вы можете выбрать то, что вам больше понравиться, благо есть из чего - список клиентов достаточно велик. |
- | + | ||
- | Теперь можно приступить к настройке клиентских ПК. В первую очередь добавим в C:\Windows\System32\drivers\etc\hosts строку следующего вида: | + | |
- | + | ||
- | 10.0.0.103 ubuntu-jabber | + | |
- | + | ||
- | Данная строка позволяет клиентам обращаться к jabber-серверу по имени хоста. Если в вашей организации большое количество ПК и вносить настройки на каждом из них затруднительно, то самое время задуматься о внедрении Службы каталогов, в этом случае было бы достаточно одной записи на DNS сервере. | + | |
- | + | ||
- | В качестве jabber-клиента мы используем Psi, кроссплатформенный клиент с богатыми возможностями, хотя вы можете выбрать то, что вам больше понравиться, благо есть из чего - список клиентов достаточно велик. | + | |
Установка и регистрация учетной записи просты и не занимают много времени, структура и принципы работы с программой ничем не отличаются от других IM клиентов и не должны вызвать каких-либо затруднений у пользователя. Добавляем контакт собеседника и уже можно общаться. | Установка и регистрация учетной записи просты и не занимают много времени, структура и принципы работы с программой ничем не отличаются от других IM клиентов и не должны вызвать каких-либо затруднений у пользователя. Добавляем контакт собеседника и уже можно общаться. | ||
- | jabber-server-001.pngjabber-server-002.pngДля администрирования сервера можно использовать веб-админку, которая доступна по адресу: http://SERVER_NAME:5280/admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации. | + | Для администрирования сервера можно использовать веб-админку, которая доступна по адресу: http://SERVER_NAME:5280/admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации. |
- | jabber-server-003.pngВ общем на этом можно было бы и остановиться, если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами - пользователь сам выбирает с кем общаться, но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо, чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В /etc/ejabberd/ejabberd.cfg найдем и раскомментируем следующую строку: | + | В общем на этом можно было бы и остановиться, если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами - пользователь сам выбирает с кем общаться, но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо, чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В ///etc/ejabberd/ejabberd.cfg// найдем и раскомментируем следующую строку: |
+ | <file erlang>{mod_shared_roster, []},</file> | ||
+ | Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе //Virtual Hosts// - //Имя вашего сервера// появился пункт //Группы общих контактов//. Создаем такую группу и настраиваем как показано ниже: | ||
- | {mod_shared_roster, []}, | + | Для того, чтобы в группу автоматически попадали все пользователи в поле //Члены// укажите @all@, а в поле //Видимые группы// укажите название вашей группы, которое вы ввели при ее создании. |
- | Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе Virtual Hosts - Имя вашего сервера появился пункт Группы общих контактов. Создаем такую группу и настраиваем как показано ниже: | + | Проверим как это работает. Зарегистрируем нового пользователя, как видим - все хорошо, он автоматически получил все контакты общей группы. |
- | jabber-server-004.pngДля того, чтобы в группу автоматически попадали все пользователи в поле Члены укажите @all@, а в поле Видимые группы укажите название вашей группы, которое вы ввели при ее создании. | + | Вот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями, в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются, он позволяет осуществлять коммуникации с другими сетями обмена сообщениями, для этого нужно настроить соответствующий транспорт, так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи. |
- | + | ||
- | Проверим как это работает. Зарегистрируем нового пользователя, как видим - все хорошо, он автоматически получил все контакты общей группы. | + | |
- | jabber-server-005.pngВот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями, в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются, он позволяет осуществлять коммуникации с другими сетями обмена сообщениями, для этого нужно настроить соответствующий транспорт, так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи. | + | {{tag>Администрирование howto XMPP_сервер ejabberd Linux_на_предприятии можно_улучшить}} |