Установка Jabber-сервера Ejabberd

example

Установка Jabber-сервера Ejabberd

Ejabberd - це стійкий до відмов і надійний jabber сервер з великою кількістю можливостей.

Мережа Jabber, у порівнянні з іншими системами спілкування, має такі переваги, як широка функціональність (підтримка чатів, транспортів в інші мережі), децентралізованість та незалежність, безпека (підтримка SSL-шифрування закладена в протокол), відсутність проблем із кодуванням, швидкий вхід у мережа. Немає обмежень на обсяг повідомлень, спам, є можливість перебувати в режимі online одночасно з кількох місць.

Для встановлення ми вибрали сервер під керуванням системи FreeBSD. Установка проводиться на сервер з набором попередньо встановлених програм Soft2006, можна також встановити і на чисту систему (темплейт FreeBSD), однак це потребує більше часу.

У разі встановлення на чисту систему (темплейт FreeBSD) слід встановити пакет erlang-lite.

# cd /usr/ports/lang/erlang-lite/ # make install clean

Інакше залежності Ejabbed вимагатимуть установки повного порту erlang, який у свою чергу вимагатиме установки Java (diablo-jdk), на що буде потрібно зайвий час і місце на диску.

Складання порту erlang-lite вимагатиме також встановлення залежностей, залишаємо всі опції "за замовчуванням".

Потім, після встановлення erlang-lite робимо установку самого Ejabberd. Якщо установка відбувається на сервер з темплейтом Сучасне ПЗ (Soft2006), як і рекомендувалося на початку статті, тоді відразу переходимо до цього пункту.

# cd /usr/ports/net-im/ejabberd # make install clean

[ ] ODBC Enable ODBC support - вмикати не потрібно.

Після установки (або під час її, щоб не втрачати час необхідний дляоновлення кешу DNS) слід прописати наступні записи в DNS для домену на якому встановлено Jabber:

_jabber._tcp.example.com. IN SRV 5 0 5269 example.com. _xmpp-server._tcp.example.com. IN SRV 5 0 5269 example.com. _xmpp-client._tcp.example.com. IN SRV 5 0 5222 example.com.

Де example.com – це ваш домен. Записи можна зробити через панель керування ISPmanager так:

  1. У модулі "Домові імена" подвійним натисканням на ім'я домену переходьте в редагування записів.
  2. Натискаєте кнопку на панелі інструментів "Створити запис" та вибираєте в полі Тип - SRV (мережевий сервіс).
  3. Заповнюєте поля наступним чином: Ім'я: _jabber._tcp Адреса: example.com. (не забудьте поставити крапку в кінці) Пріоритет: 5 Умовна вага SRV-запису: 0 Порт: 5269

Аналогічно створюєте записи та інших записів домену.

Перевірити коректність та роботу записів можна наступними командами:

У системах Unix

# host -t srv _jabber._tcp.example.com

У відповідь отримайте рядок

_jabber._tcp.example.com has SRV record 5 0 5269 example.com.

Або можна використовувати команду dig

# dig -t srv _xmpp-server._tcp.example.com

У Windows можна скористатися командою nslookup:

# nslookup -type=srv _xmpp-server._tcp.example.com

Записи в DNS дуже важливі, інакше зв'язок буде можливим лише між клієнтами підключеними до цього jabber-серверу.

Тепер, коли складання та встановлення порту завершилося, слід налаштувати конфігурацію Ejabberd.

Скопіюйте файли конфігурації

# cp /usr/local/etc/ejabberd/ejabberd.cfg.example /usr/local/etc/ejabberd/ejabberd.cfg # cp /usr/local/etc/ejabberd/inetrc.example/usr/local/etc/ejabberd/inetrc

Потім відредагуйте /usr/local/etc/ejabberd/ejabberd.cfg. У місці, де написано

%% The 'admin' ACL grants administrative privileges to Jabber accounts. %% Ви можете почати як багато грошей як вас.

Це буде користувач сервера, який має права адміністратора як через Jabber-клієнт, так і через веб-інтерфейс.

Налаштування підтримки SSL

Пропишіть у файлі /usr/local/etc/ejabberd/ejabberd.cfg повний шлях до файлу ssl.pem (за замовчуванням він не вказаний)

Потім створіть pem-файл сертифіката

# cd /usr/local/etc/ejabberd/ # openssl req -new -x509 -nodes -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem -subj "/C=XX/ST =XX/L=XX/O=XX/OU=XX/CN=example.com [email protected]" # cat privkey.pem >> server.pem # rm privkey.pem # mv server.pem ssl.pem

Вкажіть ім'я сервера

Додайте сервер до автозавантаження. Для цього в /etc/rc.conf пропишіть рядок автозапуску:

echo 'ejabberd_enable="YES"' >> /etc/rc.conf

І потім запустіть Ejabberd командою

Проконтролюйте те, що jabber-сервер запустився:

# ps axu grep jabber ejabberd 49006 0.0 0.1 1444 828 ?? SJ 7:22AM 0:00.00 /usr/local/lib/erlang/erts-5.6.5/bin/epmd -daemon ejabberd 49007 0.0 2.5 31008 25520 ?? SJ 7:22AM 0:02.37 [beam]

Реєстрація нових користувачів здійснюється з Jabber-клієнта або через веб-інтерфейс адміністратором, можливо також у налаштуваннях через Інтернет заборонити автоматичну реєстрацію.