Установка ejabberd под Linux
Рассмотрим установку сервера ejabberd на компьютеры под управлением одного из дистрибутивов GNU/Linux для использования в локальной сети с открытым доступом из Интернет и с использованием службы DynDNS.
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет myjabber.ath.cx) указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).
Ejabberd может быть установлен на ваш сервер различными способами. Опишу три по нарастанию сложности:
- Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
- Предварительно собранные бинарные файлы с инсталлятором. Вариант не сложнее первого, но вряд ли оптимизирован именно под ваш дистрибутив.
- Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь гуру.
Далее подробно рассмотрены эти варианты.
Установка из репозитория
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
Fedora
По умолчанию нужный репозиторий обычно подключен.
yum install ejabberd
Debian-based дистрибутивы (Debian, *Ubuntu и другие)
Ejabberd входит в основную ветку репозитория, поэтому для установки просто скомандуйте:
apt-get install ejabberd
Gentoo
Для установки ejabberd в Gentoo GNU/Linux выполните команды
echo "net-im/ejabberd pam ssl zlib mod_muc mod_pubsub web" >> /etc/portage/package.use emerge ejabberd
Установка готовых бинарников
Установка из готовых бинарных пакетов делается за несколько простых шагов:
- Скачиваете подходящий run-файл по адресу https://www.process-one.net/en/ejabberd/archive/
- Запускаете командой bash ejabberd-*.run
- Cледуете указаниям программы установки.
Сборка из исходников
Настройка
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п.
Настройка сервера сводится к редактированию файла конфигурации /etc/ejabberd/ejabberd.yml (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя root в любом удобном для Вас текстовом редакторе, после чего найдите следующие секции: секцию acl и секцию hosts.
В первом параметре задается Jabber ID администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду:
acl: admin: user: - "admin": "myjabber.ath.cx" ## hosts: Domains served by ejabberd. ## You can define one or several, for example: ## hosts: ## - "example.net" ## - "example.com" ## - "example.org" hosts: - "myjabber.ath.cx"
В данном случае JID администратора задан admin@myjabber.ath.cx, а имя сервера, как уже условились выше - myjabber.ath.cx.
Теперь в том же файле найдите секцию access_rules, а в ней - параметр register:
access_rules: register: - allow
и замените deny на allow - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента.
Сохраните изменения и перезапустите ejabberd командой
/etc/init.d/ejabberd restart
После этого создайте нового пользователя admin@myjabber.ath.cx используя Ваш Jabber-клиент. В браузере сервисов для этой учетной записи будут доступны основные функции администрирования, а используя параметры этого аккаунта Вы сможете авторизоваться в веб-интерфейсе по адресу http://myjabber.ath.cx:5280/admin