Diferencia entre revisiones de «SIU-Sanaviron-Quilmes/version2.4.0/instalar sq produccion»

De SIU
Saltar a: navegación, buscar
Línea 21: Línea 21:
  
 
== SQ Núcleo ==
 
== SQ Núcleo ==
 
+
'''1- Descarga de fuentes.'''<br />
#'''Descarga de fuentes.'''<br />Posicionarse en la ubicación deseada para la instalación del proyecto:
+
Posicionarse en la ubicación deseada para la instalación del proyecto:
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]
+
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>
<syntaxhighlight lang="bash" enclose="div">git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-nucleo
+
El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]
 +
<syntaxhighlight lang="bash" enclose="div">
 +
git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-nucleo
 
cd sq-nucleo
 
cd sq-nucleo
 
git config core.sparseCheckout true
 
git config core.sparseCheckout true
 
git sparse-checkout init --cone
 
git sparse-checkout init --cone
 
git sparse-checkout set lib nucleo
 
git sparse-checkout set lib nucleo
</syntaxhighlight>'''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 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.''#'''Descargar las dependencias mediante Composer'''<source lang="php" enclose="div">cd nucleo
+
</syntaxhighlight>
 +
'''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 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.''
 +
 
 +
'''2- Descargar las dependencias mediante Composer'''
 +
<source lang="php" enclose="div">cd nucleo
 
composer install
 
composer install
</source>#'''Configuración de la instalación'''<br />
+
</source>
 +
'''Configuración de la instalación'''<br />
 
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.
 
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.
 
Para mayor comodidad, se entrega un archivo instalador.env de variables de entorno listo para ser completado.
Línea 39: Línea 46:
 
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  
 
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  
  
'''4- Instalar el sistema'''<br />
+
'''3- Instalar el sistema'''<br />
  
 
El proceso de instalar es simple y estándar, basado en el proyecto para [https://gitlab.siu.edu.ar/siu/<big>'''instalador instalación de soluciones SIU'''</big>].
 
El proceso de instalar es simple y estándar, basado en el proyecto para [https://gitlab.siu.edu.ar/siu/<big>'''instalador instalación de soluciones SIU'''</big>].
Línea 45: Línea 52:
 
<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar --crear-db </source>  
 
<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar --crear-db </source>  
  
'''5- Corregir los permisos'''<br />
+
'''4- Corregir los permisos'''<br />
 
 
 
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos.
 
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos.
 
Esto se logra ejecutando como administrador:
 
Esto se logra ejecutando como administrador:
Línea 53: Línea 59:
 
'''Importante''': Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.
 
'''Importante''': Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.
  
'''6- Sacar al sistema de modo mantenimiento'''<br />
+
'''5- Sacar al sistema de modo mantenimiento'''<br />
 
<source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
 
<source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
  
'''7- Configurar el servidor web Apache'''<br />
+
'''6- Configurar el servidor web Apache'''<br />
 
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:
 
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:
 
<source lang="php" enclose="div"> sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_nucleo.conf </source>
 
<source lang="php" enclose="div"> sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_nucleo.conf </source>
Línea 64: Línea 70:
 
sudo service apache2 restart </source>  
 
sudo service apache2 restart </source>  
  
'''8- Iniciar el servidor Jasper'''<br />
+
'''7- Iniciar el servidor Jasper'''<br />
 
Para poder generar los comprobantes será necesario iniciar el servidor Jasper.  
 
Para poder generar los comprobantes será necesario iniciar el servidor Jasper.  
 
<source lang="php" enclose="div">java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081</source>
 
<source lang="php" enclose="div">java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081</source>
  
'''9- Configurar el cron'''<br />
+
'''8- Configurar el cron'''<br />
 
<source lang="php" enclose="div"> crontab -e </source>
 
<source lang="php" enclose="div"> crontab -e </source>
 
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:
 
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:
Línea 76: Línea 82:
 
Luego guardar el archivo y reiniciar la pc.
 
Luego guardar el archivo y reiniciar la pc.
  
'''10- Configurar la ejecución programada de procesos'''
+
'''9- Configurar la ejecución programada de procesos'''
 
En toba hay que ir a la operación Procesos > Planificador de tareas.
 
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.
 
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.
  
'''11- Iniciar Workers (cola de mensajes)'''<br />
+
'''10- Iniciar Workers (cola de mensajes)'''<br />
 
Una vez finalizada la instalación o actualización del sistema, este deberá quedar preparado para enviar los mensajes a los sistemas correspondientes.
 
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:
 
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:
Línea 100: Línea 106:
 
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>
 
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>
 
El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]<syntaxhighlight lang="bash" enclose="div">
 
El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]<syntaxhighlight lang="bash" enclose="div">
git clone -b master https://gitlab.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-academico
+
git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-academico
 
