ejabberd не вешается на сетевой интерфейс [РЕШЕНО]
SbOy 27 Августа, 2008 - 01:27
Всем доброго времени суток.
Я чего-то в этом сервере сильно не понимаю.
Есть днс адрес: bagrincev.ru
Есть машина с именем bagrincev
Но при всём этом при запуске ejabberd я вижу в 'lsof -i | grep 5222' ничего.
Мой конфиг:
{loglevel, 4}.
{hosts, ["localhost", bagrincev.ru]}.
{listen,
[
{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},
{5269, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_poll,
web_admin
]}
]}.
{auth_method, internal}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{acl, admin, {user, "sb0y", "bagrincev.ru"}}.
{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, [{allow, all}]}.
{access, pubsub_createnode, [{allow, all}]}.
{language, "en"}.
{modules,
[
{mod_adhoc, []},
{mod_announce, [{access, announce}]}, % recommends mod_adhoc
{mod_caps, []},
{mod_configure,[]}, % requires mod_adhoc
{mod_disco, []},
%%{mod_echo, [{host, "echo.localhost"}]},
{mod_irc, []},
{mod_last, []},
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin}
]},
%%{mod_muc_log,[]},
{mod_offline, []},
{mod_privacy, []},
{mod_private, []},
%%{mod_proxy65,[]},
{mod_pubsub, [ % requires mod_caps
{access_createnode, pubsub_createnode},
{plugins, ["default", "pep"]}
]},
{mod_register, [
%%
%% After successful registration, the user receives
%% a message with this subject and body.
%%
{welcome_message, {"Welcome!",
"Welcome to this Jabber server."}},
%%
%% When a user registers, send a notification to
%% these Jabber accounts.
%%
%%{registration_watchers, ["admin1@example.org"]},
{access, register}
]},
{mod_roster, []},
%%{mod_service_log,[]},
{mod_shared_roster,[]},
{mod_stats, []},
{mod_time, []},
{mod_vcard, []},
{mod_version, []}
]}.
Общался на днях с счастливыми обладателями этих серверов и мою проблему встретили с изумлением, мол изменили хостнейм, добавили админа и всё заработало.
Может ли крытся проблема в нескольких сетевых интерфейсах?
»
- Для комментирования войдите или зарегистрируйтесь

