Diferencia entre revisiones de «SIU-Pilaga/version3.16.0/instalacion actualizacion»
(→Instalación/Actualización del sistema SIU-Pilagá) |
|||
Línea 45: | Línea 45: | ||
|- | |- | ||
| Composer | | Composer | ||
− | || | + | || 2.x |
|- | |- | ||
| Yarn | | Yarn |
Revisión actual del 12:08 10 oct 2024
Instalación/Actualización del sistema SIU-Pilagá
Sumario
- 1 Instalación/Actualización del sistema SIU-Pilagá
- 1.1 Esquema
- 1.2 Requerimientos
- 1.3 Instalación
- 1.4 Actualización
- 1.5 Post Instalación/Actualización
- 1.6 Personalizaciones
- 1.7 Crear una versión propia con personalizaciones
- 1.8 Instalación de cero de un ambiente de producción con personalizaciones
- 1.9 Actualización del ambiente de producción con personalizaciones
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 SIU-Pilagá fue desarrollado para funcionar en forma óptima en el Mozilla Firefox, las últimas versiones del mismo tienen un manejo optimizado de la memoria.
Esquema
El siguiente esquema muestra en detalle los pasos para una instalación y actualización del sistema SIU-Pilagá, en este esquema se contempla el procedimiento según se necesite personalizar o no.
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 | 14.x |
Apache | 2.4.x |
PHP | 8.1.x (con las extensiones: mbstring, xml, gd, pdo_pgsql, curl, zip, cli, common, soap, ldap, xsl, mysqli, bcmath, gmp). |
Graphviz | 2.9.x o superior |
Java Runtime Environment | 1.8.x o 1.11.x (se requiere tener instalado JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema). |
Composer | 2.x |
Yarn |
Instalación
La instalación del sistema SIU-Pilagá 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 SIU-Pilaga desde el sitio http://portal.comunidad.siu.edu.ar/ cuyo nombre es 'SIU-Pilaga_3.X.X.zip'.
- Descomprimir el archivo y copiar el directorio SIU-Pilagá en la máquina destino en el directorio donde se desea instalar el sistema.
- Luego ingresar al directorio recién descomprimido de SIU-Pilagá (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 Pilagá 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 Pilagá 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 sin personalizaciones
Para realizar una instalación de cero sin personalizaciones, 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
Instalación desde cero en entorno de desarrollo
Para realizar una instalación de cero con personalizaciones, es necesario iniciar una instalación en modo desarrollo ya que es necesario requerir de los proyectos Toba Editor y Toba Referencias.
al proyecto Toba-Editor y poder realizar modificaciones sobre el sistema vulnerando la seguridad del mismo.
Otro factor a tener en cuenta es que un sistema instalado en entorno de desarrollo no maneja metadatos compilados, los cuales si se manejan en una instalación en entorno de producción y sin esto disminuye significativamente la performance del sistema.
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 realizar una instalación en entorno de desarrollo se debe configurar en el archivo de parámetros del instalador, instalador.env, el parámetro ENTORNO_PRODUCCION con el valor 0.
- ENTORNO_PRODUCCION="0"
Para instalar en entorno de desarrollo 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 'SIU-Pilaga-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 SIU-Pilaga
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/ruta_instalacion_a_pilaga/instalacion
export PATH="$TOBA_DIR/bin:$PATH"
#echo "Entorno cargado."
#echo "Ejecute 'toba' para ver la lista de comandos disponibles."
Verificar configuración de la instancia de la instalación anterior
Para verificar si se encuentra correctamente configurada la instancia del proyecto, se debe abrir el archivo 'SIU-Pilaga/instalacion/i__produccion/instancia.ini' y dentro de este verificar si esta configurado el parámetro 'usar_perfiles_propios = "1"' el cual es necesario para poder realizar la migración de perfiles de la instalación anterior a la nueva instalación.
path = "/ruta_instalacion_a_pilaga"
url = "/pilaga"
full_url = "http://localhost/pilaga"
url_pers = "/pilaga_pers/"
usar_perfiles_propios = "1"
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 SIU-Pilaga anterior.
Tener en cuenta la conexión con SIU-Araí (Este paso es obligatorio si se utiliza SIU Arai Proveedores)
SIU - Pilagá con SIU-Arai Proveedores
Base de datos de Arai Proveedores
Actualización de una instalación sin personalizaciones
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
Para realizar una actualización sin personalizaciones, es necesario iniciar una instalación en modo producción. El instalador no soporta actualizaciones de instalaciones en entorno de desarrollo.
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
Actualización de una instalación con personalizaciones
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
Cada vez que para el SIU-Pilagá este disponible una nueva versión (versión original generada por el equipo de SIU), se deberá migrar manualmente desde un entorno de desarrollo previo. El procedimiento de trabajo implica migrar la personalización desde la versión anterior a la siguiente sin saltearse ninguna versión intermedia. Para ello, desde un repositorio se tendrá que descargar la nueva versión y realizar la instalación nueva en modo desarrollo.
Es recomendable no utilizar el entorno de desarrollo anterior, así este puede ser utilizado para realizar bugfixes y correcciones que sean necesarios para la actual versión en producción. Procediendo sobre una nueva instalación de SIU-Pilagá, realizar:
- # Descarga la nueva version
svn checkout https://repositorio/svn/pilaga/nodos/<sigla institucion>/trunk/3.16.0/
# En la nueva versión realiza una instalación en desarrollo con base de datos de negocio existente
./bin/instalador proyecto:instalar --db-negocio-existente
# Mezcla los cambios hechos en la version 3.16.0 hacia esta nueva version
svn merge https://repositorio/svn/pilaga/nodos/<sigla institucion>/trunk/3.16.0/personalizacion carpeta_proyecto/personalizacion
# Inicia la personalizacion
toba personalizacion iniciar
# Chequea si hay posibles conflictos
toba personalizacion conflictos
# Toma los archivos .xml de la carpeta personalización y los carga a metadatos en la base
toba personalizacion importar
# Exporta los metadatos como archivos .sql en la carpeta metadatos
toba proyecto exportar
svn commit
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 SIU-Pilagá 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 SIU-Pilagá en el mismo servidor de aplicación, manejándolas de forma independiente una de la otra.
Proceder a crear un archivo de nombre pilagá con el siguiente contenido:
ServerAdmin webmaster@localhost
ServerName servidor.universidad.edu.ar
### INICIO INCLUSION CONTENIDO toba.conf ###
Include /ruta_instalacion/pilaga/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 SIU-Pilagá abriendo en un navegador la dirección url http://servidor.universidad.edu.ar/pilaga.
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/pilaga/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/pilaga/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:
Personalizaciones
En el sistema SIU-Pilagá se ha implementado el esquema de personalizaciones ofrecido por el SIU-Toba. Este esquema permite que se realicen cambios sobre un sistema entregado por el SIU y que estos cambios se persistan a través de diferentes versiones.
Para poder implementar este esquema de personalizaciones y mantenerlo en un espacio de desarrollo colaborativo se debe contar con un sistema de control de versiones y tener versionado la versión propia del sistema con las personalizaciones.
A continuación se describe el mecanismo que permite desarrollar una personalización completa del SIU-Pilagá, basándonos en una instalación pre-existente de SIU-Pilagá versión 3.16.x realizada mediante el uso del instalador de proyectos del SIU.
En este esquema se recomienda que exista una persona que denominaremos concentrador, quien será el único que utilice los comandos de personalización y proveerá así al resto del grupo, de mayor flexibilidad en el entorno de trabajo diario. El resto del equipo trabaja de manera normal con Toba sin percatarse de que existe una personalización vigente, excepto a la hora de guardar archivos PHP.
Activar esquema de personalizaciones
Para iniciar la personalización, se recomienda que únicamente la persona que cumpla el rol de concentrador ejecute los siguientes comandos. El concentrador debe definir el esquema de PostgreSQL temporal a ser usado por el proceso de cálculo de diferencias en la personalización, en el archivo /SIU-Pilaga/personalizacion/personalizacion.ini:
- iniciada = "no"
schema_personalizado = "<schema_personalizado>"
Y por último, inicializar propiamente la personalización. Es obligatorio que este cambio se suba al repositorio para mantener la configuración del ambiente de desarrollo. Para finalizar, el concentrador realiza el commit de los cambios realizados.
- bin/toba personalizacion iniciar -p pilaga -i desarrollo
svn commit
A partir de este momento, todas las personas que participen del equipo de desarrollo deben descargarse la versión del sistema con personalizaciones que se mantiene versionada en un repositorio de la universidad, y luego pueden seguir los pasos de la Instalación desde cero en entorno de desarrollo. Estas personas podrán ejecutar todas las tareas relacionadas con el proyecto, excepto aquellas que se indican explícitamente a ser ejecutadas por el concentrador.
Desarrollar nuevas personalizaciones
La siguiente guía es un ejemplo paso a paso para desarrollar una personalización de SIU-Pilagá, mediante el uso del toba-editor para la extensión y modificación de las funciones y características del mismo. Esto puede ser desarrollado de forma individual o en forma colaborativa con un equipo de desarrollo.
Crear una versión propia con personalizaciones
Instalación de cero de un ambiente de producción con personalizaciones
Para realizar una instalación de un ambiente de producción con personalizaciones se debe partir de una instalación en modo desarrollo con personalizaciones.
Una vez que se migraron las personalizaciones a una nueva versión del sistema en modo desarrollo y estas fueron testeadas y ya esta en condiciones para llevar a producción, a la versión de SIU-Pilagá en desarrollo con personalizaciones ejecutar los siguientes comandos:
- # Exportar metadatos del proyecto
toba proyecto exportar
# Exportar personalización del proyecto
toba personalizacion exportar
# Subir los metadatos exportados al repositorio
svn commit
Una vez realizado los pasos anteriores, luego descargar la versión propia de SIU-Pilagá con personalizaciones para realizar una instalación en producción. Antes de instalar realizar lo explicado en el ítem de Pasos previos a un proceso de instalación.
- # Descarga la nueva versión propia con personalizaciones
svn checkout https://repositorio/svn/pilaga/nodos/<sigla institucion>/trunk/3.16.0.0/
# Realiza una instalación en producción del SIU-Pilagá con personalizaciones versión 3.16.0.0
./bin/instalador proyecto:instalar
Actualización del ambiente de producción con personalizaciones
Para llevar a cabo una actualización de un ambiente de producción con personalizaciones se debe partir de una instalación en modo produccion con personalizaciones de la ultima versión del sistema.
Para esto previamente se debe realizar Instalación de cero de un ambiente de producción con personalizaciones.
Luego de tener instalada la versión en producción con personalizaciones, para migrar los usuarios y perfiles de acceso de la instalación en producción anterior se debe realizar una actualización sobre esta nueva instalación en producción configurando correctamente el archivo de parámetros del instalador y luego ejecutando el siguiente comando:
- ./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR