ejabberd Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:jabber_сервер [2011/10/29 00:00]
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 клиентов и не должны вызвать каких-либо затруднений у пользователя. Добавляем контакт собеседника и уже можно общаться.
Строка 48: Строка 37:
 Для администрирования сервера можно использовать веб-админку,​ которая доступна по адресу:​ http://​SERVER_NAME:​5280/​admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации. Для администрирования сервера можно использовать веб-админку,​ которая доступна по адресу:​ http://​SERVER_NAME:​5280/​admin и позволяет решать ежедневные задачи администрирования без обращения к файлам конфигурации.
  
-В общем на этом можно было бы и остановиться,​ если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами - пользователь сам выбирает с кем общаться,​ но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо,​ чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В /​etc/​ejabberd/​ejabberd.cfg найдем и раскомментируем следующую строку:​+В общем на этом можно было бы и остановиться,​ если бы не одно но. По умолчанию список контактов (ростер на терминологии jabber) нового пользователя пуст. Это вполне нормально для личного использования или для работы с публичными серверами - пользователь сам выбирает с кем общаться,​ но абсолютно неприемлемо для корпоративной среды, где список контактов заранее определен. Было бы неплохо,​ чтобы новый пользователь автоматически попадал в этот список и автоматически получал его в свой клиент. К счастью сделать это совсем несложно. В ///​etc/​ejabberd/​ejabberd.cfg// найдем и раскомментируем следующую строку
 +<file erlang>​{mod_shared_roster,​ []},</​file>​ 
 +Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе //Virtual Hosts// - //Имя вашего сервера//​ появился пункт //​Группы общих контактов//​. Создаем такую группу и настраиваем как показано ниже:
  
-{mod_shared_roster,​ []}, +Для того, чтобы в группу автоматически попадали все пользователи в поле ​//Члены// укажите @all@, а в поле ​//Видимые группы// укажите название вашей группы,​ которое вы ввели при ее создании.
- +
-Сохраняем файл, перезапускаем сервис. Теперь в веб-админке в разделе Virtual Hosts - Имя вашего сервера появился пункт Группы общих контактов. Создаем такую группу и настраиваем как показано ниже: +
- +
-Для того, чтобы в группу автоматически попадали все пользователи в поле Члены укажите @all@, а в поле Видимые группы укажите название вашей группы,​ которое вы ввели при ее создании.+
  
 Проверим как это работает. Зарегистрируем нового пользователя,​ как видим - все хорошо,​ он автоматически получил все контакты общей группы. Проверим как это работает. Зарегистрируем нового пользователя,​ как видим - все хорошо,​ он автоматически получил все контакты общей группы.
  
 Вот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями,​ в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются,​ он позволяет осуществлять коммуникации с другими сетями обмена сообщениями,​ для этого нужно настроить соответствующий транспорт,​ так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи. Вот теперь можно и закончить нашу статью. В результате несложных действий мы получили в свое распоряжение мощное корпоративное средство обмена сообщениями,​ в тоже время простое и понятное пользователю. Однако на этом возможности ejabberd не исчерпываются,​ он позволяет осуществлять коммуникации с другими сетями обмена сообщениями,​ для этого нужно настроить соответствующий транспорт,​ так что если ваши партнеры используют ICQ вы не потеряете контакта с ними, но это тема для отдельной статьи.
 +
 +{{tag>​Администрирование howto XMPP_сервер ejabberd Linux_на_предприятии можно_улучшить}}