SIU-Sanaviron-Quilmes/version2.4.0/actualizar sq

De SIU
Revisión del 17:53 15 ago 2023 de Jferrari (discusión | contribuciones) (SQ Pagos)
Saltar a: navegación, buscar
Siu-sanaviron-quilmes.png

Esquema de actualización de SIU-Sanavirón-Quilmes

Recomendaciones previas a la actualización

Antes iniciar el proceso de actualización se deberá considerar que los módulos reciben y envían mensajes por lo que se deberá planear el "apagado" en un orden determinado.

  1. Avisar a SIU-Guaraní que el sistema SQ se encuentra en actualización
  2. GCO: Editar el archivo "config/config.ini" y pasar el valor de los gestores de pago utilizados de ACTIVO=1 a ACTIVO=0
  3. SQ-Pagos: Detener el servidor.
  4. Académico: Detener el servidor.
  5. Núcleo: Detener el servidor.
  6. GCO: Detener el servidor.
  7. Workers Detener los servicios y procesos de Núcleo y Académico (Supervisord).
  8. Cron que ejecuta las tareas planificadas de Núcleo y Académico.
Es importante no renombrar ni mover la carpeta de instalación anterior hasta que se haya terminado el proceso de actualización.

Requisitos

Requisitos para la versión

SQ Núcleo

  1. 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 'nucleo/config/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.
    [sq_nucleo]
    path = "/ruta_instalacion_a_nucleo/toba"
    url = "/sq_nucleo"
    full_url = "http://localhost/sq_nucleo"
    url_pers = "/sq_nucleo_pers/"
    usar_perfiles_propios = "1"
  2. 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-SQ 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.
  3. Descarga de fuentes.
    Posicionarse en la ubicación deseada para la nueva instalación del proyecto:
    cd /usr/local/proyectos/sanaviron_quilmes/
    El proyecto está disponible en https://hub.siu.edu.ar
    git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-nucleo-xyz
    cd sq-nucleo-xyz
    git config core.sparseCheckout true
    git sparse-checkout init --cone
    git sparse-checkout set lib nucleo
    Nota: A Partir de la versión 2.4.0 Sanaviron-Quilmes paso a ser un solo repositorio. La opción de git sparse-checkout esta disponible desde la versión de git 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.
  4. Descargar las dependencias mediante Composer
    cd nucleo
    composer install --prefer-dist --no-dev --optimize-autoloader
  5. Configuración de la instalación
    Hay que definir muchas variables para completar la instalación. No hay que preocuparse si hay algo mal definido ya que todo lo que se define acá puede ser modificado luego a través de archivos de configuración de SIU-Sanavirón-Quilmes. Para mayor comodidad, se entrega un archivo instalador.env de variables de entorno listo para ser completado. En la página Variables de entorno para la instalación del se explica en detalle cada una. El instalador dispone de un comando para inicializar el archivo de variables de entorno:
     ./bin/instalador proyecto:definir-variables
    Esto creará el archivo en la raíz del proyecto, el cual debe ser editado según las necesidades. Una vez editado el archivo, se puede proceder a realizar la instalación de SIU-Sanaviron-Quilmes: Núcleo
    Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (bases.ini, sq.ini).
  6. 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.
    El instalador nos proporciona el siguiente comando para ejecutar el proceso de actualización:
    ./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR
  7. 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
  8. 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
  9. 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/nucleo/config/toba.conf /etc/apache2/sites-enabled/sq_nucleo.conf
    Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.
  10. 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
  11. Configurar el cron
     crontab -e
    Para que el planificador de tareas se ejecute cada un minuto en búsqueda de tareas programadas hay que agregar al crontab la siguiente línea:
     * * * * * <path proyecto NUCLEO>/bin/sq tareas_planificadas
    Nota: Se ponen los 5 asteriscos para que este comando se ejecute cada un minuto. Este comando se encarga de verificar cada minuto si es el momento de ejecutar determinada tarea según se haya configurado en la operación toba Procesos > Planificador de tareas. Luego guardar el archivo y reiniciar la pc. Configurar la ejecución programada de procesos En toba hay que ir a la operación Procesos > Planificador de tareas. Por cada proceso se agrega una fila en el formulario multilínea. La idea es que elijan como frecuencia DIARIO y los programen con 30 minutos de separación entre cada proceso.
  12. Iniciar Workers (cola de mensajes)
    Una vez finalizada la instalación o actualización del sistema, este deberá quedar preparado para enviar los mensajes a los sistemas correspondientes. Para que esta cola de mensajes sea leída en forma asíncrona y realice los envíos se debe mantener corriendo el siguiente comando en el servidor: ./bin/sq iniciar_workers Una vez ejecutado el comando, este inicia los workers que quedán a la espera de nuevos mensajes que se enviarán a la cola para posteriormente realizar el envío al destinatario correspondiente. Para que el comando corra de manera ininterrumpida se puede utilizar el siguiente enfoque:
    Supervisor

