Рассмотрим установку сервера 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
Свежие комментарии