Устанавливаем Jabber/XMPP (ejabberd) на CentOS 6.3

   Рассмотрим установку сервера ejabberd для использования с открытым доступом из Интернет.

Установка:

Систему будем ставить на CentOS 6.3

yum install ejabberd

Как видим у меня ejabberd берется из репозитория EPEL, поэтому советую вам поставить этот репозиторий. Смысла собирать из исходников не вижу, так как в EPEL уже содержится последняя версия.

У кого нет репозитория EPEL, ставив с зеркала яндекса

для i386

rpm -ihv http://mirror.yandex.ru/epel/6/i386/epel-release-6-7.noarch.rpm

для x86_64

rpm -ihv http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-7.noarch.rpm

После установки выполнитеEPEL

yum update

Продолжим установку. После выполнения команды «yum install ejabberd» у нас в системе появится пользователь ejabberd, будет создан каталог /etc/ejabberd с файлами ejabberd.cfg, ejabberdctl.cfg, ejabberd.pem и inetrc.

Сделаем копию дефаултного конфига

cp /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberd.cfg.default

Настройку сервера начнем с файла ejabberd.cfg - конфига сервера. Прежде всего надо выделить администратора сервера для удаленного управление XMPP-сервером. Для этого вписываем следующую строку:

{acl, admin, {user, "admin", "myserver.ru"}}.

Таким образом, администратором сервера будет пользователь с JID admin@myserver.ru

Настраиваем привязку XMPP-сервера к домену. Ищем строку по слову hosts и изменяем на следующее:

{hosts, ["myserver.ru"]}.

 Проверяем наличие в конфиге раздела, описывающая рабочие порты XMPP-сервиса

5222 (TCP) — используется для клиентских подключений
5269 (TCP) — для входящих межсерверных подключений (S2S, Server-to-Server)
5280 (TCP) — веб-админка

На этом первоачальные настройки закончены, пробуем запустить сервер:

service ejabberd start

По умолчанию ejabberd не позволяет регистрировать аккаунты извне с помощью клиентов. Поэтому нужно добавить пользователя на этот хост из консоли. Эта команда зарегистрирует пользователя admin@myserver.ru с паролем pass

ejabberdctl register admin myserver.ru passwd

Теперь можно зайти в web-интерфейс сервера по адресу

http://myserver.ru:5280/admin

И последнее что нам осталось сделать, это добавить службу в автозагрузку и написать необходимые правила в фаерфол:

Добавляем ejabberd в автозагрузку

chkconfig ejabberd on

Проверяем, что Ejabberd прописан

chkconfig --list ejabberd

Правил для iptables

-A INPUT -i eth0 -p tcp -m tcp --dport 5222 -j ACCEPT
— A INPUT -i eth0 -p tcp -m tcp --dport 5269 -j ACCEPT
— A INPUT -i eth0 -p tcp -m tcp --dport 5280 -j ACCEPT

Если вы используетет скрипт то

iptables -A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5280 -j ACCEPT

Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




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

Установка, настройка, мониторинг и администрирование linux, unix, windows систем