Diferencia entre revisiones de «Pirapire/version3.0.0/instalacion actualizacion»

De SIU
Saltar a: navegación, buscar
(Sincronizar medios de pagos de SQ Núcleo)
(Lanzar worker de envío de solicitudes a SQ Núcleo)
Línea 259: Línea 259:
  
 
:<source lang="php" enclose="div">
 
:<source lang="php" enclose="div">
[program:worker-envio-sq
+
[program:worker-envio-sq]
 
command=<pirapire-path>/bin/toba proyecto worker_envio_sq -p pirapire
 
command=<pirapire-path>/bin/toba proyecto worker_envio_sq -p pirapire
 
autostart=true
 
autostart=true

Revisión del 19:56 2 nov 2022

Pirapire iso.png

<Volver


Instalación/Actualización del sistema Pirapire

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

  1. Antes de realizar la instalación o actualización verificar Requerimientos Previos
  2. Descargar el sistema de Pirapire desde el sitio https://gitlab.sistemas.unam.edu.ar/sistemas/pirapire mediante Git.
  3. Descomprimir el archivo y copiar el directorio Pirapire en la máquina destino en el directorio donde se desea instalar el sistema.
  4. Luego ingresar al directorio recién descomprimido de Pirapire (ultima versión) y ejecutar:
    composer install --no-dev
  5. 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
  6. 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.

Es importante no renombrar ni mover la carpeta de instalación anterior hasta que se haya terminado el proceso de actualización.
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_DIR=/ruta_instalacion_a_pirapire/vendor/siu-toba/framework
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.

El directorio de instalación del proyecto anterior a actualizar debe poder ser accesible para la lectura y escritura de los archivos y directorios.

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:

./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR

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:

ln -s /ruta_instalacion/pirapire/instalacion/toba.conf /etc/apache2/sites-enabled/pirapire.conf

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:

<VirtualHost *:80>
    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.

### AL FINALIZAR LA INSTALACIÓN EL INSTALADOR LE GENERA UN LINK AL CHEQUEO WEB CON LA URL CONFIGURADA EN LA INSTALACIÓN ###

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:

### Chequeo web desde un navegador web por consola de comandos

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:

./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento

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:

./bin/toba proyecto sinc_condicion_venta --reportables-pilaga -p pirapire

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:

./bin/toba proyecto worker_envio_sq -p pirapire

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


<Volver