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

Установка 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 так:
- У модулі "Домові імена" подвійним натисканням на ім'я домену переходьте в редагування записів.
- Натискаєте кнопку на панелі інструментів "Створити запис" та вибираєте в полі Тип - SRV (мережевий сервіс).
- Заповнюєте поля наступним чином: Ім'я: _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-клієнта або через веб-інтерфейс адміністратором, можливо також у налаштуваннях через Інтернет заборонити автоматичну реєстрацію.