8.4 Instalación de Bandersnatch

Los requerimientos que presenta la versión 0.3 son los siguientes en lo que respecta al script en modo consola.

y los siguientes módulos PERL


Una vez instalados las dependencias de bandersnatch, comenzamos con la instalación y configuración del componente siguiendo los pasos establecidos en el manual provisto por la distribución. A pesar de que el manual es bastante completo , lo es para la versión 1.4.x del servidor Jabberd. Información actualizada para la versión 2 se puede encontrar recorriendo los archivos de la mailing list https://sympa.funkypenguin.co.za/index.htm/arc/bandersnatch.

Dado que es un script, solo procedemos a descomprimir el tarball y luego pasamos a la configuración del mismo.

Para generar la base de datos que utiliza para almacenar los mensajes, debemos correr el script bandersnatch.sql. (Debimos editarlo para corregir errores de sintaxis en el mismo)

La configuración de el componente a nivel de jabberd2 es la siguiente:

En el router.xml hay que agregar las siguientes líneas dentro de la sección <aci>

<!-- These users can bind names other than their username -->

<acl type='bind'>

<user>bandersnatch</user>

</acl>

<!-- These users can elect to receive all packets that

pass through the router -->

<acl type='log'>

<user>bandersnatch</user>

</acl>


El archivo de configuración de bandersnatch según implantado en facultad se encuentra en el Apéndice de archivos de configuración del servicio implantado en Facultad A8

Para iniciar este componente solo debemos ejecutar el comando ./badernstach2.pl config.xml &



8.4.1 Instalación del frontend web de bandersnatch

Primero debemos instalar las dependencias del mismo, las cuales son


Instrucciones en cuanto a la descarga e instalación de las bibliotecas PEAR pueden ser encontradas en http://pear.php.net/manual/en/installation.php

Una vez instaladas las dependencias, se genera un alias para el directorio frontend dentro de la instalación de bandersnactch en la configuración del servidor web y se otorgan los permisos correspondiente (lectura y ejecución en todo el path.)

Luego debemos editar el archivo config.inc.php dentro del directorio frontend/includes de bandersnactch. Se deberá setear los valores adecuados de: local_server, local_domain, local-transports, etc..

Como último paso debemos editar el archivo de configuración de PHP (/etc/php.ini) y agregarle dentro de los include-path /usr/local/lib/php/.

Si el usuario admin de bandersnatch ya esta creado, se deberá cambiar la clave para que ésta este encriptada mediante MD5, a modo de ejemplo se incluye el comando SQL a ejecutar

mysql> update auth

-> set PASSWORD=MD5( 'nueva_password' )

-> where username='admin';




8.4.2 Correcciones en Bandersnatch

Corrección en fuente Perl para solucionar problemas de doble entrada de log de mensajes

........


# Function : log_message

# Purpose : Log "message" type nodes

##########################################*/

sub log_message

{

my $node = shift;

my %message;

my $sqlquery;

my $is_local = 0;

my $header = $node->get_children()->[0];

my $body = $header->get_children()->[0];


return if (!$body->data()); # Don't log empty messages, or "non-<message>" messages :)

return if ($header->attr('sc:sm')); # Para no duplicar mensajes. (Antes era !$header->attr('sc:sm'))

return if ($header->attr('sm:sm')); # (se implementa lo mismo para mensajes con conversaciones a travès de Gateways externos).

$message{'to'} = $header->attr('to');

$message{'from'} = $header->attr('from');

$message{'type'} = $header->attr('type');

$message{'subject'} = $header->attr('subject');

$message{'thread'} = $header->attr('thread');

$message{'error'} = $header->attr('error');

$message{'errorcode'} = $header->attr('errorcode');

$message{'body'} = $body->data();


..............

Estudio del Open/Free (GNU/Linux) como plataforma de servicios de red en entornos empresariales
Daniel Caraballo - Mario Madera - Marcelo Odin
Tutor: Ariel Sabiguero Yawelak
2004 - 2005.