cd sq-academico
 
cd sq-academico
 +
git config core.sparseCheckout true
 +
git sparse-checkout init --cone
 +
git sparse-checkout set lib academico
 
</syntaxhighlight>
 
</syntaxhighlight>
 
Descargar las dependencias mediante Composer
 
Descargar las dependencias mediante Composer
Línea 121: Línea 130:
  
 
'''4- Corregir los permisos'''<br />
 
'''4- Corregir los permisos'''<br />
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:<source lang="php" enclose="div"> sudo ./bin/instalador permisos:simple -U www-data -W www-data </source>'''Nota''': Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda<br>'''Importante''': Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.  
+
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos.
#'''Sacar al sistema de modo mantenimiento'''<br /><source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
+
Esto se logra ejecutando como administrador:
#'''Configurar el servidor web Apache'''<br />Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:<source lang="php" enclose="div"> sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_uv.conf </source>Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:<source lang="php" enclose="div"> sudo a2enmod rewrite
+
<source lang="php" enclose="div"> sudo ./bin/instalador permisos:simple -U www-data -W www-data </source>
sudo service apache2 restart </source>  
+
'''Nota''': Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda<br>
#'''Iniciar el servidor Jasper'''<br />Para poder generar los comprobantes será necesario iniciar el servidor Jasper. <source lang="php" enclose="div">java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081</source>
+
'''Importante''': Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.
#'''Configurar el cron'''<br /><source lang="php" enclose="div"> crontab -e </source>   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:<source lang="bash" enclose="div"> * * * * * <path proyecto UV>/bin/sq tareas_planificadas </source>'''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.
+
 
# '''Iniciar Workers (cola de mensajes)'''<br />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:<source lang="bash" enclose="div"> ./bin/sq iniciar_workers </source>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: <br />  [https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps Supervisor]
+
'''5- Sacar al sistema de modo mantenimiento'''<br />
 +
 
 +
<source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
 +
 
 +
'''6- Configurar el servidor web Apache'''<br />
 +
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:
 +
<source lang="php" enclose="div"> sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_uv.conf </source>
 +
Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:
 +
<source lang="php" enclose="div"> sudo a2enmod rewrite
 +
sudo service apache2 restart </source>
 +
 
 +
'''7- Iniciar el servidor Jasper'''<br />Para poder generar los comprobantes será necesario iniciar el servidor Jasper. <source lang="php" enclose="div">java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081</source>
 +
 
 +
'''8- Configurar el cron'''<br />
 +
<source lang="php" enclose="div"> crontab -e </source>
 +
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:
 +
<source lang="bash" enclose="div"> * * * * * <path proyecto UV>/bin/sq tareas_planificadas </source>
 +
'''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.
 +
 
 +
'''9- 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.
 +
 
 +
'''10- Iniciar Workers (cola de mensajes)'''<br />
 +
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:
 +
<source lang="bash" enclose="div"> ./bin/sq iniciar_workers </source>
 +
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: <br />  [https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps Supervisor]
 
'''Si modifica alguna credencial en el archivo "sq.ini" no tomará los cambios al enviar los mensajes hasta que reinicie los workers.'''
 
'''Si modifica alguna credencial en el archivo "sq.ini" no tomará los cambios al enviar los mensajes hasta que reinicie los workers.'''
 
 
Para realizar validaciones generales puede ejecutar el comando
 
Para realizar validaciones generales puede ejecutar el comando
 
<source lang="php" enclose="div">cd bin
 
<source lang="php" enclose="div">cd bin
Línea 136: Línea 173:
 
== SQ G.C.O. ==
 
== SQ G.C.O. ==
  
