Instructivo y scripts para la instalación de Tryton ERP. Versión Tryton: 5.0
Palabras clave: Tryton, ERP, software de gestión, software de negocios.
Keywords: Tryton, ERP, business software.
Tryton es una plataforma informática para el desarrollo de software de gestión comercial (ERP, Enterprise Resource Planning, planificación de recursos empresariales). Es un software de alto nivel, de propósito general, escrito en Python, desarrollado en un modelo de tres capas: el servidor Tryton, el cliente Tryton, y el sistema de manejo de base de datos (PostgreSQL o SQLite, de preferencia PostgreSQL). Tryton cuenta con una gran cantidad de módulos para tareas específicas, que pueden combinarse para implementar soluciones adecuadas a requerimientos diferentes. Los siguientes instructivos y scripts facilitan la instalación del servidor y el cliente Tryton en Linux. El servidor Tryton puede accederse también desde un cliente Tryton en MS Windows, disponible en la pàgina Get Tryton, sección Desktop Client.
Existen diferentes formas de instalar Tryton:
- instalación con los paquetes de la distribución Linux. Tryton está disponible en la mayoría de las distribuciones Linux, aunque no siempre está disponible la última versión.
- instalación con paquetes desde el sitio de Tryton. Permite instalar la última versión; hay disponibles paquetes ejecutables de cliente Tryton para MS Windows y Mac, pero para Linux el cliente Tryton debe instalarse desde código fuente.
- instalación desde código fuente. Para desarrolladores.
En este instructivo trataremos solo la instalación desde la distribución Linux. Usando un programa de gestión de paquetes como Synaptic
, o desde la línea de comandos:
$ sudo apt install tryton-server tryton-server-doc
para instalar el servidor y los módulos de Tryton.
$ sudo apt install tryton-client tryton-client-doc
para instalar el cliente.
La instalación de la distribución deja el servidor Tryton como un servicio a nivel de sistema: arranca el servidor al iniciar el equipo y lee la configuración de un archivo del sistema, /etc/tryton/trytond.conf
.
Si bien esta configuración a nivel de sistema puede ser conveniente en producción, para la experimentación y desarrollo de una aplicación específica usando los módulos de Tryton puede ser más conveniente una instalación a nivel de usuario no privilegiado. Esto permite mentener la configuración como un archivo de ese usuario, y manejarar el servidor a voluntad.
La instalación desde la distribución arranca el servidor automáticamente al iniciar el equipo, y lee la configuración del servidor desde el archivo /etc/tryton/trytond.conf
. El archivo de configuración es de solo lectura, por lo que requiere primero asignar permisos de escritura, modificar el archivo, y finalmente quitar los permisos de escritura:
chmod ug+w /etc/tryton/trytond.conf
sudo vi /etc/tryton/trytond.conf # u otro editor
chmod a-w /etc/tryton/trytond.conf
Para determinar el nombre del servicio asociado al servidor Tryton:
$ systemctl list-units | grep tryton # selecciona cadena "tryton"
tryton-server.service
loaded active running Tryton Server WSGI App
El nombre del servicio es tryton-server.service
. Para manejar el servicio,
$ sudo systemctl start tryton-server.service # arranca trytond
$ sudo systemctl stop tryton-server.service # detiene trytond
$ sudo systemctl restart tryton-server.service # re arranca trytond
Los archivos de configuración son:
/etc/tryton/trytond.conf # configuración
/etc/tryton/trytond_log.conf # configuración de log
La modificación del archivo de configuración trytond.conf
requerida pra usar bases de datos PostgreSQL son las siguientes:
- Cambiar parmisos para poder alterar el archivo:
cd /etc/tryton sudo chmod ug+w trytond.conf sudo vi trytond.conf # o el editor preferido
- Descomentar las líneas indicadas, para habilitar el uso de bases de datos PostgreSQL y la solicitud de acceso por clientes Tryton desde otras máquinas:
[web] listen = 0.0.0.0:8000 root = /usr/share/tryton-sao/www [database] uri = postgresql://tryton:tryton@localhost:5432/ path = /var/lib/tryton list = True language = es
- Reponer los permisos para impedir modificaciones.
sudo chmod a-w trytond.conf
La configuración a nivel de sistema es recomendable para servidores Tryton en producción, cuando el desarrollo ha terminado. Con esta configuración, podrán acceder al equipo servidor clientes Tryton instalados en las otras máquinas de la empresa.
Los administradores de Tryton a nivel de sistema preferirán quizás usar comandos en lugar de scripts. En todo caso, el siguiente script puede ser de utilidad:
$ bash db_psql.sh
db_psql.sh : crea, registra, consulta y borra bases de datos en Tryton
uso:
bash db_psql.sh create nombre_bd [config_arch]
# crea una base de datos nombre_bd
bash db_psql.sh register bd_nombre_bd [config_arch]
# registra la base de datos nombre_bd en Tryton
bash db_psql.sh drop nombre_bd [config arch]
# borra la base de datos nombre_bd
bash db_psql.sh mostrar # muestra bases de datos
bash db_psql.sh createtryton # crea usuario tryton
bash db_psql.sh droptryton # elimina usuario tryton
Esta sección describe la configuración de Tryton para ser manejado por un usuario no privilegiado, aunque para algunas tareas se requieren permisos de supervisor.
La instalación de la distribución inicia el servidor Tryton automáticamente como parte del proceso de arranque de la máquina, reconocido como un proceso de nombre trytond
(demonio de Tryton). Para permitir la configuración y el manejo por un usuario no privilegiado, es preciso deshabilitar el arranque automático del servidor Tryton al inicio.
- Verificar arranque automático de
trytond
:$ ps -C trytond
Indica si trytond
está corriendo; si en TTY indica "?" significa que trytond
fue iniciado por el sistema.
-
Para deshabilitar el arranque al inicio:
$ sudo systemctl disable tryton-server.service
-
Reiniciar el equipo.
-
Verificar que
trytond
no arrancó automáticamente:$ ps -C trytond PID TTY TIME CMD
No debe mostrar ningún proceso.
-
Para reponer el arranque automático al inicio:
$ sudo systemctl enable tryton-server.service
El archivo tryton.conf.model
provee una configuración básica de Tryton para el servidor y el cliente. Para habilitarla:
$ cd <directorio de instalación de estos instructivos>
$ mkdir ~/.config/tryton/5.0
$ cp tryton.conf.model ~/.config/tryton/5.0/tryton.conf
El archivo de configuración debe contener al menos estas líneas:
[database]
uri = postgresql://tryton:tryton@localhost:5432/
path = ~/tryton-db
[web]
listen = 0.0.0.0:8000
El script db_psql.sh
provisto en este sitio permite realizar las tareas necesarias para la creación de usuario y bases de datos en PostgreSQL.
El usuario tryton
, contraseña tryton
, será el dueño de todas las bases de datos PostgreSQL que use Tryton. Esto puede verse en la línea uri
del archivo de configuración. Para crear este usuario:
bash db_psql.sh createtryton
Esto se realiza por única vez, y el usuario tryton
debe mantenerse mientras se usen bases de datos PostreSQL en Tryton.
El directorio de almacenamiento para las bases de datos será ~/tryton-db
, como puede verse en la línea path
del archivo de configuración. Crear este directorio.
$ mkdir ~/tryton-db
El script tryton-manager.py
permite realizar diversas tareas. NOTA: este script es solo para la configuración por usuario, no para la configuración de sistema.
$ python3 tryton-manager.py
Tryton, scripts de gestión.
-- Bases de datos
1 : Crear y registrar base de datos.
2 : Borrar base de datos.
3 : Mostrar bases de datos.
-- Cliente Tryton
4 : Iniciar el cliente Tryton.
5 : Detener el cliente Tryton.
-- Servidor Tryton
6 : Iniciar el servidor Tryton.
7 : Detener el servidor Tryton.
q : Salir
Elija una opción:
Usaremos este script para la creación de bases de datos y el manejo de cliente y servidor Tryton.
Esta sección describe la creación de una base de datos y su registro en Tryton usando el script tryton-manager.py
.
-
Crear y registrar una base de datos de prueba, con la opción correspondiente del script. Nombre de la base de datos: DBprueba. El registro de la base de datos en Tryton muestra los módulos instalados, puede demorar; finalmente, pide e-mail y contraseña de administrador.
BDprueba | tryton | UTF8 | es_UY.UTF-8 | es_UY.UTF-8 | ... "admin" email for "BDprueba": <dirección de e-mail> "admin" password for "BDprueba": admprueba "admin" password confirmation: admprueba
Al acceder a la base de datos desde el cliente Tryton, en la máquina local
localhost
, deberemos indicar el usuarioadmin
con la contraseñaadmprueba
. -
Arrancar el servidor, con la opción correspondiente del script.
-
Arrancar el cliente, con la opción correspondiente del script. Abre la ventana del cliente Tryton.
-
Administrar la base de datos. En la ventana Usuario de Tryton, crear un perfil para acceder a la base de datos BDprueba:
- botón Gestionar, abre Editor de perfiles
- botón [+] para agregar un perfil:
- Perfil: local_bdprueba
- Servidor: localhost
- Base de Datos: BDprueba
- Nombre de usuario: admin
- cerrar la ventana de gestión de perfiles.
Conectar al servidor, botón
Conectar
. Cuando pide contraseña:admprueba
. Queda en la ventanaTryton - Administrator
.
Con las opciones correspondientes del script, es posible arrancar y detener el cliente, como se indicó en la sección anterior.
Para acceder al servidor Tryton desde otra máquina:
-
Arrancar el cliente Tryton en la máquina remota:
$ tryton-client &
-
Acceder al servidor. En la ventana Usuario de Tryton, crear un perfil para acceder a la base de datos BDprueba:
- botón Gestionar, abre Editor de perfiles
- botón [+] para agregar un perfil:
- Perfil: remoto_bdprueba
- Servidor: <nombre del servidor>:8000
- Base de Datos: BDprueba
- Nombre de usuario: admin
- cerrar la ventana de gestión de perfiles.
El <nombre del servidor> debe ser el nombre o el número IP de una máquina accesible en la red. Cuando pide contraseña:
admprueba
. Queda en la ventanaTryton - Administrator
.