Pirapire/version3.0.0/instalacion actualizacion
Instalación/Actualización del sistema Pirapire
Sumario
- 1 Instalación/Actualización del sistema Pirapire
- 1.1 Requerimientos
- 1.2 Instalación
- 1.3 Actualización
- 1.4 Post Instalación/Actualización
Se recomienda realizar dos instalaciones del sistema, una para los usuarios y otra para el equipo informático, tanto durante el período de testeo como durante la etapa de producción del sistema, de manera de independizar las pruebas que se realizan. Considere la instalación del navegador en cada estación de trabajo, el sistema Pirapire fue desarrollado para funcionar en forma óptima en el Mozilla Firefox, las últimas versiones del mismo tienen un manejo optimizado de la memoria.
Requerimientos
Para poder comenzar con la instalación debe tener instalado el servidor web Apache (http://httpd.apache.org/) con capacidad de interpretar scripts PHP.
Si tiene dudas sobre la instalación y/o configuración de alguno de estos servicios, puede comunicarse con el soporte técnico del SIU en http://portal.comunidad.siu.edu.ar.
Requisitos LINUX
Los requerimientos para instalación/actualización en un servidor GNU/Linux son las siguientes: Instalación manual en GNU/Linux
Tabla de requerimientos de versiones
Requisito | Versión |
---|---|
PostgreSQL | 11.x |
Apache | 2.4.x |
PHP | 7.4.x (con las extensiones: xml, gd, pdo_pgsql, curl, zip). |
Composer | 1.10.x |
Git | |
Yarn | |
Redis |
Instalación
La instalación del sistema Pirapire se realiza mediante el instalador de proyectos y aplicaciones SIU integrado dentro del código fuente del sistema que distribuye el SIU. El cual brinda los mecanismos mínimos necesarios para realizar una instalación de forma estandarizada, homogénea y controlable.
Pasos previos a un proceso de instalación
- Antes de realizar la instalación o actualización verificar Requerimientos Previos
- Descargar el sistema de Pirapire desde el sitio https://gitlab.sistemas.unam.edu.ar/sistemas/pirapire mediante Git.
- Descomprimir el archivo y copiar el directorio Pirapire en la máquina destino en el directorio donde se desea instalar el sistema.
- Luego ingresar al directorio recién descomprimido de Pirapire (ultima versión) y ejecutar:
- composer install --no-dev
- Luego ejecutar el comando para inicializar el archivo de variables de entorno.
- ./bin/instalador proyecto:definir-variables
- Esto creará el archivo instalador.env, luego configurar con los datos correspondientes al proyecto y a toba. Los datos que están comentados con el símbolo numeral # no son datos obligatorios, los demás datos son requeridos que se completen. Dentro del archivo de parámetros del instalador podemos configurar por separado la base de datos de negocio de Pirapire y la de Toba, o podemos tener las dos dentro de una misma base de datos como es la opción por defecto, lo recomendable para un ambiente de producción es que tanto los schemas de de la base de datos negocio de Pirapire y los schemas de Toba estén todos dentro de una misma base de datos . Para obtener mayor información sobre cada parámetro de configuración del instalador abrir el siguiente link: Variables de entorno para la instalación
- El archivo binario de instalación debe tener permisos de ejecución para esto ejecutar:
- chmod +x bin/instalador
Instalación desde cero
Para realizar una instalación de cero, es necesario iniciar una instalación en modo producción ya que no es necesario requerir de los proyectos Toba Editor y Toba Referencias.
Una vez realizado lo explicado en el ítem de Pasos previos a un proceso de instalación, el instalador nos proporciona distintas opciones de ejecución del comando de instalación dependiendo de la configuración:
Para instalar en entorno de producción con una base de datos existente vacía ejecutar:
- ./bin/instalador proyecto:instalar
Como parámetros opcionales podemos agregar el siguiente argumento el cual permite crear desde el instalador una base de datos de negocio vacía:
- ./bin/instalador proyecto:instalar --crear-db
Otro parametro opcional es el siguiente el cual permite realizar una instalación usando una base de datos de negocio existente:
- ./bin/instalador proyecto:instalar --db-negocio-existente
Una vez ejecutado el comando de instalación, el propio instalador nos proporciona los pasos a seguir, para mas información ver el apartado Post instalación
Actualización
Recomendaciones previas a la actualización
Antes de iniciar el proceso de actualización se recomienda verificar las configuraciones de la instalación anterior del sistema.
Verificar configuración del entorno de la instalación anterior
Se debe abrir el archivo que se encuentra dentro del directorio de instalación anterior 'Pirapire-anterior/instalacion/entorno_toba.env'
Para el caso de una instalación en un sistema operativo Linux la estructura del archivo sera la siguiente, verificar si se encuentra correctamente configurado nuestra ruta de instalación a Pirapire
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/ruta_instalacion_a_pirapire/instalacion
export PATH="$TOBA_DIR/bin:$PATH"
#echo "Entorno cargado."
#echo "Ejecute 'toba' para ver la lista de comandos disponibles."
Verificar permisos de lectura y escritura de la instalación anterior
Durante el proceso de actualización es necesario que el usuario del sistema el cual ejecuta el instalador tenga permisos de lectura y escritura sobre el Pirapire anterior.
Actualización de una instalación
Antes de realizar el proceso de actualización es necesario verificar si se cumplen los requerimientos previos a una actualización en Recomendaciones previas actualización
Una vez realizado lo explicado en el ítem de Pasos previos a un proceso de instalación, y luego de chequear los requerimientos previos a la actualización, el instalador nos proporciona el siguiente comando para ejecutar el proceso de actualización:
Para actualizar en entorno de producción se ejecuta el siguiente comando:
Una vez ejecutado el comando de actualización, el propio instalador nos proporciona los pasos a seguir, para mas información ver el apartado Post actualización
Post Instalación/Actualización
Una vez finalizado un proceso de instalación o actualización se procede a ejecutar un conjunto de configuraciones finales.
Verificar archivo de log del instalador
El instalador durante el proceso de ejecución de cada comando genera un archivo de log en la raíz del proyecto, dentro de este archivo se encuentra detallado toda la historia de ejecución de procesos y en el podemos detectar cualquier tipo de error o advertencia que pueda ocurrir durante su ejecución, por eso es de mucha utilidad verificar este archivo y ayuda a entender cualquier falla.
Una de las alternativas para visualizar el archivo de log es de la siguiente manera:
- less instalador.log
Modificar permisos
Permite modificar los permisos del proyecto, el usuario que corre el servidor web tiene que ser capaz de escribir sobre los directorios de archivos navegables, temporales y de configuración.
Al ejecutar el comando intentara identificar el usuario que sera dueño de los archivos y el grupo de usuario bajo el cual se ejecuta el servidor web Apache, con la posibilidad de definir ambos parámetros en el caso de que sean distintos a los sugeridos.
Ejecute el siguiente comando como superusuario:
- sudo ./bin/instalador permisos:simple
Como parámetros opcionales se puede enviar el usuario que sera dueño de los archivos y el grupo de usuario bajo el cual se ejecuta el servidor web Apache como argumentos mediante el siguiente parámetro:
- sudo ./bin/instalador permisos:simple -U usuario -W www-data
Configuración del servidor de aplicaciones
Para la configuración del servidor web les proponemos las siguientes opciones.
Para servidores linux, utilizar la configuración generada por el instalador ejecutando la siguiente sentencia como superusuario:
Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.
Otra opción de configuración, independientemente de si se va a realizar la instalación del sistema Pirapire en un servidor Linux, es recomendable la configuración en el servidor de aplicaciones apache de un virtualhost o dominio virtual que garantice la ejecución correcta del sistema. Una de las ventajas de contar con una configuración de virtualhost es que permite realizar múltiples instalaciones del sistema Pirapire en el mismo servidor de aplicación, manejándolas de forma independiente una de la otra.
Proceder a crear un archivo de nombre Pirapire con el siguiente contenido:
ServerAdmin webmaster@localhost
ServerName servidor.universidad.edu.ar
### INICIO INCLUSION CONTENIDO toba.conf ###
Include /ruta_instalacion/pirapire/instalacion/toba.conf
### FIN INCLUSION CONTENIDO toba.conf ###
</VirtualHost>
Tener en cuenta que se debe reemplazar servidor.universidad.edu.ar con un nombre del servidor o DNS válido y que no este siendo utilizado por otro virtualhost, ya que será por medio del cual accederá al sistema.
Una vez configurado el archivo de virtualhost, copiarlo al directorio de configuración sites-avaiable del servidor apache y crear un enlace simbólico en el directorio sites-enabled (en Linux, existe el comando a2ensite que realiza esta tarea).
Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.
Finalmente, podrá acceder al sistema Pirapire abriendo en un navegador la dirección url http://servidor.universidad.edu.ar/pirapire.
Chequear requerimientos web
Antes de activar el sistema sacándolo del modo mantenimiento es recomendable que ejecute el link que le proporciona el instalador al finalizar la instalación en un navegador web de modo que se pueda hacer un chequeo de los requerimientos en el servidor web y de esa forma asegurarnos que tenemos configurado correctamente el php.ini que corre el apache y luego sacarlo del modo mantenimiento.
http://servidor.universidad.edu.ar/pirapire/WebCheck.php
El chequeo web no permite ejecutar remotamente desde un navegador, para el caso que el servidor no disponga una interfaz gráfica para ejecutar de forma local el chequeo en el navegador web, una alternativa puede ser instalar la aplicación lynx para poder ejecutar un navegador web desde linea de comando de la siguiente manera:
lynx http://servidor.universidad.edu.ar/pirapire/WebCheck.php
Activar el sistema
Al finalizar el proceso el sistema queda configurado en modo mantenimiento, para desactivar el modo mantenimiento ejecutar el siguiente comando:
Sincronizar medios de pagos de SQ Núcleo
Las Condiciones de venta y Medios de pago que están disponible en Pirapire al momento de generar un comprobante se obtienen de SQ Núcleo, al sincronizar mediante el siguiente comando:
Cada vez que se modifican en SQ Núcleo los Medios de pagos o Condiciones de ventas se debe ejecutar este comando para que mantenga sincronizado en Pirapire lo que existe en SQ.
Lanzar worker de envío de solicitudes a SQ Núcleo
Para que Pirapire envíe las peticiones de generación o anulación de comprobantes a ser procesados por SQ Núcleo, es requerido que este activo y permanentemente ejecutándose el siguiente comando:
El comando lee la cola de peticiones encoladas en la Redis y ejecuta los procesos de los workers de forma asíncrona con SQ Núcleo.
Para asegurar que el worker este siempre en ejecución una opción es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.
Se recomienda el siguiente ejemplo de instalación y configuración de supervisord
El siguiente ejemplo muestra una configuración para el worker, creado en /etc/supervisor/conf.d/worker-envio-sq.conf:
Ejemplo de configuración en Supervisord (worker-envio-sq.conf):
- [program:worker-envio-sq]
command=<pirapire-path>/bin/toba proyecto worker_envio_sq -p pirapire
autostart=true
autorestart=true
stderr_logfile=/var/log/worker-envio-sq_err.log
stderr_logfile_maxbytes=2MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stdout_logfile=/var/log/worker-envio-sq_stdout.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
Actualización del worker
Una vez realizada la actualización del sistema el <pirapire-path> deberá modificarse en el archivo anteriormente configurado.
Seguido a esto para que el Supervisord tome los cambios correspondientes deberán ejecutarse los siguientes comandos en este orden:
- sudo supervisorctl stop
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start all