ejabberd...

Rodrigo Ahumada rodahummont en gmail.com
Vie Ene 22 22:56:39 CLST 2010


cosme escribió:
> Hola
> 
> Necesito guardar las conversaciones de usuarios uso Debian Lenny
> 
> He probado con el modulo mod_logxml from
> http://svn.process-one.net/ejabberd-modules/mod_logxml seguí los pasos 
> según
> muestra para eso módulo pero el tema es que no hace nada???
> 
> Traté descargando el mod_logxml.erl que viene para ese módulo y lo puse en
> /var/lib/ejabberd/ pero nada tambienprobé ponerlo en /usr/src/ but nothing
> 
> DOnde se pone en /usr/lib/ejabberd/  donde y por qué no genera los 
> ficheros .beam según dice

no se mucho de ejabberd, pero sí algo de erlang.

los archivos .erl son los fuentes, pero el intérprete sólo ejecuta los 
archivos compilados (los .beam)

para compilar por ejemplo ese módulo, se usa este comando:

erlc mod_logxml.erl

eso crea el archivo mod_logxml.beam

generalmente si el modulo lo bajaste por svn, viendo en la página 
http://www.ejabberd.im/ejabberd-modules dicen que en el directorio con 
las fuentes del módulo específico ejecutes:

/build.sh

ese comando debe ser el que ejecuta erlc a el o los archivos .erl, y 
genera los .beam. Como convención los .beam quedan en un directorio 
ebin/  y debes copiarlos a el directorio ebin/ de la instalacion de 
ejabberd

(si no sabes donde es, haz una búsqueda a lo bruto en todo el sistema de 
donde están los archivos .beam, alguna pista saldrá)


______________________________________________________________________________________ 

> Uso ejabberd 2.0.1 del paquete que trae Debian LennyThis is the error 
> report=INFO REPORT==== 2010-01-21 20:05:39 
> ===D(<0.347.0>:ejabberd_s2s_out:800) : 
> terminated:{shutdown,wait_for_validation}=INFO REPORT==== 2010-01-21 
> 20:05:39 ===D(<0.343.0>:ejabberd_s2s_out:800) : terminated: 
> {shutdown,stream_established}=ERROR REPORT==== 2010-01-21 20:05:43 
> ===E(<0.37.0>:gen_mod:66) : {undef, 
> [{mod_logxml,start,                            ["jabber2.rosrt.cu", 
> [{stanza,[message,other]}, {direction,[internal,external]}, 
> {orientation,[send,recv]}, {logdir,"/var/log/ejabberd/convertations/"}, 
> {timezone,local},                              {rotate_days,1}, 
> {rotate_megs,no},                              {rotate_kpackets,no}, 
> {check_rotate_kpackets,1}]]}, 
> {gen_mod,start_module,3},                           {lists,foreach,2}, 
> {ejabberd_app,start,2}, {application_master,start_it_old,4}]}Qué pudiese 
> pasar???Saludos,Cosme
> 
> 

cuando erlang se encuentra con un error (en realidad cuando alguno de 
los procesos que se ejecutan dentro de erlang explota por algún error), 
lanza un registro, que empieza con algo asi como:

{tipo_de_error, [{modulo, funcion, parametros}, {modulo, funcion, 
parametros}, ...]}

el tipo de error por ejemplo "undef" significa que o el módulo no se 
encontró (es lo más probable, no encontró el .beam), o la función no 
está definida dentro del moódulo

otro error típico puede ser badarg, que significa error de tipo de 
argumentos pasados a alguna función. Lo típico es algún error en 
escribir los archivos de configuración de algún módulo.


Más información sobre la lista de distribución Linux