Si modifica alguna credencial en el archivo "sq.ini" no tomará los cambios al enviar los mensajes hasta que reinicie los workers.

Finalmente, podrá acceder al sistema SIU-SQ-Núcleo abriendo en un navegador la dirección url http://servidor.universidad.edu.ar/sq_nucleo.

Para realizar validaciones generales puede ejecutar el comando

cd bin
sq validar_instalacion

SQ Académico

  1. 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 'academico/config/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.
    [sq_uv]
    path = "/ruta_instalacion_a_academico/toba"
    url = "/sq_academico"
    full_url = "http://localhost/sq_academico"
    url_pers = "/sq_academico_pers/"
    usar_perfiles_propios = "1"
  2. 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-SQ 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.
  3. Descarga de fuentes.
    Posicionarse en la ubicación deseada para la nueva instalación del proyecto:
    cd /usr/local/proyectos/sanaviron_quilmes/
    El proyecto está disponible en https://hub.siu.edu.ar
    git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-academico-xyz
    cd sq-academico-xyz
    git config core.sparseCheckout true
    git sparse-checkout init --cone
    git sparse-checkout set lib academico
    Nota: A Partir de la versión 2.4.0 Sanaviron-Quilmes paso a ser un solo repositorio. La opción de git sparse-checkout esta disponible desde la versión de git 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.
  4. Descargar las dependencias mediante Composer
    cd academico
    composer install --prefer-dist --no-dev --optimize-autoloader
  5. Configuración de la instalación
    Hay que definir muchas variables para completar la instalación. No hay que preocuparse si hay algo mal definido ya que todo lo que se define acá puede ser modificado luego a través de archivos de configuración de SIU-Sanavirón-Quilmes. Para mayor comodidad, se entrega un archivo instalador.env de variables de entorno listo para ser completado. En la página Variables de entorno para la instalación del se explica en detalle cada una. El instalador dispone de un comando para inicializar el archivo de variables de entorno:
     ./bin/instalador proyecto:definir-variables
    Esto creará el archivo en la raíz del proyecto, el cual debe ser editado según las necesidades. Una vez editado el archivo, se puede proceder a realizar la instalación de SIU-Sanaviron-Quilmes: Académico
    Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (bases.ini, sq.ini).
  6. 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.
    El instalador nos proporciona el siguiente comando para ejecutar el proceso de actualización:
    ./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR
  7. 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
  8. 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
  9. 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/academico/config/toba.conf /etc/apache2/sites-enabled/sq_academico.conf
    Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.
  10. 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
  11. Configurar el cron
     crontab -e
    Para que el planificador de tareas se ejecute cada un minuto en búsqueda de tareas programadas hay que agregar al crontab la siguiente línea:
     * * * * * <path proyecto ACADEMICO>/bin/sq tareas_planificadas
    Nota: Se ponen los 5 asteriscos para que este comando se ejecute cada un minuto. Este comando se encarga de verificar cada minuto si es el momento de ejecutar determinada tarea según se haya configurado en la operación toba Procesos > Planificador de tareas. Luego guardar el archivo y reiniciar la pc. Configurar la ejecución programada de procesos En toba hay que ir a la operación Procesos > Planificador de tareas. Por cada proceso se agrega una fila en el formulario multilínea. La idea es que elijan como frecuencia DIARIO y los programen con 30 minutos de separación entre cada proceso.
  12. Iniciar Workers (cola de mensajes)
    Una vez finalizada la instalación o actualización del sistema, este deberá quedar preparado para enviar los mensajes a los sistemas correspondientes. Para que esta cola de mensajes sea leída en forma asíncrona y realice los envíos se debe mantener corriendo el siguiente comando en el servidor: ./bin/sq iniciar_workers Una vez ejecutado el comando, este inicia los workers que quedán a la espera de nuevos mensajes que se enviarán a la cola para posteriormente realizar el envío al destinatario correspondiente. Para que el comando corra de manera ininterrumpida se puede utilizar el siguiente enfoque:
    Supervisor

Si modifica alguna credencial en el archivo "sq.ini" no tomará los cambios al enviar los mensajes hasta que reinicie los workers.

Finalmente, podrá acceder al sistema SIU-SQ-Académico abriendo en un navegador la dirección url http://servidor.universidad.edu.ar/sq_academico.

Para realizar validaciones generales puede ejecutar el comando

cd bin
sq validar_instalacion