#'''Descarga de fuentes.'''<br />Posicionarse en la ubicación deseada para la instalación del proyecto:<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]<syntaxhighlight lang="bash" enclose="div">
+
'''Descarga de fuentes.'''<br />
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/gco.git
+
Posicionarse en la ubicación deseada para la instalación del proyecto:
cd gco
+
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>
</syntaxhighlight>Descargar las dependencias mediante Composer<source lang="php" enclose="div"> composer install </source>  
+
El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]
#'''Configuración de la instalación'''<br />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 [[SIU-Sanaviron-Quilmes/version2.4.0/variables.de.entorno.para.la.instalacion|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:<source lang="php" enclose="div"> ./bin/instalador proyecto:definir-variables  </source>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.  
+
 
#'''Instalar el sistema'''<br />El proceso de instalar es simple y estándar, basado en el proyecto para [https://gitlab.siu.edu.ar/siu/instalador instalación de soluciones SIU]. En la misma consola, ejecutar:<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar </source>
+
<syntaxhighlight lang="bash" enclose="div">
#'''Corregir los permisos'''<br />Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:<source lang="php" enclose="div"> sudo ./bin/instalador permisos:simple -U <mi-usuario> -W www-data </source>'''Nota''': Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda
+
git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-gco
#'''Configurar el servidor web Apache'''<br />Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:<source lang="php" enclose="div"> sudo ln -s ./config/alias.conf /etc/apache2/sites-enabled/gco.conf </source>Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:<source lang="php" enclose="div"> sudo a2enmod rewrite
+
cd sq-gco
sudo service apache2 restart </source>
+
git config core.sparseCheckout true
 +
git sparse-checkout init --cone
 +
git sparse-checkout set lib gco
 +
</syntaxhighlight>
 +
 
 +
Descargar las dependencias mediante Composer
 +
<source lang="php" enclose="div">cd gco
 +
composer install </source>
 +
 
 +
