<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dr. Danguer y Mr. Daniel &#187; ejabberd</title>
	<atom:link href="http://vida.danguer.com/tag/ejabberd/feed/" rel="self" type="application/rss+xml" />
	<link>http://vida.danguer.com</link>
	<description>Un blog más de un freelancer</description>
	<lastBuildDate>Sun, 31 Jan 2010 00:14:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ejabberd y mod_archive</title>
		<link>http://vida.danguer.com/2008/06/10/ejabberd-y-mod_archive/</link>
		<comments>http://vida.danguer.com/2008/06/10/ejabberd-y-mod_archive/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 00:12:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Trabajo]]></category>
		<category><![CDATA[ejabberd]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[mod_archive]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://vida.danguer.com/?p=19</guid>
		<description><![CDATA[<p>Hace algo de tiempo conocí <a title="Descargar Ejabberd " href="http://www.ejabberd.im" target="_blank">ejabberd</a>, es un servidor de Jabber de alto desempeño; inicialmente debo admitir que no me gustó mucho principalmente porque está escrito en <a title="Página de Erlang" href="http://www.erlang.org/" target="_blank">Erlang</a> y que tenía poca documentación, además de que cometer un error de configuración mostraba muchisimos datos sin sentido para programadores de <em>Erlang</em> y nada en lenguaje &#8216;humano&#8217;.<br />
Ahora el proyecto ha madurado considerablemente y una de las ventajas por la que sigo utilizando <em>Ejabberd</em> es que es el único servidor <a title="Página de Jabber" href="http://www.jabber.org" target="_blank">Jabber</a> open source en manejar clustering.</p>
<p>Recientemente me pidieron instalar un módulo para almacenar la historia de las conversaciones, algo que hace por ejemplo Google Talk (que está implementado en Jabber), este es el protocolo: <a title="XEP-0136 Almacenar historial de conversaciones" href="http://www.xmpp.org/extensions/xep-0136.html" target="_blank">XEP-0136</a> y utilizar la opción de guardar conversaciones automáticamente (sin intervención del usuario para solicitar que se almacene).<br />
Hay diversos modulos para implementar esto en ejabberd, pero buscando me encontré que <a title="Página de mod_archive" href="http://www.ejabberd.im/mod_archive" target="_blank">mod_archive</a> es el mejor y el que se encuentra con desarrollo activo.<br />
El problema es que prácticamente no existe documentación ni información de si por ejemplo funcionaría en Ejabberd 2 que es la versión del servidor que utilizo.</p>
<p>A prueba y error y con algunos pequeños documentos que me encontré descubrí que si funciona en la versión 2.0, a continuación vienen los pasos para hacerlo funcionar con MySQL:</p>
<ul>
<li>Compilar ejabberd para que acepte odbc<br />
<code>./configure --enable-odbc</code></li>
<li>Descargar los módulos de ejabberd<br />
<code>svn co http://svn.process-one.net/ejabberd-modules</code></li>
<li>Compilar el módulo interno de MySQL de los módulos descargados de ejabberd
<pre>cd mysql/trunk
./build.sh
cp ebin/*.beam /directorio_ejabberd/var/lib/ejabberd/ebin/</pre>
</li>
<li>Compilar el módulo de archivo (mod_archive)
<pre>cd mod_archive/trunk
./build.sh
cp ebin/*.beam /directorio_ejabberd/var/lib/ejabberd/ebin/</pre>
</li>
<li>Editar el archivo de configuración de Ejabberd para habilitar odbc<br />
<code>{odbc_server, {mysql, "direccion_servidor", "base_de_datos", "usuario", "contraseña"}}.</code></li>
<li>Editar el archivo para agregar mod_archive (parte de <code>{modules</code>,&#8230;)
<pre>{mod_archive_odbc,  [{database_type, "mysql"},
{default_auto_save, true},
{enforce_default_auto_save, false},
{default_expire, infinity},
{enforce_min_expire, 0},
{enforce_max_expire, infinity},
{replication_expire, 31536000},
{session_duration, 1800},
{wipeout_interval, 86400}
]},</pre>
</li>
<li>Crear la base de datos utilizando el archivo: <code>ejabberd-modules/mod_archive/trunk/src/mod_archive_odbc_mysql.sql</code></li>
</ul>
<p>Hay que hacer notar que el archivo sql es para&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Hace algo de tiempo conocí <a title="Descargar Ejabberd " href="http://www.ejabberd.im" target="_blank">ejabberd</a>, es un servidor de Jabber de alto desempeño; inicialmente debo admitir que no me gustó mucho principalmente porque está escrito en <a title="Página de Erlang" href="http://www.erlang.org/" target="_blank">Erlang</a> y que tenía poca documentación, además de que cometer un error de configuración mostraba muchisimos datos sin sentido para programadores de <em>Erlang</em> y nada en lenguaje &#8216;humano&#8217;.<br />
Ahora el proyecto ha madurado considerablemente y una de las ventajas por la que sigo utilizando <em>Ejabberd</em> es que es el único servidor <a title="Página de Jabber" href="http://www.jabber.org" target="_blank">Jabber</a> open source en manejar clustering.</p>
<p>Recientemente me pidieron instalar un módulo para almacenar la historia de las conversaciones, algo que hace por ejemplo Google Talk (que está implementado en Jabber), este es el protocolo: <a title="XEP-0136 Almacenar historial de conversaciones" href="http://www.xmpp.org/extensions/xep-0136.html" target="_blank">XEP-0136</a> y utilizar la opción de guardar conversaciones automáticamente (sin intervención del usuario para solicitar que se almacene).<br />
Hay diversos modulos para implementar esto en ejabberd, pero buscando me encontré que <a title="Página de mod_archive" href="http://www.ejabberd.im/mod_archive" target="_blank">mod_archive</a> es el mejor y el que se encuentra con desarrollo activo.<br />
El problema es que prácticamente no existe documentación ni información de si por ejemplo funcionaría en Ejabberd 2 que es la versión del servidor que utilizo.</p>
<p>A prueba y error y con algunos pequeños documentos que me encontré descubrí que si funciona en la versión 2.0, a continuación vienen los pasos para hacerlo funcionar con MySQL:</p>
<ul>
<li>Compilar ejabberd para que acepte odbc<br />
<code>./configure --enable-odbc</code></li>
<li>Descargar los módulos de ejabberd<br />
<code>svn co http://svn.process-one.net/ejabberd-modules</code></li>
<li>Compilar el módulo interno de MySQL de los módulos descargados de ejabberd
<pre>cd mysql/trunk
./build.sh
cp ebin/*.beam /directorio_ejabberd/var/lib/ejabberd/ebin/</pre>
</li>
<li>Compilar el módulo de archivo (mod_archive)
<pre>cd mod_archive/trunk
./build.sh
cp ebin/*.beam /directorio_ejabberd/var/lib/ejabberd/ebin/</pre>
</li>
<li>Editar el archivo de configuración de Ejabberd para habilitar odbc<br />
<code>{odbc_server, {mysql, "direccion_servidor", "base_de_datos", "usuario", "contraseña"}}.</code></li>
<li>Editar el archivo para agregar mod_archive (parte de <code>{modules</code>,&#8230;)
<pre>{mod_archive_odbc,  [{database_type, "mysql"},
{default_auto_save, true},
{enforce_default_auto_save, false},
{default_expire, infinity},
{enforce_min_expire, 0},
{enforce_max_expire, infinity},
{replication_expire, 31536000},
{session_duration, 1800},
{wipeout_interval, 86400}
]},</pre>
</li>
<li>Crear la base de datos utilizando el archivo: <code>ejabberd-modules/mod_archive/trunk/src/mod_archive_odbc_mysql.sql</code></li>
</ul>
<p>Hay que hacer notar que el archivo sql es para <a title="Mysql Versión 5" href="http://dev.mysql.com/downloads/mysql/5.0.html" target="_blank">MySQL 5</a> y posteriores (para utilizarlo con una versión anterior hay que eliminar la parte de <strong>triggers</strong>), además el archivo crea una base de datos llamada ejabberd, si se necesita otro nombre editarlo para ya sea eliminar la parte de crear o cambiar el nombre de la base de datos que será creada; utiliza el prefijo <code>archive_</code> para sus tablas.</p>
<p>Iniciar (o reiniciar) el servicio de ejabberd y a partir de ahora todas las conversaciones serán guardadas en mysql.</p>
]]></content:encoded>
			<wfw:commentRss>http://vida.danguer.com/2008/06/10/ejabberd-y-mod_archive/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
