Ставим собственный Jabber-сервер

Дата: 19.02.2009

Рубрики: *NIX, Technology

Поскольку я отказался от использования ICQ, решил уделить немного времени вопросам установки и настройки сервера. Поскольку у меня есть аккаунт в Google Hosted Servises, где настроен мой домен, JID в собственном домене у меня уже есть (и друзьям-знакомым-родственникам в случае надобности сделаю), а подъем собственного сервера я делал сугубо в исследовательских целях.

Для начала о том какие бывают сервера и на чем их пишут.

  1. Djabberd — реализация на Perl
  2. ejabberd — наиболее популярное решение на Erlang
  3. jabberd14 — хорошо обросший мхом сервер на C
  4. jabberd2 — это не более новая версия jabberd14, это отдельный проект, написан на C
  5. OpenFire — экс-WildFire, сервер с удобным и понятным Web-интерфейсом, написан на Java
  6. pretzel — сервер на Python
  7. OpenIM — еще один сервер на Java

Список, конечно, не полный, это те реализации, о которых я знаю. Из всего этого много образия для своих экспериментов я выбрал ejabberd. Этот сервер наиболее полно соответсвует стандартам и на этом ПО работает крупнейший Российский сервис ru, собственно поэтому он.

Для установки берем ящик с FreeBSD внутри, сойдет и VDS, собственно на него я и ставил.

Сама установка, как и первичная настройка, никаких сложностей из себя не представляет Делаем примерно так

# pkg_add -r erlang-lite
# cd /usr/ports/net-im/ejabberd && make install clean

Пока все это собирается нужно создать SRV-записи в доменной зоне, которую будет обслуживать сервер. Вот такие примерно

__tcp.domain.ru. IN SRV 5 0 5269 domain.ru.
_xmpp-server._tcp.domain.ru. IN SRV 5 0 5269 domain.ru.
_xmpp-client._tcp.domain.ru. IN SRV 5 0 5222 domain.ru.

Естественно, имя domain.ru должно резолвиться на тот IP, где будет установлен сервер.

Как только все собралось идем в каталог /usr/local/etc/ejabberd, и копируем файлы *.example в нормальные.

Добавляем в ejabberd.cfg вот такую примерно строчку чтобы определить кто у нас будет админом

{acl, admin, {user, «user», «domain.ru»}}.

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

Путь к объединенному файлу, содержащему сертификат и ключ нужно будет указать в ejabberd.cfg

tls, {certfile, «/usr/local/etc/ejabberd/ssl.pem»}]},

и

{s2s_certfile, «/usr/local/etc/ejabberd/ssl.pem»}.

После чего включаем запуск сервера при старте системы и запускаем.

# echo 'ejabberd_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/ejabberd start 

Осталось только зарегистрировать админский аккаунт с помощью клиента.

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

Интересное в двух словах:

  • Я в последнее время перестал удивляться находя ресурсы, которым вроде бы и несвойственно быть в интернете, вот сегодня — интернет магазин мужской одежды. Ну все вроде бы хорошо, но лично мне перед покупкой вещь нужно примерить.
  • Еще один интересный ресурс для повышения скила в области сео и раскрутки сайтов — Раскрутка сайта от inetManager.ru. Есть что почитать про увеличение тИЦ и PR, ускорение переиндексации сайта.
  • Оценил полезность интернет-магазинов, в которых есть Моментальная доставка. Вот надо срочно на мобильник денег положить — пожалуйста заплати webmoney и получи пин-код.

Связанные записи

Метки: , , ,

Комментариев нет на запись "Ставим собственный Jabber-сервер"

Ваш комментарий может быть первым :) .

Оставить комментарий

Имя:
E-mail:
Сайт:
Вы можете использовать OpenID
или зарегистрироваться.