запуск jabber-сервера (ошибка при запуске службы)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Onibi
Сообщения: 7
ОС: Debian 4.0

запуск jabber-сервера

Сообщение Onibi »

Возникла необходимость заменить дикую связку jabberd с кучей всякого барахла на ejabberd с pyICQt и pyMSNt в нагрузку.

Но вот где-то возник косяк и служба совершенно отказывается запускаться хоть через ejabberdctl хоть через /etc/init.d/ejabberd start

В логи сыпятся сообщение такого вида:

Код: Выделить всё

tail /var/log/ejabberd/ejabberd.log

=ERROR REPORT==== 2009-03-23 15:59:43 ===
E(<0.32282.2457>:ejabberd_rdbms:67) : Start of supervisor 'ejabberd_odbc_sup_jabber.###.ru' failed:
{error,{shutdown,{child,undefined,
                        'ejabberd_odbc_sup_jabber.###.ru',
                        {ejabberd_odbc_sup,start_link,["jabber.###.ru"]},
                        transient,infinity,supervisor,
                        [ejabberd_odbc_sup]}}}
Retrying...

Есть у кого идею в чём может быть камень преткновения ?

P.S. Система debian 4.0
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: запуск jabber-сервера

Сообщение skor »

Эммм...
Рискну предположить что в ODBC?
Спасибо сказали:
Onibi
Сообщения: 7
ОС: Debian 4.0

Re: запуск jabber-сервера

Сообщение Onibi »

проблема в том, что odbc я и не собирался юзать , и ни на одном ранее запущенном сервере подобного не делал и всё работало нормально =/
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: запуск jabber-сервера

Сообщение danger08 »

Раз odbc не нужен, попробуйте запретить его использование при configure (вроде там ключики есть специальные, для такого дела).
Пересоберите и попробуйте снова.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: запуск jabber-сервера

Сообщение Frank »

1) убедитесь, что правильно настроили конфиг
2) в случае неудачного запуска еджаббера, перед повторной попыткой нужно убить (kill) следующие процессы: epmd, beam, и (если остались) все (killall) процессы inet_gethost
3) смотеть в логи эрланга - мозг повредить, поэтому для отладки рекомендую делать su ejabberd (или какого юзера для запуска вы определили), ejabberd
- после этого будет хоть более-менее вменяемое описание ошибки...
Изображение
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: запуск jabber-сервера

Сообщение Frank »

Хохо, обновил ОС, и теперь джаббер обламался работать с той же самой траблой, что у топик-стартера:

Код: Выделить всё

=ERROR REPORT==== 2009-04-25 14:39:43 ===
E(<0.35.0>:ejabberd_rdbms:67) : Start of supervisor 'ejabberd_odbc_sup_fqc.org.ua' failed:
{error,{shutdown,{child,undefined,'ejabberd_odbc_sup_fqc.org.ua',
                        {ejabberd_odbc_sup,start_link,["fqc.org.ua"]},
                        transient,infinity,supervisor,
                        [ejabberd_odbc_sup]}}}
Retrying...

отказался бы вообще от этого поделия, если бы существовал другой, нормальный сервер, не требовательный к памяти ис конференциями.
Изображение
Спасибо сказали:
aka
Сообщения: 171

Re: запуск jabber-сервера

Сообщение aka »

Frank писал(а):
25.04.2009 15:42
отказался бы вообще от этого поделия, если бы существовал другой, нормальный сервер, не требовательный к памяти ис конференциями.


Тогда не пойму чем вам Опефайр не под ходит?У меня 100-150 пользователей ВМ памяти отьедает до 250Мб, разве это много на сегодня?:)
Мой блог -- unixway.info --
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: запуск jabber-сервера

Сообщение danger08 »

aka писал(а):
27.04.2009 10:28
Frank писал(а):
25.04.2009 15:42
отказался бы вообще от этого поделия, если бы существовал другой, нормальный сервер, не требовательный к памяти ис конференциями.

Тогда не пойму чем вам Опефайр не под ходит?У меня 100-150 пользователей ВМ памяти отьедает до 250Мб, разве это много на сегодня?:)

[OFFTOPIC]
Иногда критично) У меня jabberd2 стоит на VPS у провайдера, и там лимит памяти 256Мб.
Пользователей всего 10, и все работает просто отлично. Представьте, что будет, если я туда поставлю openfire :rolleyes:
[OFFTOPIC]
Блогосайт - http://www.fateyev.com
Спасибо сказали:
aka
Сообщения: 171

