En esta sección se describe todo lo necesario para instalar y hacer funcionar FacturaLUX, se muestran todos los pasos desde la descarga hasta la compilación, en el caso que hallamos descargado los fuentes. Es necesario cumplir con los prerrequisitos para no tener ningún problema en el proceso de compilación. Para poder cumplir los prerrequisitos también se incluyen explicaciones de como hacer funcionar las librerías y aplicaciones de terceras partes que son utilizadas por FacturaLUX.
En la sección de descarga de la página del proyecto, se pueden encontrar todas las instrucciones para la descarga de los paquetes disponibles.
Se puede descargar el código fuente en un paquete .TGZ ( facturalux-X.X.tar.gz ) o un paquete .RPM disponible para algunas distribuciones ( facturalux-X.X.distribucion.rpm ).
El sistema fundamental para el funcionamiento de la aplicación es:
- Sistema operativo GNU/Linux ( kernel 2.2.x o superior )
- Compilador de C++ (GNU g++)
Además FacturaLUX necesita de ciertas librerías y aplicaciones de terceras partes para funcionar, en las secciones siguientes se detallan estos componentes necesarios, así como unos pasos básicos para que funcionen el la mayoría de los casos:
Sistema gestor de base de datos de avanzadas características. FacturaLUX ha sido diseñado sobre una versión 7.1.x de este gestor de bases de datos. FacturaLUX no funcionará con versiones anteriores debido a que usamos características que no habían sido añadidas hasta esta última versión. La compatibilidad con versiones superiores se considera garantizada, aunque siempre recae en las decisiones de la propia compañía desarrolladora de PostgreSQL.
Puede encontrar PostgreSQL en el CDROM de su propia distribución, en internet en formato RPM en sitios como:
en debian debería bastarle con el comando:
apt-get postgres
y en formato .TGZ encontrará este sistema en:
Lo mejor para instalar PostgreSQL es obtenerla empaquetada y dejar a los scripts de instalación hacer su trabajo. En caso de no encontrarlo empaquetado para nuestro sistema, lo mejor es acudir al propio manual de instalación de PostgreSQL que cubrirá todos los aspectos oscuros de la instalación.
Sin embargo es muy habitual que existan ciertos problemas posteriores a la instalación. Variables mal establecidas o instalaciones que quedan bloqueadas por un cierre forzoso del sistema. La mayoría de estos problemas se solucionan en los articulos de http://bulmalug.net dedicados a la instalación del weblog de Bulma en una máquina local. El sección Postinstalación hay algunas indicaciones sobre incidencias típicas que suceden al crear una base de datos o iniciar el servidor de PostgreSQL, que pueden serle de utilidad para solucionar algunos problemas.
Las librerías gráficas Qt3.0.x son utilizadas por KDE 3.0. Si su sistema ya posee un KDE 3.0 posiblemente tenga usted ya instaladas estas librerías, aunque deberá asegurarse que las librerías están instaladas con el driver para PostgreSQL. En otro caso deberá descargarlas de la pagina web de la compañía que las ha creado y cedido amablemente a la comunidad:
Nota: En el momento de escribir este documento la version era Qt-3.0.2 y FacturaLUX funcionaba perfectamente con ellas.
Las librerias Qt vienen acompañadas por varias utilidades. Desde un diseñador de formularios hasta una utilidad de gestión de idioma en un proyecto. Todo ello junto a una excelente documentación y multitud de ejemplos. Es frecuente que las Qt no compilen bien o se bloquee la compilación en máquinas con menos de 64Mg de RAM en el sistema.
Para compilar las Qt con soporte para PostgresQL -cosa imprescindible para que funcione FacturaLUX- hay que seguir el siguiente proceso:
Supongamos que hemos bajado Qt3.0 y lo hemos descomprimido en
/usr/lib/qt3, es importante compilar con el driver pgsql, supongamos
también que tenemos los archivos de cabeceras de PostgreSQL en
/usr/include/pgsql - PostgreSQL debe estar instalado antes de compilar Qt -
estas serían las órdenes como usuario root para compilar las librerías y
utilidades de Qt 3.0:
[/usr/lib/qt3] # export QTDIR=/usr/lib/qt3
[/usr/lib/qt3] # ./configure -prefix /usr/lib/qt3 -I/usr/include/pgsql -qt-sql-psql
[/usr/lib/qt3] # make
Estos pasos son triviales, si alguno de ellos no funciona es que no están
instaladas las librerías de desarrollo del kernel o gmake. Pasadas unas horas
estarán las librerías Qt compiladas en el sistema junto a todas sus
utilidades. En este momento es conveniente poner una serie de variables de
entorno nuevas en un fichero de inicio, el cual dependerá de la distribución,
generalmente se pueden utilizar.bashrc, .bash_profile o /etc/profile
Editar el /etc/profile y escribir alli.
export QTDIR=/usr/lib/qt3
export PATH=$PATH:/usr/lib/qt3/bin
export LD_LIBRARY_PATH=/usr/lib/qt3/lib
En esta sección se describe como compilar e instalar FacturaLUX utilizando un paquete .TGZ con el código fuente, o como instalar el paquete .RPM con los binarios compilados de FacturaLUX para algunas distribuciones de GNU/Linux.
El nombre de los paquetes .TGZ son de la forma facturalux-X.X.tar.gz, donde X-X es la versión.
Una vez descargado el paquete .TGZ, ver sección
Como obtener FacturaLUX, hay
que descomprimirlo, con el comando :
tar xzvf facturalux-X.X.tar.gz
Al finalizar la descompresión se habrá creado un directorio dentro del actual llamado facturalux.
Para compilar e instalar FacturaLUX primero hay que asegurar que la variable de entorno $QTDIR
contiene el directorio donde está instalada la librería Qt p.e. /usr/lib/qt3, para comprobar
esto bastará con ejecutar el comando echo $QTDIR para mostar el contenido de dicha variable,
una vez realizada esta comprobación hay que entrar en el directorio facturalux recién creado y teclear lo siguiente :
./configure --with-qt-dir=$QTDIR
make
y como usuario root..
make install
Por defecto FacturaLUX se instalará en el directorio /usr/local/facturalux, para iniciar la aplicación
hay que ejecutar /usr/local/facturalux/bin/facturalux. El script configure acepta varios
parámetros que usted podrá establecer para ajustar la instalación o para corregir problemas, si desea
visualizar una lista completa con todos los parámetros aceptados, ejecute :
./configure --help
Como FacturaLUX usa la herramienta 'autoconf', no debería tener problemas al compilarlo, siempre y cuando se cumplan las condiciones de la sección Prerrequisitos. Sin embargo si encuentra algun fallo por favor informe de éste en la página del proyecto entrando en la sección Lista de Bugs y haciendo clic en Submit New.
El nombre de los paquetes .RPM son de la forma facturalux-X.X-distribucion.rpm, donde X-X es la versión y
distribucion, es el nombre de la distribución de Linux para la que se ha preparado el paquete.
Una vez descargado el paquete .RPM, ver sección
Como obtener FacturaLUX, hay
que instalarlo como usuario root con el comando :
rpm -i facturalux-X.X-distribucion.rpm
Si no se ha instalado la librería Qt 3.0 mediante paquetes .RPM, el comando dará un fallo de dependencias y no instalará FacturaLUX. Si está seguro que tiene la librería Qt 3.0 ( con el driver de PostgreSQL ) porque la ha instalado mediante la compilación del código fuente a partir de un paquete .TGZ, como indica en la sección Librería Qt 3.0, deberá utilizar este otro comando, para no comprobar la dependencia con Qt 3.0 :
rpm -i --nodeps facturalux-X.X-distribucion.rpm
Por defecto FacturaLUX se instalará en el directorio /usr/local/facturalux, para iniciar la aplicación
hay que ejecutar /usr/local/facturalux/bin/facturalux.
Las acciones a realizar después de la instalación se reducen a crear la base de datos y un usuario para esta. No hace falta crear a priori tablas en la base de datos, ya que FacturaLUX crea automáticamente las tablas necesarias en el momento que se van a usar por primera vez.
Actualmente FacturaLUX sólo trabaja con PostgreSQL, por lo que se debe tener correctamente instalado este sistema de gestión de bases de datos y funcionando. Una vez que tenemos la base de datos correctamente funcionado, los dos pasos que se deben dar -crear la base de datos y crear un usuario- se detallan en las secciones siguientes:
Estando como usuario root, ejecutar :
#su postgres
$createdb -E UNICODE facturalux
Esto bastaría para crear la base de datos, pero en este punto podemos encontrarnos con el típico problema que muestra el mensaje:
Connectionto database "template1" failed.
ConnectDB () failed: Is the postmaster running and accepting connections at 'UNIX socket' on Port '5432'
Createdb : database creation failed on bulma
La solución suele pasar por ejecutar:
$ initdb --pglib=/usr/lib/pgsql --pgdata=/var/lib/pgsql
Si esto no soluciona el problema, tambien es posible que no exista initdb en el sistema, en ese caso
hay que instalar el paquete de la parte servidor y luego arrancar el demonio servidor e intentar crear de nuevo
la base de datos:
# /etc/rc.d/init.d/postgres start
$ createdb facturalux
Puede salir algún mesaje de aviso o "warning" a los que no debemos prestar atención. Con esto se habrá superado uno de los mayores inconvenientes y la base de datos de facturalux estará creada.
Crear el usuario (para el caso de ejemplo se utiliza el usuario nobody, aunque quizás fuera mas lógico usar el usuario facturador o algo similar) nobody como usuario de la base de datos:
$ createuser nobody
Ahora somos consultados sobre los permisos de creación de bases de datos y los permisos de crear usuarios por parte del usuario nobody. Lo mas lógico es responder que no a ambas preguntas, pero eso dependerá de si se quiere usar ese usuario para otras cosas además de para iniciar sesión en FacturaLUX o no. Para asignarle un password a este usuario usaremos la utilidad de asignación de passwords de toda la vida.
$ passwd nobody
Asignamos el password a este usuario y asunto arreglado. Este usuario y password seran los del usuario que tenga acceso a la base de datos. Para mas detalles sobre los permisos y usuarios de PostgreSQL tenemos 2 opciones. Bien el manual de PostgresQL, bien el weblog http://bulmalug.net el que algunos compañeros y yo mismo escribimos articulos de ayuda al respecto.