SQ G.C.O.

  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-SQ 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.
  2. Descarga de fuentes.
    Posicionarse en la ubicación deseada para la nueva instalación del proyecto:
    cd /usr/local/proyectos/sanaviron_quilmes/
    El proyecto está disponible en https://hub.siu.edu.ar
    git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-gco-xyz
    cd sq-gco-xyz
    git config core.sparseCheckout true
    git sparse-checkout init --cone
    git sparse-checkout set gco
    Nota: A Partir de la versión 2.4.0 Sanaviron-Quilmes paso a ser un solo repositorio. La opción de git sparse-checkout esta disponible desde la versión de git 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.
  3. Descargar las dependencias mediante Composer
     composer install
  4. Configuración de la instalación
    Hay que definir muchas variables para completar la instalación. No hay que preocuparse si hay algo mal definido ya que todo lo que se define acá puede ser modificado luego a través de archivos de configuración de SIU-Sanavirón-Quilmes. Para mayor comodidad, se entrega un archivo instalador.env de variables de entorno listo para ser completado. En la página Variables de entorno para la instalación del se explica en detalle cada una. El instalador dispone de un comando para inicializar el archivo de variables de entorno:
     ./bin/instalador proyecto:definir-variables
    Esto creará el archivo en la raíz del proyecto, el cual debe ser editado según las necesidades. Una vez editado el archivo, se puede proceder a realizar la instalación de SIU-Sanaviron-Quilmes: G.C.O.
    Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (config.ini).
  5. 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.
    El instalador nos proporciona el siguiente comando para ejecutar el proceso de actualización:
    ./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR
  6. 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
  7. 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
  8. 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/gco/config/alias.conf /etc/apache2/sites-enabled/sq_gco.conf
    Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.

Para realizar validaciones generales puede ejecutar el comando

cd bin
sq validar_instalacion

SQ Pagos

  1. Descarga de fuentes.
    Posicionarse en la ubicación deseada para la nueva instalación del proyecto:
    cd /usr/local/proyectos/sanaviron_quilmes/
    El proyecto está disponible en https://hub.siu.edu.ar
    git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-pagos-xyz
    cd sq-pagos-xyz
    git config core.sparseCheckout true
    git sparse-checkout init --cone
    git sparse-checkout set pagos
    Nota: A Partir de la versión 2.4.0 Sanaviron-Quilmes paso a ser un solo repositorio. La opción de git sparse-checkout esta disponible desde la versión de git 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.
  2. Configuración de la instalación
    Editar el archivo config/angular-config.json:
    {
            "entorno": "desarrollo",
            "desarrollo": {
                    "config": {
                            "api_backend_url": "http://localhost/sq_pagos_backend/",
                            "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                    }
            },
            "produccion": {
                    "config": {
                            "api_backend_url": "http://sq_server.edu.ar/sq_pagos_backend/",
                            "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                    }
            }
    }
  3. Instalar el sistema
    export NODE_VERSION=4.5.0
    export NVM_DIR=<dir_sq_pagos>/bin/.nvm
    git clone https://github.com/creationix/nvm.git $NVM_DIR && cd $NVM_DIR && git checkout `git describe --abbrev=0 --tags`
    . $NVM_DIR/nvm.sh && nvm install $NODE_VERSION
    echo ". $NVM_DIR/nvm.sh" >> ~/.bashrc
    . $NVM_DIR/nvm.sh && nvm use $NODE_VERSION
    cd <dir_sq_pagos>
    npm install --unsafe-perm
  4. Editar el archivo sq_pagos.conf
    Se deberá modificar el el valor "path-to-sq-pagos" por la ruta absoluta, por ejemplo: "/var/local/sq_pagos/app"
    Alias /sq_pagos "path-to-sq-pagos/app"
        <Directory "path-to-sq-pagos/app/">
             Options MultiViews FollowSymLinks
            AllowOverride None
                    <IfModule !mod_authz_core.c>
                            Order allow,deny
                            Allow from all
                    </IfModule>
                    <IfModule mod_authz_core.c>
                            Require all granted
                    </IfModule>
        </Directory>
  5. Configurar el servidor web Apache
    ln -s ./config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
    Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios

Recomendaciones posteriores a la actualización

Cuando ya haya concluido el proceso de actualización se deberán iniciar los módulos y servícios en un orden determinado.

  1. Núcleo: Iniciar el servidor.
  2. Académico: Iniciar el servidor.
  3. SQ-Pagos: Iniciar el servidor.
  4. GCO: Editar el archivo "config/config.ini" y pasar el valor de los gestores de pago utilizados de ACTIVO=0 a ACTIVO=1
  5. GCO: Iniciar el servidor.
  6. Workers Iniciar los workers de Núcleo y Académico (Supervisord).
  7. Cron que ejecuta las tareas planificadas de Núcleo y Académico.
  8. Avisar a SIU-Guaraní que el sistema SQ se encuentra actualizado.