Re: запуск jabber-сервера

Сообщение aka »

danger08 писал(а):
27.04.2009 12:14
aka писал(а):
27.04.2009 10:28
Frank писал(а):
25.04.2009 15:42
отказался бы вообще от этого поделия, если бы существовал другой, нормальный сервер, не требовательный к памяти ис конференциями.

Тогда не пойму чем вам Опефайр не под ходит?У меня 100-150 пользователей ВМ памяти отьедает до 250Мб, разве это много на сегодня?:)

[OFFTOPIC]
Иногда критично) У меня jabberd2 стоит на VPS у провайдера, и там лимит памяти 256Мб.
Пользователей всего 10, и все работает просто отлично. Представьте, что будет, если я туда поставлю openfire :rolleyes:
[OFFTOPIC]


Ну, применительно к вашему случаю, то действительно критично.Но как бы, если есть желание поднять именно "нормальный сервер, не требовательный к памяти ис конференциями.", то опенфайер самое оно.
Мой блог -- unixway.info --
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: запуск jabber-сервера

Сообщение Frank »

У меня ща памяти 512 на всё про всё, коммит меммори под 900, куда там яву... нафиг, нафиг. Шило на мыло.
Починил, кстати. Раскомментировал опции odbc_pool_size и odbc_keepalive_interval. Вот такой вот юмор. Ведь используется internal аутентификация и хранение в собственной базе (к мускулю привязать не смог, всё время твердит таймаут).
Изображение
Спасибо сказали:
wetch
Сообщения: 51
ОС: debian

Re: запуск jabber-сервера

Сообщение wetch »

Автор, конфиг ejabberd выложи. Сам на днях маялся и примерно представляю в чём проблема...
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: запуск jabber-сервера

Сообщение Frank »

и уровень дебага увеличить до 5, выложить конец лога /var/log/ejabberd/ejabberd.log
Изображение
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: запуск jabber-сервера

Сообщение Ленивая Бестолочь »

бьюсь с такой проблемой. или почти с такой.
ejabberd, авторизация в ldap (работает), vcard в ldap (работает), хранение всего, что только можно в postgres (не работает).

конфиг ejabberd:

Код: Выделить всё

