LINUX.ORG.RU
ФорумAdmin

Jabber server


0

0

При регистрации пользователя на сервере в логах c2s.log выдает

[ip:port]connect

[ip:port]disconnect

И так до бесконечности.

В остальных логах все без ошибок. База данных пользователей на Postgres.

Есть какие-нибуть идеи по этому поводу?

anonymous

Вован google.ru рулет.
su
groupadd jabber
useradd -g jabber jabber
Создаем директории для базы данных, логов и PID-файлов:

mkdir -p /usr/local/var/jabberd/db
mkdir -p /usr/local/var/jabberd/log
mkdir -p /usr/local/var/jabberd/pid
Меняем пользователя созданных каталогов:

chown -R jabber:jabber /usr/local/var/jabberd
Качаем и разархивируем исходники Jabberd2, с сайта, указанного в начале статьи. Заходим в созданный после разархивирования каталог, и даем команду:

./configure --enable-authreg=db --enable-storage=
db -with-berkeley-db=/usr/local/BerkeleyDB.4.2
Последний ключ пришлось поставить, потому что, jabberd2 пока "не обучен" искать каталоги BerkeleyDB версии 4.2 самостоятельно. Далее выполняем команды:

make
make install
В случае успешной отработки, мы получаем в /usr/local/bin бинарники, а в /usr/local/etc/jabberd конфигурационные файлы сервера Jabberd2.

Заходим пользователем jabber и пробуем запустить сервер скриптом jabberd:

su jabber
/usr/local/bin/jabberd
Если скрипт "вылетает" с ошибкой, попробуйте запустить его с ключем "-D". Кроме того в модули сервера пишут сообщения о ходе загрузки в /var/log/messages.

На этом этапе уже можно попробовать зарегистрироваться и зайти на сервер клиентом (о клиентах далее), и посмотреть лог. Выглядеть это должно примерно так:


В качестве имени хоста при регистрации укажите свой IP адрес, а портом по умолчанию, на котором "слушает" сервер - 5222.

Настройка Jabberd2
Все конфигурационные файлы - это файлы в формате xml. Их можно редактировать любым текстовым редактором, например vi, или редактором, встроенным в mc. В папке /usr/local/etc/jabberd расположены по одному конфигурационному файлу на каждый модуль сервера:

router - осуществляет связи между всеми модулями.

s2s (Server to Server) - отвечает за связь с другими, внешними серверами jabber-а

resolver - разрешает имена для модуля s2s.

sm - отвечает за доставку сообщений и другие функции

c2s - отвечает за взаимодействие с клиентами

На www.jabberdoc.org/jabberd_guide вы можете ознакомится со схемой, на которой наглядно представлен процесс взаимодействия различных компонентов сервера.

Что необходимо в конфигах исправить.

Во-первых, нужно указать что мы работаем не с MySQL, как установлено по умолчанию, а с Berkeley DB. Правим sm.xml. В секции <storage> ищем строку <driver>mysql</driver>, и меняем mysql на db.

В файле с2s.xml ищем секцию <authreg>, строка <module>mysql</module>. Меняем на db.

Далее - проходим по конфигурационным файлам c2s и sm, и где необходимо, меняем прописанные по умолчанию localhost на имя вашего домена. В первом - после заголовка "Local network configuration", во втором - Session manager configuration. Выглядеть в файле это должно таким образом: <id>host.ru</id>.

Определим пользователя администратора (он может видеть всех он-лайн пользователей, посылать "сообщение дня" и т.д.). В sm.xml ищем admin@lsomedomain.com и меняем на vasya-pupkin@host.ru.

В принципе, для внутреннего, закрытого извне сервера вышеописанной настройки достаточно.

Если Вы хотите чтоб система была внутрикорпоративной, не оставляйте на межсетевом экране открытыми порты, по которым работает Jabberd. Кроме того, в c2s.xml Вы можете указать с каких IP-адресов можно принимать запросы, а от каких нельзя. По умолчанию разрешены все.

В целях безопасности неплохо было бы изменить установленный по умолчанию пароль, для взаимодействия между серверам, и никогда не запускать сервер Jabber из-под суперпользователя.

anonymous
()
Ответ на: комментарий от anonymous

Олег, оно конечно спасибо, но гуглом я пользоваться умею, и Беркли меня не интересует, мне интересен только постгрес.

anonymous
()
Ответ на: комментарий от anonymous

Олег я попробовал опции --enable-storage=mysql --enable-authreg=mysql результат как у вована В логе c2s.xml тоже самое, очем говорил вован

[7] [192.168.0.1, port=1123] connect [7] [192.168.0.1, port=1123] disconnect [7] [192.168.0.1, port=1124] connect [7] [192.168.0.1, port=1124] disconnect

Берклай еще не пробробовал

Что самое интересное в логах при запуске пишется

jabberd/c2s[1363]: initialised auth module 'mysql'

initialised storage driver 'mysql'

Chub
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.