Tux y OpenERP

Tux y OpenERP
Para obtener información sobre como implantar OpenERP en tu empresa --- contactar con informaticartica@gmail.com ---

jueves, 27 de junio de 2013

Aeroo reports y Libreoffice en ubuntu 12.04 y script para servicio Libreoffice

En este artículo veremos como instalar aeroo reports para OpenERP en un servidor con Ubuntu 12.04 Server. Para ello lo primero que instalaremos será libreoffice desde los repositorios.

$ sudo apt-get install libreoffice

También necesitamos los módulos de aeroo_reports y las librerías aeroolib. Para ello acudiremos a launchpad y las descargaremos en nuestro server. En el caso de que no dispongamos de bazaar lo primero será instalarlo en el server.

$ sudo apt-get install bzr
$ bzr branch lp:aeroolib
$ bzr branch lp:aeroo/openerp6.1.x (En el caso de OpenERP 6.1)

Para instalar aeroolib entramos dentro del directorio aeroolib, y a su vez de nuevo en el directorio aeroolib, ahí ejecutamos el setup.py de la siguiente manera:

$ sudo python setup.py install

En este punto para que todo funcione correctamente tenemos que instalar todas las dependencias necesarias.

$ sudo apt-get install python-genshi
$ sudo apt-get install python-openoffice
$ sudo apt-get install python-lxml
$ sudo apt-get install python-cairo

Una vez esto realizado tenemos que lanzar el comando para que libreoffice funcione como servicio en nuestro servidor.

$  /usr/lib/libreoffice/program/soffice --nologo --nofirststartwizard --headless --norestore --invisible "--accept=socket,host=localhost,port=8100,tcpNoDelay=1;urp;"

Para no tener que estar escribiendo el churro este cada dos por tres estuve buscando algún script para lanzarlo y encontré el de openoffice que he modificado para usarlo con libreoffice, desconozco si ya existe uno para Libreoffice, pero lo hecho hecho está y os lo comparto por si lo queréis usar.

Guardad esto en un archivo llamado libreoffice.sh :

#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice
#
# Author: Vic Vijayakumar
# Modified by Federico Ch. Tomasczik
# Modified by Juan Ignacio Ubeda for Libreoffice
#
OOo_HOME=/usr/lib
SOFFICE_PATH=$OOo_HOME/libreoffice/program/soffice
PIDFILE=/var/run/libreoffice-server.pid

set -e

case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "LibreOffice headless server has already started."
sleep 5
exit
fi
echo "Starting LibreOffice headless server"
$SOFFICE_PATH --nologo --nofirststartwizard --headless --norestore --invisible "--accept=socket,host=localhost,port=8100,tcpNoDelay=1;urp;" & > /dev/null 2>&1
touch $PIDFILE
;;
stop)
if [ -f $PIDFILE ]; then
echo "Stopping LibreOffice headless server."
killall -9 soffice && killall -9 soffice.bin
rm -f $PIDFILE
exit
fi
echo "Libreoffice headless server is not running."
exit
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0


Una vez guardado el archivo, lo subiremos al directorio /etc/init.d. Para lanzar el servicio :

$ sudo /etc/init.d/libreoffice start

También podemos usar stop para pararlo y restart para reiniciarlo, si no os funciona verificad la ruta en la cual teneis libreoffice instalado y cambiad en el scritpt los parámetros que tengais que cambiar.

Con esto y tenemos libreoffice como servicio en nuestro servidor Ubuntu 12.04. Nos quedaría instalar los módulos en OpenERP e iniciarnos en el diseño de los informes en Libreoffice, lo cual dejaremos para otro artículo.

Espero que el artículo os sea de ayuda.

Juani