Corriendo Luca-0.2.0 en distribuciones modernas
Introducción
La versión anterior de Luca corre solamente en Debian Woody. Esto nos crea una dificultad para instalarlo, ya que Woody ni siquiera es la versión estable de Debian, y aunque va a seguir teniendo soporte por un tiempo, no es una distro moderna.
Por otro lado, es bastante complicado instalar todas las dependencias de Luca en una distro moderna.
Una solución posible es meter la imagen de un Woody en una distro moderna y correr Luca allí adentro. El producto final no es algo simple de explicar, pero básicamente van a poder seguir usando su distro moderna para las aplicaciones de todos los días y, metido en una "jaula", Luca dentro de un Woody.
El siguiente es un texto basado en un extenso chat con alguien que logró hacerlo correr en Jujuy y algunas experiencias propias con gente de Córdoba.
A traves de este texto utilizaremos algunos paths que son sólo de ejemplo. Por favor, adaptar a sus gustos y necesidades. Los comandos que se muestren con un # adelante deben correrse como root, y los mostrados con $ deben correrse como usuario. En algunos pasos es necesario editar algun archivo de configuracion o similar. En ese caso mostramos el comando con ' <editor> '; la idea es que usen el editor con el que mas comodo se sientan. Ante la duda, mcedit o nano me parecen buenas opciones[2].
Prerequisitos
No vamos a usar muchas herramientas fuera de lo común en el desarrollo de los pasos en este texto. Cómo instalarlas queda como ejercicio para el lector[4]. La lista es la siguiente:
- sudo
- findutils
También es necesario asegurarse que
postgresqlno esté corriendo en la distribución donde va a hacer esta instalación; si éste fuera el caso, consulte en la lista de correo.
Extrayendo la jaula
El primer paso es bajar este archivo. Vamos a descomprimir esto en un directorio:
# mkdir -pv /var/lib/luca # cd /var/lib/luca # tar xjf luca-en-Woody_0.2.0_i386.tar.bz2
Inicializando la base de datos
Es necesario inicializar la base de datos con algunos valores. Para eso tendremos que entrar a la jaula y correr un script:
# chroot /var/lib/luca/ # cd /usr/local/luca-0.2.0/luca # ./sql/admin_period.py papo papo localhost fecha de inicio de registracion para IVA [2005-06]: Interprete la fecha como junio de 2005. Correcto [S/n]? generando periodos: 2005-06 listo. # exit
Lanzando Luca desde afuera
Ahora nos hace falta un comando que haga toda la magia necesaria para poder acceder a Luca dentro de esa jaula. Para eso vamos a hacer un pequeño script en bash:
# mkdir -pv /usr/local/bin # <editor> /usr/local/bin/luca
El contenido de ese archivo tiene que decir:
#! /bin/bash
xhost +
sudo chroot /var/lib/luca/mnt/ bash -c \
"export PATH=/sbin:/usr/sbin:/usr/local/bin:$PATH; \
/etc/init.d/postgresql restart; \
/usr/local/bin/luca"
Le damos permisos de ejecucion al script:
# chmod 755 /usr/local/bin/luca
Permitimos que los usuarios puedan ejecutar chroot para entrar a la jaula:
# <editor> /etc/sudoers
Agregamos una linea que diga:
<user> ALL= NOPASSWD: /bin/chroot
donde
$ /usr/local/bin/luca
Cualquier duda, pregunten en "la lista de usuarios de Luca": mailto:luca-erp-users@lists.berlios.de .
Footnotes
[2] Opinion que no es compartida por todo el mundo, pero asi son las opiniones.
[4] El tema es que cada distribucion tiene su forma particular para instalar software, no las conozco a todas y algunas distros ni siquiera traen algunas de estas herramientas.
[12] Es necesario que este comando si sea como usuario, para asegurarnos que no haga falta que seamos root en el futuro.
[13] Tambien es posible crear un grupo, agregar a los usuarios al mismo, y especificarlo en sudoers con %
Última modificación 2005-08-16 20:47