есть мысль что
есть мысль что конфиг нужно от каментов почистить прежде чем постить на форум,
по теме:
посмотри содержимое sasl.log хотя может оно и нескажет тебе ничего хорошего.что показывает
также стоит попробовать заменить
{hosts, ["localhost", bagrincev.ru]}.
на
{hosts, ["bagrincev.ru"]}.
с одной стороны нет кавычек, а с другой я думаю тебе не нужно 2 виртульных хоста, один из которых можно достать только локально. если я не прав - то нет virt-host специфичной конфигурации в секциях прослушивания портов и модулей. к томуже помни что ёж не может слушать один и тот-же порт на разных интерфейсах, тоесть слушает всегда на 0.0.0.0
>есть мысль что
>есть мысль что конфиг нужно от каментов почистить прежде чем постить на форум,
не вопрос, сейчас почищу =)
>посмотри содержимое sasl.log хотя может оно и нескажет тебе ничего хорошего.что показывает
>hostname -s
# hostname -s
bagrincev
судя по sasl.log демон вообще работает и проблем нет)
>также стоит попробовать заменить
>{hosts, ["localhost", bagrincev.ru]}.
>на
>{hosts, ["bagrincev.ru"]}.
пробовал всё...
по sasl.log нельза
по sasl.log нельза понять работает ли ёж по нему только можно сказать что точно умер, а что нам скажет ejabberdctl status ?
Вот это финт
Вот это финт ушами!
ejabberdctl status
Node ejabberd@bagrincev is started. Status: started
ejabberd is not running
Как это понять??
это значит что
это значит что виртуальная машина работает но ёж - нет. ответ в ejabberd.log
Похоже на
Похоже на причину?
=INFO REPORT==== 2008-08-17 14:26:54 === I(<0.263.0>:ejabberd_listener:112) : (#Port<0.445>) Accepted connection {{195,98,170,227},64093} -> {{213,79,105,7},5222} =INFO REPORT==== 2008-08-17 14:26:59 === I(<0.440.0>:ejabberd_c2s:698) : ({socket_state,gen_tcp,#Port<0.445>,<0.439.0>}) Failed authentication for =INFO REPORT==== 2008-08-17 14:35:03 === I(<0.263.0>:ejabberd_listener:112) : (#Port<0.447>) Accepted connection {{192,168,0,4},45766} -> {{213,79,105,7},5222} =ERROR REPORT==== 2008-08-17 14:35:03 === ** State machine <0.445.0> terminating ** Last event in was {xmlstreamelement, {xmlelement,"response", [{"xmlns","urn:ietf:params:xml:ns:xmpp-sasl"}], [{xmlcdata, <<"Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYW5kcmVpIixyZWFsbT0iYmFncmluY2V2LnJ1Iixub25jZT0iNDE2OTE5ODMyNSIsbmM9MDAwMDAwMDEsY25vbmNlPSI3M2VlZjY2Njg5ZmYwYWE1NmQ4NjViMTE3ODViMTJmZGMwMGI2ZDFkZjhiOTUwZTAxIixkaWdlc3QtdXJpPSJ4bXBwL2JhZ3JpbmNldi5ydSIscmVzcG9uc2U9MWQ4NmZjNjNlZGRlYWY2YmU1YzEzOGNlMTkyZjNiZjAscW9wPWF1dGg=">>}]}} ** When State == wait_for_sasl_response ** Data == {state, {socket_state,gen_tcp,#Port<0.447>,<0.444.0>}, ejabberd_socket,#Ref<0.0.0.9197>,"2875900872", {sasl_state,"jabber","bagrincev.ru",[], #Fun<ejabberd_c2s.1.74696376>, #Fun<ejabberd_c2s.2.131707924>,cyrsasl_digest, {state,3,"4169198325",undefined,undefined, #Fun<ejabberd_c2s.1.74696376>,undefined}}, c2s,c2s_shaper,false,false,false,false,[],false, undefined,[],"bagrincev.ru",[],undefined, {0,nil}, {0,nil}, {0,nil}, {0,nil}, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}, undefined,undefined,undefined,false, {userlist,none,[]}, unknown,unknown, {{192,168,0,4},45766}, []} ** Reason for termination = ** {badarg,[{erlang,port_control, [crypto_drv02,1,"andrei:bagrincev.ru:*****"]}, {crypto,control,2}, {cyrsasl_digest,response,6}, {cyrsasl_digest,mech_step,2}, {cyrsasl,server_step,2}, {ejabberd_c2s,wait_for_sasl_response,2}, {gen_fsm,handle_msg,7}, {proc_lib,init_p,5}]} =INFO REPORT==== 2008-08-17 14:35:41 === I(<0.266.0>:ejabberd_listener:112) : (#Port<0.449>) Accepted connection {{192,168,0,4},60928} -> {{213,79,105,7},5280} =INFO REPORT==== 2008-08-17 14:35:41 === I(<0.258.0>:ejabberd_http:123) : started: {gen_tcp,#Port<0.449>}это похоже на
это похоже на ошибку, но не фатальную. хотя неясно откуда оно. тем более что кто-то коннектится.
останови ежа
прибей все процессы которые работают от пользователя jabber
удали содержимое /var/spool/jabber/
ты определись где у тебя сервер - на jabber.bagrincev.ru или на bagrincev.ru
напиши это имя, например:
{hosts, ["bagrincev.ru"]}.
ещё раз посмотри что виртуальных хост один и проверь чтобы все осталные упоминания ip/хостов ему соответствовали.
запусти ежа.
загляни сюда
http://www.ejabberd.im/common-errors
вполне может быть что ошибка выше в логе
Спасибо
Спасибо большое, помогло =)
Наверное и раньше не получалось потому что до ejabberd я пробовал другие серверы и они засирали spool...
Теперь буду знать, спасибо ещё раз =)
нет.скорее
нет.скорее всего там поднималось 2 vhost один из которых не был настроен, какой по дефолту стартовал непонятно. или они стартовали оба и рождался конфликт портов. но скорее всего первое.
просто нужно внимательнее читать документацию, я так и непонял зачем тебе 2 vhost'a нужно было, скорее всего ты неправильно определил за что отвечает этот параметр.
На вот читни
На вот, читни, может поможет
http://www.opennet.ru/base/net/jabber_icq_gate.txt.html
http://www.process-one.net/docs/ejabberd/guide_en.html
спасибо
спасибо
Создал в зоне
Создал в зоне bagrincev.ru опись для jabber:
icq IN A 213.79.105.7
_jabber._tcp.jabber.bagrincev.ru. 86400 IN SRV 5 0 5269 jabber.bagrincev.ru.
_xmpp-server._tcp.jabber.bagrincev.ru. 86400 IN SRV 5 0 5269 jabber.bagrincev.ru.
_xmpp-client._tcp.jabber.bagrincev.ru. 86400 IN SRV 5 0 5222 jabber.bagrincev.ru.
Поменял хостнейм в ejabberd.cfg, ситуация не поменялась...
Причём icq.bagrincev.ru резольвед нормально, а jabber.bagrincev.ru - нет.
Это нормально?
Что же не то?
ты определись
ты определись где у тебя сервер - на jabber.bagrincev.ru или на bagrincev.ru
после смены хостнейма нужно сносить /var/spool/jabber
Ок, вернул не
Ок, вернул не место)
Ребят! Огромное Вам спасибо!
Вы просто меня спасли! 2 дня парился - не мог его запустить. А тут наткнулся на ваше обсуждение - исправил 3 ошибки и всё поехало! Огромное-преогромное спасибо!