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

De SIU
Saltar a: navegación, buscar
(Requisitos)
(SQ Núcleo)
 
(No se muestran 15 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 +
[[Archivo:ISOSIU-SQ.png|derecha|60px|link=SIU-Sanaviron-Quilmes/version2.0.0]]
 +
<!-- <span style="float: right; margin: 0 0 15px 15px;">[[Archivo:Siu-sanaviron-quilmes.png|derecha|link=SIU-Sanaviron-Quilmes/version2.0.0]]</span>  -->
 +
<span style="float: right;  margin: 0 0 15px 15px;">{{TOClimit|5}}</span>
 +
 
[[Archivo:Siu-sanaviron-quilmes.png|derecha|link=SIU-Sanaviron-Quilmes/version2.0.0]]
 
[[Archivo:Siu-sanaviron-quilmes.png|derecha|link=SIU-Sanaviron-Quilmes/version2.0.0]]
  
Línea 14: Línea 18:
 
== Requisitos ==
 
== Requisitos ==
  
{| class="wikitable"
+
[[SIU-Sanaviron-Quilmes/version2.0.0/requisitos.para.version|Requisitos para la versión]]
|-
 
! '''''Herramientas''''' !! '''Núcleo''' !! '''Académico''' !! '''G.C.O.'''!! '''SQ Pagos'''
 
|-
 
| Git || Si || Si || Si|| Si
 
|-
 
| SVN || Si || Si || || 
 
|-
 
| Postgres|| >=9.5 || >=9.5 || || 
 
|-
 
| PHP ||  7.3 ||  7.3 ||  7.3||
 
|-
 
| Extensiones PHP || php-pgsql, php-gd, php-curl, php-mbstring, php-dom php-mcrypt || php-pgsql, php-gd, php-curl, php-mbstring, php-dom php-mcrypt || php-curl||
 
|-
 
| PHP-Composer || Si || Si || Si
 
 
|-
 
| NodeJS ||  Si
 
|  Si
 
| || SI
 
|-
 
|Bower
 
|Si
 
|Si
 
|
 
|
 
|}
 
 
 
:'''Nota''': La base de datos debe tener la codificación <b>es_AR.UTF8</b><br />
 
 
 
PHP Composer: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx
 
 
 
Redis: https://redis.io/topics/quickstart
 
 
 
NodeJs: https://nodejs.org/en/download/package-manager
 
 
 
== Instalación ==
 
 
 
Si no tiene instalado Apache  y los módulos puede ejecutarlos con la siguiente linea:<br />
 
<code>
 
apt-get install apache2 libapache2-mod-php php-cli php-pgsql php-gd php-curl php-mbstring php-dom php-mcrypt php-soap
 
</code>
 
 
 
Iniciar módulo rewrite<br />
 
<code>
 
a2enmod rewrite
 
</code>
 
 
 
Instalación de bower
 
 
 
<code>
 
sudo npm install -g bower
 
</code>
 
  
 
+
== SQ Núcleo ==
Definir zona horaria en PHP
 
<code>date.timezone=America/Argentina/Buenos_Aires</code>
 
 
 
El servidor debe tener configurada la fecha correctamente para que la comunicación entre los sistemas propios y externos no genere inconvenientes.
 
 
 
Se recomienda utilizar el servicio NTP y utilizar los servidores de south-america.pool.ntp.org
 
 
 
Instalación:
 
 
 
<code>
 
<nowiki>#</nowiki> apt-get install ntp
 
</code>
 
 
 
<code>
 
<nowiki>#</nowiki> vi /etc/ntp.conf
 
</code>
 
 
 
*     server 0.south-america.pool.ntp.org
 
*     server 1.south-america.pool.ntp.org
 
*     server 2.south-america.pool.ntp.org
 
*     server 3.south-america.pool.ntp.org
 
 
 
<code>
 
<nowiki>#</nowiki> /etc/init.d/ntp restart
 
</code>
 
 
 
=== SQ Núcleo ===
 
  
 
#'''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 />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">
 
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/nucleo.git
 
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/nucleo.git
 
cd nucleo
 
cd nucleo
</syntaxhighlight>Descargar las dependencias mediante Composer<source lang="php" enclose="div"> composer install --no-dev </source>  
+
</syntaxhighlight>Descargar las dependencias mediante Composer<source lang="php" enclose="div"> 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.0.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: Núcleo  
+
#'''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.0.0/variables.de.entorno.para.la.instalacion|'''<big>Variables de entorno para la instalación</big>''']] 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: Núcleo  
#'''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 --crear-db </source>  
+
#'''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>]. En la misma consola, ejecutar:<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar --crear-db </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 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.
 
#'''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.
 
#'''Sacar al sistema de modo mantenimiento'''<br /><source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
 
#'''Sacar al sistema de modo mantenimiento'''<br /><source lang="php" enclose="div"> sudo ./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento </source>
Línea 109: Línea 34:
 
#'''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>
 
#'''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>
 
#'''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 NUCLEO>/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.
 
#'''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 NUCLEO>/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.
#'''Configurar la ejecución programada de procesos'''<br />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.<br /><br />
+
#'''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]<br />
 +
'''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<source lang="bash" enclose="div"> [sq_nucleo]
 
'''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<source lang="bash" enclose="div"> [sq_nucleo]
 
...
 
...
Línea 115: Línea 41:
 
standalone="true" </source>
 
standalone="true" </source>
  
=== SQ Académico ===
+
== SQ Académico ==
  
 
#'''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 />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">
 
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/academico.git
 
git clone -b master https://hub.siu.edu.ar/sanaviron-quilmes/academico.git
 
cd academico
 
cd academico
</syntaxhighlight>Descargar las dependencias mediante Composer<source lang="php" enclose="div"> composer install --no-dev </source>  
+
</syntaxhighlight>Descargar las dependencias mediante Composer<source lang="php" enclose="div"> 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.0.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: Académico  
 
#'''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.0.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: Académico  
 
#'''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 --crear-db </source>  
 
#'''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 --crear-db </source>  
Línea 129: Línea 55:
 
#'''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>
 
#'''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>
 
#'''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.
 
#'''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.
#'''Configurar la ejecución programada de procesos'''<br />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. Los procesos que deberías configurar son los siguientes en este orden:
+
# '''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]
#* Generar_reporte_cobranzas_recibidas (Guarda en la tabla rep_cobranzas_recibidas los payments de MP. necesario para la operación de conciliaciones
+
'''Si modifica alguna credencial en el archivo "sq.ini" no tomará los cambios al enviar los mensajes hasta que reinicie los workers.'''
#* Vencer ventas
 
#* Anular inscripciones g3 (Anula las inscripciones que quedaron en estado inicio_cobro_digital o pendiente si pasaron 6 hs desde la generación de la misma. Anula las inscripciones que quedaron en pendiente_cobro_digital si pasaron 3 días desde la generación de la misma.)
 
#* Notificar morosos a g3 (Notifica a guarSe deben editar:ani todos los ids de los clientes que no pagaron pasada la fecha de vencimiento)
 
#* Enviar notificaciones por email a clientes
 
#* Notificar ventas al nucleo (Envía al núcleo las ventas que se encuentran cobradas y que la comisión a la que pertenecen está confirmada)
 
#* La idea es que elijan como frecuencia DIARIO y los programen con 30 minutos de separación entre cada proceso.
 
#* El proceso generar_reporte_cobranzas_recibidas se podría configurar para que se ejecute cada media hora y mantener lo más actualizado posible el informe de Conciliaciones.
 
  
=== SQ G.C.O. ===
+
Para realizar validaciones generales puede ejecutar el comando
 +
<source lang="php" enclose="div">cd bin
 +
sq validar_instalacion</source>
 +
 
 +
== 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 />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">
Línea 149: Línea 72:
 
#'''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  
 
#'''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
 
#'''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>  
+
  sudo service apache2 restart </source>
 +
 
  
 +
Para realizar validaciones generales puede ejecutar el comando
 +
<source lang="php" enclose="div">cd bin
 +
sq validar_instalacion</source>
  
=== 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 />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">
Línea 176: Línea 103:
 
</source>'''IMPORTANTE:''' Si realiza cambios en este archivo posteriormente a la instalación deberá ejecutar nuevamente el punto 3 (Instalar sistema).
 
</source>'''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
 
#'''Instalar el sistema'''<br /><source lang="php" enclose="div">export NODE_VERSION=4.5.0
export NVM_DIR=/home/node/.nvm
+
export NVM_DIR=<dir_sq_pagos>/bin/.nvm
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && 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`
. ~/.nvm/nvm.sh && nvm install $NODE_VERSION
+
. $NVM_DIR/nvm.sh && nvm install $NODE_VERSION
echo ". ~/.nvm/nvm.sh" >> ~/.bashrc
+
echo ". $NVM_DIR/nvm.sh" >> ~/.bashrc
. ~/.nvm/nvm.sh && nvm use $NODE_VERSION
+
. $NVM_DIR/nvm.sh && nvm use $NODE_VERSION
cd /usr/local/proyectos/sanaviron_quilmes/sq_pagos
+
cd <dir_sq_pagos>
 
npm install --unsafe-perm
 
npm install --unsafe-perm
 +
</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">
 +
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>
 
</source>
 
</source>
 
#'''Configurar el servidor web Apache'''<br /><source lang="php" enclose="div">
 
#'''Configurar el servidor web Apache'''<br /><source lang="php" enclose="div">
Línea 189: Línea 130:
 
  sudo service apache2 restart </source>
 
  sudo service apache2 restart </source>
  
'''Agente de cobranzas'''
+
=== Agente de cobranzas ===
  
[[SIU-Sanaviron-Quilmes/version2.0.0/mercado.pago|Configurar Mercado Pago]]
+
==== [[SIU-Sanaviron-Quilmes/version2.0.0/mercado.pago|Configurar Mercado Pago]] ====
  
[[SIU-Sanaviron-Quilmes/version2.0.0/paypertic|Configurar PayperTic]]
+
==== [[SIU-Sanaviron-Quilmes/version2.0.0/paypertic|Configurar PayperTic]] ====

Revisión actual del 10:28 15 nov 2021

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/sanaviron-quilmes/nucleo.git
    cd nucleo
    Descargar las dependencias mediante Composer
     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: 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. 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.
  9. 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/sanaviron-quilmes/academico.git
    cd academico
    Descargar las dependencias mediante Composer
     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. 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.
  9. 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.

  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/sanaviron-quilmes/gco.git
    cd gco
    Descargar las dependencias mediante Composer
     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: G.C.O.
  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
  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 <mi-usuario> -W www-data
    Nota: Existen otras variantes del esquema de permisos y opciones, ver más con ./bin/instalador ayuda
  5. 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

  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/sanaviron-quilmes/sq_pagos.git
    cd sq_pagos
  2. Configuración de la instalación
    Editar el archivo config/angular-config.json:
    {
            "entorno": "desarrollo",
            "desarrollo": {
                    "config": {
                            "api_backend_url": "http://ip_servidor/sq_pagos_backend/",
                            "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                    }
            },
            "produccion": {
                    "config": {
                            "api_backend_url": "http://ip_servidor/sq_pagos_backend/",
                            "titulo": "Universidad de prueba :: Plataforma de pagos :: SIU­-Sanaviron-Quilmes"
                    }
            }
    }
    IMPORTANTE: Si realiza cambios en este archivo posteriormente a la instalación deberá ejecutar nuevamente el punto 3 (Instalar sistema).
  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
    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