Установка ejabberd под Linux
Рассмотрим установку сервера ejabberd на компьютеры под управлением одного из дистрибутивов GNU/Linux для использования в локальной сети с открытым доступом из Интернет и с использованием службы DynDNS.
Предполагается, что у Вас уже установлена операционная система, настроен доступ в Интернет, а доменное имя на DynDNS (допустим, это будет myjabber.ath.cx) указывает на внешний адрес Вашего компьютера (либо тот, который доступен из Вашей локальной сети, если Вы настраиваете сервер без возможности подключения к нему из Интернета).
Ejabberd может быть установлен на ваш сервер различными способами. Опишу три по убыванию предпочтительности:
- Установка из репозитория/портов. Идеальный по оптимизации и самый простой вариант.
- Сборка из исходного кода. Если этого пакета нет в репозиториях к вашему дистрибутиву, но очень хочется, чтобы сервер был оптимизированным и работал без ошибок - засучиваем рукава и переходим к соответствующему разделу. Тут вам понадобятся некоторые знания о Linux и/или помощь гуру.
- Предварительно собранные бинарные файлы с инсталлятором. Вариант весьма прост, но вряд ли оптимизирован именно под ваш дистрибутив.
Далее подробно рассмотрены эти варианты.
Установка из репозитория
Дистрибутивов Linux великое множество, и нет никакой возможности рассмотреть детали установки в каждом из них. Упомянем наиболее популярные (предполагается наличие прав root):
openSuSE 11.4
Сначала подключим репозиторий, посвящённый программам обмена сообщениями:
zypper addrepo http://download.opensuse.org/repositories/server:/messaging/openSUSE_11.4/ Messaging
- Потом установим сервер:
zypper install ejabberd
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
Установка готовых бинарников
Рассмотрим установку stable-версии 2.1.8 для 32-битного Linux. Для начала нужно скачать инсталлятор:
wget http://www.process-one.net/downloads/ejabberd/2.1.8/ejabberd-2.1.8-linux-x86-installer.bin.gz
Распаковать его:
gunzip ejabberd-2.1.8-linux-x86-installer.bin.gz
И запустить:
chmod +x ejabberd-2.1.8-linux-x86-installer.bin ./ejabberd-2.1.8-linux-x86-installer.bin
Далее следуйте указаниям программы установки.
Сборка из исходников
Настройка
А дальше надо настроить сервер: что делать при загрузке, какие модули использовать, какие порты прослушивать, и т.п.
Настройка сервера сводится к редактированию файла конфигурации /etc/ejabberd/ejabberd.cfg (путь показан на примере Debian GNU/Linux, в других дистрибутивах или при самостоятельной сборке из исходных кодов путь может отличаться). Откройте этот файл от пользователя root в любом удобном для Вас текстовом редакторе, после чего найдите следующие строки:
%% Admin user {acl, admin, {user, "", "localhost"}}.
%% Hostname {hosts, ["example.com"]}.
В первом параметре задается Jabber ID администратора, а во втором - доменное имя сервера. Приведите эти строки примерно к такому виду:
%% Admin user {acl, admin, {user, "admin", "myjabber.ath.cx"}}.
%% Hostname {hosts, ["myjabber.ath.cx"]}.
В данном случае JID администратора задан admin@myjabber.ath.cx, а имя сервера, как уже условились выше - myjabber.ath.cx.
Теперь в том же файле найдите строки
%% No username can be registered via in-band registration: %% To enable in-band registration, replace 'deny' with 'allow' {access, register, [{deny, all}]}.
и замените deny на allow - без этого пользователи сервера не смогут регистрироваться напрямую из своего Jabber-клиента.
Сохраните изменения и перезапустите ejabberd командой
/etc/init.d/ejabberd restart
После этого создайте нового пользователя admin@myjabber.ath.cx используя Ваш Jabber-клиент. В браузере сервисов для этой учетной записи будут доступны основные функции администрирования, а используя параметры этого аккаунта Вы сможете авторизоваться в веб-интерфейсе по адресу http://myjabber.ath.cx:5280/admin