taiga:~# cat /etc/ejabberd/ejabberd.cfg| grep -v '%%'| grep -v '^$'
{acl, admin, {user, "rakul", "xxxbank.ru"}}.
{acl, admin, {user, "al", "xxxbank.ru"}}.
{acl, admin, {user, "muzelin", "xxxbank.ru"}}.
{hosts, ["xxxbank.ru"]}.
{loglevel, 2}.
{route_subdomains, s2s}.
{listen,
 [
  {5222, ejabberd_c2s, [
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        starttls, {certfile, "/etc/ejabberd/ejabberd.pem"}
                       ]},
  {5269, ejabberd_s2s_in, [
                           {shaper, s2s_shaper},
                           {max_stanza_size, 131072}
                          ]},
  {5280, ejabberd_http, [
                         http_poll,
                         web_admin
                        ]}
 ]}.
{s2s_use_starttls, true}.
{s2s_certfile, "/etc/ejabberd/ejabberd.pem"}.
{auth_method, internal}.
{auth_method, ldap}.
{ldap_servers, ["rbpost.xxxbank.ru"]}.
{ldap_rootdn, "cn=admin,dc=xxxbank,dc=ru"}.
{ldap_password, "xxxxxxxxxxxx"}.
{ldap_base, "dc=xxxbank,dc=ru"}.
{ldap_uids, [{"uid", "%u"}]}.
{ldap_filter, "(objectClass=xxxbankPerson)"}.
{odbc_server, {pgsql, "127.0.0.1", "ejabberd", "postgres", "xxxxxxxxxx"}}.
{pgsql_users_number_estimate, true}.
{odbc_pool_size, 10}.
{odbc_keepalive_interval, undefined}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{acl, local, {user_regexp, ""}}.
{access, max_user_sessions, [{10, all}]}.
{access, local, [{allow, local}]}.
{access, c2s, [{deny, blocked},
               {allow, all}]}.
{access, c2s_shaper, [{none, admin},
                      {normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, register, [{deny, all}]}.
{access, pubsub_createnode, [{allow, all}]}.
{language, "en"}.
{modules,
 [
  {mod_adhoc,    []},
  {mod_announce, [{access, announce}]}, % requires mod_adhoc
  {mod_caps,     []},
  {mod_configure,[]}, % requires mod_adhoc
  {mod_ctlextra, []},
  {mod_disco,    []},
  {mod_irc,      []},
  {mod_last_odbc,     []},
  {mod_muc,      [
                  {host, "chat.@HOST@"},
                  {access, muc},
                  {access_create, muc},
                  {access_persistent, muc},
                  {access_admin, muc_admin},
                  {max_users, 500}
                 ]},
  {mod_offline_odbc,  []},
  {mod_privacy,  []},
  {mod_private,  []},
  {mod_proxy65,  [
                  {access, local},
                  {shaper, c2s_shaper}
                 ]},
  {mod_pubsub,   [ % requires mod_caps
                  {access_createnode, pubsub_createnode},
                  {plugins, ["default", "pep"]}
                 ]},
  {mod_roster_odbc,   []},
    {mod_vcard_ldap,
     [
      {ldap_vcard_map,
       [{"NICKNAME", "%u", []}, % just use user's part of JID as his nickname
        {"LAST", "%s", ["sn"]},
        {"FN", "%s", ["cn"]}, % example: "Smith, John"
        {"TEL", "%s", ["telephoneNumber"]},
        {"ORGUNIT", "%s", ["ou"]},
        {"TITLE", "%s", ["title"]},
        {"ORGNAME", "%s", ["o"]},
        {"LOCALITY", "%s", ["l"]},
        {"STREET", "%s", ["street"]},
        {"EMAIL", "%s", ["mail"]}]},
      {ldap_search_fields,
       [{"User", "%u"},
        {"Family Name", "sn"},
        {"Full Name", "cn"}, % example: "Smith, John"
        {"Email", "mail"}]},
      {ldap_search_reported,
       [{"Full Name", "FN"},
        {"Nickname", "NICKNAME"}]}
    ]},
  {mod_stats,    []},
  {mod_time,     []},
  {mod_version,  []}
 ]}.
taiga:~#


при запуске стартует, но подключиться к нему нельзя.
в логах вот такое:

Код: Выделить всё

=ERROR REPORT==== 2009-08-10 18:01:48 ===
E(<0.38.0>:ejabberd_rdbms:67) : Start of supervisor 'ejabberd_odbc_sup_xxxxbank.ru' failed:
{error,{shutdown,{child,undefined,'ejabberd_odbc_sup_xxxxbank.ru',
                        {ejabberd_odbc_sup,start_link,["xxxxbank.ru"]},
                        transient,infinity,supervisor,
                        [ejabberd_odbc_sup]}}}
Retrying...

пароль/логин на базу данных правильный - можно подключиться с помощью phppgadmin.
на всякий случай acl-и pg:

Код: Выделить всё

taiga:~# tail /etc/postgresql/8.4/main/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
host  all  all  172.16.116.188/32 password
host  all  all  0.0.0.0  0.0.0.0  reject
taiga:~#


при запуске ejabberd из-под его юзера в консоли сыплет на экран такими сообщениями в нереальном колличестве.

знатоки эрланга, помогите :)

п.с. сейчас зачитываюсь про всякие pgsql.beam, которые надо подкладывать в ebin.
все правда так дремуче?
(apt-file не нашел в репозиториях дебиана pgsql.beam)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: запуск jabber-сервера

Сообщение KiWi »

А вот здесь и скрывается весь прикол -- pgsql добавляется руками. Вот такой вот erlang.
SVN репозиторий: http://svn.process-one.net/ejabberd-modules/pgsql/trunk (правда, не помню -- вполне возможно, что надо checkout'ить всю директорию с модулями).

Для сравнения работающий конфиг от ejabberd-2.0.2:

Код:

override_global. override_local. override_acls. {language, "en"}. {hosts, ["juventas.ru", "cpms.ru"]}. {domain_certfile, "juventas.ru", "/srv/juventas.ru/svc.juventas.ru/etc/ssl/certs/juventas.ru.pem"}. {s2s_use_starttls, true}. {s2s_certfile, "/srv/juventas.ru/svc.juventas.ru/etc/ssl/certs/juventas.ru.pem"}. {s2s_default_policy, allow}. {s2s_max_retry_delay, 300}. {listen, [ {5222, ejabberd_c2s, [ starttls, {certfile, "/srv/juventas.ru/svc.juventas.ru/etc/ssl/certs/juventas.ru.pem"}, {access, c2s}, {shaper, none}, {max_stanza_size, 65536} ] }, {5269, ejabberd_s2s_in, [ {shaper, none}, {max_stanza_size, 131072} ] }, {5347, ejabberd_service, [ {hosts, ["icq.juventas.ru"], [{password, "123"}]}, {shaper, none}, {service_check_from, false} ] }, {5270, ejabberd_http, [http_poll]}, {5280, ejabberd_http, [web_admin, {ip, {1, 2, 3, 4}}, tls, {certfile, "/srv/juventas.ru/svc.juventas.ru/etc/ssl/certs/juventas.ru.pem"}]} ] }. {auth_method, odbc}. {odbc_pool_size, 1}. {odbc_keepalive_interval, undefined}. {host_config, "juventas.ru", [ {odbc_server, {pgsql, "localhost", "jabber_juventas", "jabberd_ve101", "123"}} ] }. {host_config, "cpms.ru", [ {odbc_server, {pgsql, "localhost", "jabber_cpms", "jabberd_ve101", "123"}} ] }. {acl, local, {user_regexp, ""}}. {host_config, "juventas.ru", [ {acl, admin, {user, "kiwi", "juventas.ru"}} ] }. {host_config, "cpms.ru", [ {acl, admin, {user, "kiwi", "juventas.ru"}}, {acl, admin, {user, "lexx", "cpms.ru"}}, {acl, admin, {user, "rexalex", "cpms.ru"}}, {acl, conf_access, {server, "cpms.ru"}}, {acl, conf_access, {user, "kiwi", "juventas.ru"}} ] }. {access, c2s, [{allow, all}]}. {access, local, [{allow, local}]}. {access, configure, [ {allow, admin}, {deny, all} ] }. {access, announce, [ {allow, admin}, {deny, all} ] }. {access, register, [ {allow, admin}, {deny, all} ] }. {host_config, "cpms.ru", [ {access, conf_access, [ {allow, conf_access}, {deny, all} ] }, {access, conf_create, [ {allow, admin}, {deny, all} ] }, {access, conf_persistent, [ {allow, admin}, {deny, all} ] }, {access, conf_admin, [ {allow, admin}, {deny, all} ] } ] }. {modules, [ {mod_announce, [{access, announce}]}, {mod_adhoc, []}, {mod_caps, []}, {mod_configure, []}, {mod_disco, []}, {mod_last_odbc, []}, {mod_offline_odbc, []}, {mod_privacy_odbc, []}, {mod_private_odbc, []}, {mod_register, [ {access, register}, {welcome_message, {"Welcome!", "Welcome to this Jabber server."}} ] }, {mod_roster_odbc, []}, {mod_time, []}, {mod_vcard_odbc, [ {host, "vcard.@HOST@"}, {search, true}, {matches, 10}, {allow_return_all, false} ] }, {mod_version, []} ] }. {host_config, "cpms.ru", [ {{add, modules}, [ {mod_muc, [ {host, "conference.cpms.ru"}, {access, conf_access}, {access_create, conf_create}, {access_persistent, conf_persistent}, {access_admin, conf_admin}, {history_size, 10}, {max_users, 128}, {max_users_admin_threshold, 4}, {max_user_conferences, 8}, {default_room_options, [ {allow_change_subj, false}, {allow_private_messages, true}, {allow_query_users, true}, {allow_user_invites, true}, {anonymous, false}, {logging, false}, {max_users, 128}, {members_by_default, true}, {members_only, false}, {moderated, false}, {password_protected, false}, {persistent, false}, {public, false}, {public_list, false}, {title, ""} ] } ] }, {mod_shared_roster, []} ] } ] }.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: запуск jabber-сервера

Сообщение Ленивая Бестолочь »

спасибо KiWi, в общем нашел пакет для федоры:
http://rpm.pbone.net/index.php3/stat/4/idp...9.i386.rpm.html
(для дебиана такого пакета нет)
конвертнул его alien-ом в deb, поставил, все работает.

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