'''Configuración de la instalación'''<br />
 +
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 [[SIU-Sanaviron-Quilmes/version2.4.0/variables.de.entorno.para.la.instalacion|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:
 +
<source lang="php" enclose="div"> ./bin/instalador proyecto:definir-variables  </source>
 +
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.  
 +
'''Instalar el sistema'''<br />
 +
El proceso de instalar es simple y estándar, basado en el proyecto para [https://gitlab.siu.edu.ar/siu/instalador instalación de soluciones SIU]. En la misma consola, ejecutar:
 +
<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar </source>
  
 +
'''Corregir los permisos'''<br />
 +
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:
 +
<source lang="php" enclose="div"> sudo ./bin/instalador permisos:simple -U <mi-usuario> -W www-data </source>
 +
'''Nota''': Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda
 +
'''Configurar el servidor web Apache'''<br />
 +
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:
 +
<source lang="php" enclose="div"> sudo ln -s ./config/alias.conf /etc/apache2/sites-enabled/gco.conf </source>
 +
Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:
 +
<source lang="php" enclose="div"> sudo a2enmod rewrite
 +
sudo service apache2 restart </source>
  
 
Para realizar validaciones generales puede ejecutar el comando
 
Para realizar validaciones generales puede ejecutar el comando
Línea 153: Línea 218:
 
== SQ Pagos ==
 
== SQ Pagos ==
  
#'''Descarga de fuentes.'''<br />Posicionarse en la ubicación deseada para la instalación del proyecto:<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]<syntaxhighlight lang="bash" enclose="div">
+
'''Descarga de fuentes.'''<br />
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/sq_pagos.git
+
Posicionarse en la ubicación deseada para la instalación del proyecto:
cd sq_pagos
+
<source lang="php" enclose="div">cd /usr/local/proyectos/sanaviron_quilmes/</source>
 +
El proyecto está disponible en [https://hub.siu.edu.ar/SIU https://hub.siu.edu.ar]
 +
<syntaxhighlight lang="bash" enclose="div">
 +
git clone -b master https://hub.siu.edu.ar/siu/sanaviron-quilmes/sanaviron-quilmes.git sq-pagos
 +
cd sq-pagos
 +
git config core.sparseCheckout true
 +
git sparse-checkout init --cone
 +
git sparse-checkout set lib pagos
 
</syntaxhighlight>
 
</syntaxhighlight>
#'''Configuración de la instalación'''<br />Editar el archivo config/angular-config.json:<source lang="php" enclose="div">
+
'''Configuración de la instalación'''<br />
 +
Editar el archivo config/angular-config.json:<source lang="php" enclose="div">
 
{
 
{
 
"entorno": "produccion",
 
"entorno": "produccion",
Línea 181: Línea 254:
 
}
 
}
 
}
 
}
</source>'''IMPORTANTE:''' Si realiza cambios en este archivo posteriormente a la instalación deberá ejecutar nuevamente el punto 3 (Instalar sistema).
+
</source>
#'''Instalar el sistema'''<br /><source lang="php" enclose="div">export NODE_VERSION=4.5.0
+
'''IMPORTANTE:''' Si realiza cambios en este archivo posteriormente a la instalación deberá ejecutar nuevamente el punto 3 (Instalar sistema).
 +
 
 +
'''Instalar el sistema'''<br /><source lang="php" enclose="div">export NODE_VERSION=4.5.0
 
export NVM_DIR=<dir_sq_pagos>/bin/.nvm
 
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`
 
git clone https://github.com/creationix/nvm.git $NVM_DIR && cd $NVM_DIR && git checkout `git describe --abbrev=0 --tags`
Línea 191: Línea 266:
 
npm install --unsafe-perm
 
npm install --unsafe-perm
 
</source>
 
</source>
#'''Editar el archivo sq_pagos.conf'''<br />Se deberá modificar el el valor "path-to-sq-pagos" por la ruta absoluta, por ejemplo: "/var/local/sq_pagos/app" <source lang="php" enclose="div">
+
 
 +
'''Editar el archivo sq_pagos.conf'''<br />
 +
Se deberá modificar el el valor "path-to-sq-pagos" por la ruta absoluta, por ejemplo: "/var/local/sq_pagos/app"  
 +
<source lang="php" enclose="div">
 
Alias /sq_pagos "path-to-sq-pagos/app"
 
Alias /sq_pagos "path-to-sq-pagos/app"
 
     <Directory "path-to-sq-pagos/app/">
 
     <Directory "path-to-sq-pagos/app/">
Línea 205: Línea 283:
 
     </Directory>
 
     </Directory>
 
</source>
 
</source>
#'''Configurar el servidor web Apache'''<br /><source lang="php" enclose="div">
+
 
 +
'''Configurar el servidor web Apache'''<br />
 +
<source lang="php" enclose="div">
 
ln -s ./config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
 
ln -s ./config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
</source>Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache<source lang="php" enclose="div"> sudo a2enmod rewrite
+
</source>
sudo service apache2 restart </source>
+
Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache
 +
<source lang="php" enclose="div"> sudo a2enmod rewrite
 +
sudo service apache2 restart </source>
  
 
=== Agente de cobranzas ===
 
=== Agente de cobranzas ===

Revisión del 16:24 15 ago 2023

ISOSIU-SQ.png
Siu-sanaviron-quilmes.png

Esquema de instalación y configuración de SIU-Sanavirón-Quilmes

Comunicación entre Modulos

En esta sección se va a encontrar información sobre:

  • Requisitos para la instalación.
  • Instalación de los distintos sub módulos de SIU Sanaviron Quilmes.
  • Configuración para establecer la comunicación entre los distintos sub módulos y otros módulos (SIU Pilagá, SIU Guaraní, Agentes de cobranza)

Requisitos

Requisitos para la versión

SQ Núcleo

1- Descarga de fuentes.
Posicionarse en la ubicación deseada para la 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
cd sq-nucleo
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 2.25.0. Este nos permite hacer un clone de un proyecto parcialmente y no descargar todo el árbol de directorio.

2- Descargar las dependencias mediante Composer

cd nucleo
composer 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:

 ./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

3- Instalar el sistema

El proceso de instalar es simple y estándar, basado en el proyecto para instalador instalación de soluciones SIU. En la misma consola, ejecutar:

 ./bin/instalador proyecto:instalar --crear-db

4- Corregir los permisos
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:

 sudo ./bin/instalador permisos:simple -U www-data -W www-data

Nota: Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda
Importante: Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.

5- Sacar al sistema de modo mantenimiento

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

6- Configurar el servidor web Apache
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:

 sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_nucleo.conf

Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:

sudo a2enmod rewrite
sudo service apache2 restart

7- Iniciar el servidor Jasper
Para poder generar los comprobantes será necesario iniciar el servidor Jasper.

java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081

8- 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.

9- 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.

10- 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.

Importante: En caso de utilizar solamente la instalación del Núcleo sin módulos adicionales (Académico, G.C.O., SQ-Pagos) se deberá modificar la siguiente variable en el archivo /config/sq.ini

 [sq_nucleo]
...
...
standalone="true"

SQ Académico

1- Descarga de fuentes.
Posicionarse en la ubicación deseada para la 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
cd sq-academico
git config core.sparseCheckout true
git sparse-checkout init --cone
git sparse-checkout set lib academico

Descargar las dependencias mediante Composer

cd academico
composer install

2- 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

3- Instalar el sistema
El proceso de instalar es simple y estándar, basado en el proyecto para instalación de soluciones SIU. En la misma consola, ejecutar:

 ./bin/instalador proyecto:instalar --crear-db

4- Corregir los permisos
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:

 sudo ./bin/instalador permisos:simple -U www-data -W www-data

Nota: Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda
Importante: Si utiliza como usuario y grupo www-data deberá agregar el usuario que ejecutará el cron al grupo www-data. El grupo www-data deberá tener permisos de escritura para los usuarios del grupo.

5- Sacar al sistema de modo mantenimiento

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

6- Configurar el servidor web Apache
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:

 sudo ln -s ./config/toba.conf /etc/apache2/sites-enabled/sq_uv.conf

Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:

 sudo a2enmod rewrite
sudo service apache2 restart
7- Iniciar el servidor Jasper
Para poder generar los comprobantes será necesario iniciar el servidor Jasper.
java -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081

8- 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 UV>/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.

9- 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.

10- 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. Para realizar validaciones generales puede ejecutar el comando

cd bin
sq validar_instalacion

SQ G.C.O.

Descarga de fuentes.
Posicionarse en la ubicación deseada para la 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
cd sq-gco
git config core.sparseCheckout true
git sparse-checkout init --cone
git sparse-checkout set lib gco

Descargar las dependencias mediante Composer

cd gco
composer 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:

 ./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. Instalar el sistema
El proceso de instalar es simple y estándar, basado en el proyecto para instalación de soluciones SIU. En la misma consola, ejecutar:

 ./bin/instalador proyecto:instalar

Corregir los permisos
Es imprescindible que se configuren los permisos de forma adecuada. Para ello una forma es asignar permisos de usuario de modo que <mi-usuario> pueda leer, modificar y ejecutar los archivos del proyecto mientras asignar los permisos de grupo al que corre el servidor web para que este pueda acceder a los archivos. Esto se logra ejecutando como administrador:

 sudo ./bin/instalador permisos:simple -U <mi-usuario> -W www-data

Nota: Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda Configurar el servidor web Apache
Se proporciona un archivo de configuración muy simple, a modo de guía y con las rutas necesarias. Para probarlo, basta con ejecutar:

 sudo ln -s ./config/alias.conf /etc/apache2/sites-enabled/gco.conf

Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache:

 sudo a2enmod rewrite
sudo service apache2 restart

Para realizar validaciones generales puede ejecutar el comando

cd bin
sq validar_instalacion

SQ Pagos

Descarga de fuentes.
Posicionarse en la ubicación deseada para la 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
cd sq-pagos
git config core.sparseCheckout true
git sparse-checkout init --cone
git sparse-checkout set lib pagos

Configuración de la instalación

Editar el archivo config/angular-config.json:
{
        "entorno": "produccion",
        "desarrollo": {
                "config": {
                        "api_backend_url": "http://ip_servidor/sq_pagos_backend/",
                        "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                },
                "mensajes": {
                        "inscripciones_sin_inscripciones": "No posee inscripciones al día de la fecha"
                }

        },
        "produccion": {
                "config": {
                        "api_backend_url": "http://ip_servidor/sq_pagos_backend/",
                        "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                },
                "mensajes": {
                        "inscripciones_sin_inscripciones": "No posee inscripciones al día de la fecha"
                }

        }
}

IMPORTANTE: Si realiza cambios en este archivo posteriormente a la instalación deberá ejecutar nuevamente el punto 3 (Instalar sistema).

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

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 Apache

ln -s ./config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf

Por último, se requiere tener activo el módulo de reescritura de url del servidor web Apache

 sudo a2enmod rewrite
sudo service apache2 restart

Agente de cobranzas

Configurar Mercado Pago

Configurar PayperTic