SIU-Sanaviron-Quilmes/version2.7.0/actualizar sq
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.
- Avisar a SIU-Guaraní que el sistema SQ se encuentra en actualización
- GCO: Editar el archivo "config/config.ini" y pasar el valor de los gestores de pago utilizados de ACTIVO=1 a ACTIVO=0
- SQ-Pagos: Detener el servidor.
- Académico: Detener el servidor.
- Núcleo: Detener el servidor.
- GCO: Detener el servidor.
- Workers Detener los servicios y procesos de Núcleo y Académico (Supervisord).
- Cron que ejecuta las tareas planificadas de Núcleo y Académico.
Requisitos
SQ Núcleo
- 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" - 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. - Descarga de fuentes.
Posicionarse en la ubicación deseada para la nueva instalación del proyecto:El proyecto está disponible en https://hub.siu.edu.arcd /usr/local/proyectos/sanaviron_quilmes/Nota: A Partir de la versión 2.7.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.7.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.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 - Descargar las dependencias mediante Composercd nucleo
composer install --prefer-dist --no-dev --optimize-autoloader - 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: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./bin/instalador proyecto:definir-variables
Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (bases.ini, sq.ini). - 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 - 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: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:simplesudo ./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.ln -s /ruta_instalacion/nucleo/config/toba.conf /etc/apache2/sites-enabled/sq_nucleo.conf - 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 - Configurar el cronPara 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:crontab -eNota: 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.* * * * * <path proyecto NUCLEO>/bin/sq tareas_planificadas
- 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
sq validar_instalacion
SQ Académico
- 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" - 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. - Descarga de fuentes.
Posicionarse en la ubicación deseada para la nueva instalación del proyecto:El proyecto está disponible en https://hub.siu.edu.arcd /usr/local/proyectos/sanaviron_quilmes/Nota: A Partir de la versión 2.7.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.7.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.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 - Descargar las dependencias mediante Composercd academico
composer install --prefer-dist --no-dev --optimize-autoloader - 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: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./bin/instalador proyecto:definir-variables
Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (bases.ini, sq.ini). - 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 - 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: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:simplesudo ./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.ln -s /ruta_instalacion/academico/config/toba.conf /etc/apache2/sites-enabled/sq_academico.conf - 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 - Configurar el cronPara 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:crontab -eNota: 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.* * * * * <path proyecto ACADEMICO>/bin/sq tareas_planificadas
- 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
sq validar_instalacion
SQ G.C.O.
- 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. - Descarga de fuentes.
Posicionarse en la ubicación deseada para la nueva instalación del proyecto:El proyecto está disponible en https://hub.siu.edu.arcd /usr/local/proyectos/sanaviron_quilmes/Nota: A Partir de la versión 2.7.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.7.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.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 lib gco - Descargar las dependencias mediante Composercomposer install
- 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: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../bin/instalador proyecto:definir-variables
Nota: Muchas de las configuraciones se podrán obtener desde la instalación anterior dentro de la carpeta config (config.ini). - 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 - 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: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:simplesudo ./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.ln -s /ruta_instalacion/gco/config/alias.conf /etc/apache2/sites-enabled/sq_gco.conf
Para realizar validaciones generales puede ejecutar el comando
sq validar_instalacion
SQ Pagos
- Descarga de fuentes.
Posicionarse en la ubicación deseada para la nueva instalación del proyecto:El proyecto está disponible en https://hub.siu.edu.arcd /usr/local/proyectos/sanaviron_quilmes/Nota: A Partir de la versión 2.7.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.7.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.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 sq_pagos - 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"
}
}
} - Instalar el sistemaexport 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 - 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> - Configurar el servidor web ApachePara finalizar, reiniciar el servidor apache para que tome los nuevos cambiosln -s ./config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
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.
- Núcleo: Iniciar el servidor.
- Académico: Iniciar el servidor.
- SQ-Pagos: Iniciar el servidor.
- GCO: Editar el archivo "config/config.ini" y pasar el valor de los gestores de pago utilizados de ACTIVO=0 a ACTIVO=1
- GCO: Iniciar el servidor.
- Workers Iniciar los workers de Núcleo y Académico (Supervisord).
- Cron que ejecuta las tareas planificadas de Núcleo y Académico.
- Avisar a SIU-Guaraní que el sistema SQ se encuentra actualizado.