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

De SIU
Saltar a: navegación, buscar
(G.C.O.)
(SQ Pagos)
 
(No se muestran 91 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
[[Archivo:Siu-sanaviron-quilmes.png|derecha|link=SIU-Sanaviron-Quilmes/version1.0.0]]
 
[[Archivo:Siu-sanaviron-quilmes.png|derecha|link=SIU-Sanaviron-Quilmes/version1.0.0]]
  
= Esquema de Instalación de SIU-Sanavirón-Quilmes =
+
= Esquema de instalación y configuración de SIU-Sanavirón-Quilmes =
 +
[[Archivo:SQ_Comunicacion.png|800px||Comunicación entre Modulos]]
 +
<br />
  
En esta sección se va a encontrar información sobre:
+
'''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.
 
* Instalación de los distintos sub módulos de SIU Sanaviron Quilmes.
* Configuración para establecer la comunicacion entre los distintos sub módulos y otros modulos (SIU Pilaga, SIU Guarani, MercadoPago)
+
* Configuración para establecer la comunicación entre los distintos sub módulos y otros módulos (SIU Pilagá, SIU Guaraní, MercadoPago)
  
 
<div class="noautonum">__TOC__</div>
 
<div class="noautonum">__TOC__</div>
  
== Requisitos: ==
+
== Requisitos ==
  
* Postgres >=9.5 (La db debe tener la codificación es_AR.UTF8)
+
{| class="wikitable"
* PHP >= 5.5
+
|-
* Redis >= 3.2
+
! '''''Herramientas''''' !! '''Nucleo''' !! '''Unidad de venta''' !! '''SQ Pagos''' !! '''G.C.O.'''
* Extensiones PHP (php5-pgsql y php5-gd)
+
|-
* PHP-Composer
+
| Git || Si || Si || Si || Si
* Iniciar módulo rewrite (a2enmod rewrite)
+
|-
== SQ Núcleo ==
+
| SVN || Si || Si ||  ||
=== Instalación ===
+
|-
 +
| Postgres|| >=9.5 || >=9.5 ||  ||
 +
|-
 +
| PHP ||  >= 5.6 ||  >= 5.6 ||  >= 5.6 ||  >= 5.6
 +
|-
 +
| Extensiones PHP || php5-pgsql, php5-gd, php5-curl || php5-pgsql, php5-gd, php5-curl || || php5-curl
 +
|-
 +
| Redis || >= 3.2 || >= 3.2 ||  ||
 +
|-
 +
| PHP-Composer || Si || Si || Si ||
 +
|-
 +
| NodeJS ||  ||  || 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-php5 php5-cli php5-pgsql php5-gd php5-curl
 +
</code>
 +
 
 +
Iniciar módulo rewrite<br />
 +
<code>
 +
a2enmod rewrite
 +
</code>
 +
 
 +
 
 +
Definir zona horaria en PHP
 +
<code>date.timezone=America/Argentina/Buenos_Aires</code>
 +
 
 +
=== SQ Núcleo ===
 +
 
 +
#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 https://hub.siu.edu.ar/sanaviron-quilmes/nucleo.git
 +
</syntaxhighlight>
 +
#:Ahora tenemos el path:
 +
#:<source lang="php" enclose="div">/usr/local/proyectos/sanaviron_quilmes/nucleo/</source>
 +
#:'''Nota''': en lo sucesivo denominaremos esta carpeta como <tt><path proyecto NUCLEO></tt>.
  
Actualmente el sistema se encuentra disponible en el repositorio GIT del SIU solo para los usuarios que lo soliciten.
 
  
 
Una vez descargado, ejecutar en la raíz del mismo:
 
Una vez descargado, ejecutar en la raíz del mismo:
  
<source lang="php" enclose="div"> composer install --no-dev
+
<source lang="php" enclose="div"> composer install
  composer siu:instalar --no-dev </source>
+
  composer siu:instalar </source>
  
En el caso de querer instalarlo en modo desarrollo, quitar el flag --no-dev
+
#:y completar o ENTER utiliza los valores '''por defecto'''
 +
#:<source lang="php" enclose="div">
 +
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
 +
Creating the "config/parameters-only-install.yml" file
 +
Some parameters are missing. Please provide them.
 +
database_host (localhost):
 +
database_port (5432):
 +
database_name (sq_nucleo):
 +
database_name_toba (toba_sq_nucleo):
 +
database_user (postgres):
 +
database_password (postgres):
 +
url_base ('http://localhost'):
 +
url_port (null):
 +
sqnucleo_usuario (admin):
 +
sqnucleo_password (admin):
 +
sqnucleo_id_desarrollador (0):
 +
sqnucleo_alias (/sq_nucleo):
 +
</source>
  
 
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf
 
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf
 +
#:<source lang="php" enclose="div">
 +
ln -s <path proyecto NUCLEO>/config/toba.conf /etc/apache2/sites-enabled/toba_nucleo.conf
 +
</source>
 +
#:y luego reiniciar Apache
 +
 +
=== SQ Unidades de ventas (Cursos) ===
 +
 +
#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 https://hub.siu.edu.ar/sanaviron-quilmes/unidad-venta.git
 +
</syntaxhighlight>
 +
#:Ahora tenemos el path:
 +
#:<source lang="php" enclose="div">/usr/local/proyectos/sanaviron_quilmes/unidad-venta/</source>
 +
#:'''Nota''': en lo sucesivo denominaremos esta carpeta como <tt><path proyecto UV></tt>.
 +
 +
Una vez descargado, ejecutar en la raíz del mismo:
  
=== Activar el planificador de tareas ===
+
<source lang="php" enclose="div">composer install
 +
composer siu:instalar </source>
  
'''Configurar el cron:'''
+
#:y completar o ENTER utiliza los valores '''por defecto'''
 +
#:<source lang="php" enclose="div">
 +
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
 +
Creating the "config/parameters-only-install.yml" file
 +
Some parameters are missing. Please provide them.
 +
database_host (localhost):
 +
database_port (5432):
 +
database_name (sq_uv):
 +
database_name_toba (toba_sq_uv):
 +
database_user (postgres):  
 +
database_password (postgres):
 +
url_base ('http://localhost'):
 +
url_port (null):
 +
squv_usuario (admin):
 +
squv_password (admin):
 +
squv_id_desarrollador (0):
 +
squv_alias (/sq_uv):
 +
</source>
  
Ejecutar en la consola:  
+
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf
<source lang="php" enclose="div">crontab -e</source>
+
#:<source lang="php" enclose="div">
 +
ln -s <path proyecto UV>/config/toba.conf /etc/apache2/sites-enabled/toba_uv.conf
 +
</source>
 +
#:y luego reiniciar Apache
  
Para que el planificador de tareas se ejecute cada un minuto en búsqueda de tareas programadas
+
=== SQ Pagos ===
hay que agregar al crontab la siguiente línea:
 
  
<source lang="php" enclose="div"> * * * * * <PATH_HASTA_EL_PROYECTO>nucleo/bin/sq tareas_planificadas</source>
+
#Posicionarse en la ubicación deseada para la instalación del proyecto:
  
Nota: se ponen los 5 asteriscos para que este comando se ejecute cada un minuto.
+
#:<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 https://hub.siu.edu.ar/sanaviron-quilmes/sq_pagos.git
 +
</syntaxhighlight>
 +
#:Ahora tenemos el path:
 +
#:<source lang="php" enclose="div">/usr/local/proyectos/sanaviron_quilmes/sq_pagos/</source>
 +
#:'''Nota''': en lo sucesivo denominaremos esta carpeta como <tt><path proyecto SQP></tt>.
  
Este comando se encarga de verificar cada minuto si es el momento de ejecutar determinada tarea según
+
Entrar en la carpeta <path proyecto SQP>/config y editar el archivo angular-config.json:
se haya configurado en la operación toba Procesos > Planificador de tareas.
+
<source lang="php" enclose="div">
 +
{
 +
"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"
 +
}
 +
}
 +
}
 +
</source>
  
Luego guardar el archivo y reiniciar la pc.
+
Una vez descargado, ejecutar en la raíz del mismo:
  
 +
#:<source lang="php" enclose="div">npm install --unsafe-perm
 +
</source>
  
=== Configurar la ejecución programada de procesos: ===
+
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/sq_pagos.conf
 +
#:<source lang="php" enclose="div">
 +
ln -s <path proyecto SQP>/config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
 +
</source>
 +
#:y luego reiniciar Apache
  
En toba hay que ir a la operación Procesos > Planificador de tareas.
+
=== SQ G.C.O. ===
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.
+
#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 https://hub.siu.edu.ar/sanaviron-quilmes/gco.git
 +
</syntaxhighlight>
 +
#:Ahora tenemos el path:
 +
#:<source lang="php" enclose="div">/usr/local/proyectos/sanaviron_quilmes/gco/</source>
 +
#:'''Nota''': en lo sucesivo denominaremos esta carpeta como <tt><path proyecto SQGCO></tt>.
  
== Unidades de ventas (Cursos) ==
 
=== Instalación ===
 
 
Una vez descargado, ejecutar en la raíz del mismo:
 
Una vez descargado, ejecutar en la raíz del mismo:
  
<source lang="php" enclose="div">composer install --no-dev
+
<source lang="php" enclose="div"> composer install</source>
composer siu:instalar --no-dev </source>
+
 
En el caso de querer instalarlo en modo desarrollo, quitar el flag --no-dev
+
Crear una copia del archivo modelo de configuración
 +
 
 +
<source lang="php" enclose="div">
 +
cp templates/instalador.env.dist instalador.env
 +
</source>
 +
 
 +
Configurar el archivo para la instalación:
 +
 
 +
<source lang="php" enclose="div">
 +
###### CONFIG DEL INSTALADR ######
 +
INSTALADOR_TIMEOUT="1200"
 +
ENTORNO_PRODUCCION="1"
 +
 
 +
##### CONFIG DEL PROYECTO #####
 +
PROYECTO_ALIAS=/sq_pagos_backend
 +
ELIGE_GESTOR=0
 +
GESTOR_PAGO_POR_DEFECTO="mercado_pago"
 +
MERCADO_PAGO_CLIENT_ID=""              # Configuración Mercado Pago (http://documentacion.siu.edu.ar/wiki/SIU-Sanaviron-Quilmes/version1.0.0/mercado.pago)
 +
MERCADO_PAGO_CLIENT_SECRET=""          # Configuración Mercado Pago (http://documentacion.siu.edu.ar/wiki/SIU-Sanaviron-Quilmes/version1.0.0/mercado.pago)
 +
MERCADO_PAGO_BACK_URL="http://127.0.0.1/sq_pagos_backend/mercado_pago/"
 +
MERCADO_PAGO_IMAGEN_PRODUCTO_DEFAULT="http://www.siu.edu.ar/rd/Logos/SIU/logo_siu_sin_bajada_1.png"
 +
MERCADO_PAGO_URL_NOTIFICACIONES="http://127.0.0.1/sq_pagos_backend/mercado_pago/notificacion"
 +
IP_UV="127.0.0.1"
 +
LOGIN_UV_USER="sq_uv"
 +
LOGIN_UV_PWD="123456"
 +
IP_NUCLEO="127.0.0.1"
 +
LOGIN_NUCLEO_USER="sq_nucleo"
 +
LOGIN_NUCLEO_PWD="123456"
 +
CONNECT_TIMEOUT=""
 +
TIMEOUT=""
 +
 
 +
##### CONFIG SQ-UNIDAD-VENTA #####
 +
PROYECTO_UV_BASE_URL="http://127.0.0.1/sq_uv/rest/"
 +
PROYECTO_UV_USUARIO="usuario_api_sq_uv"
 +
PROYECTO_UV_PASSWORD="pass_api_sq_uv"
 +
PROYECTO_UV_METHOD="method_api_sq_uv"
 +
 
 +
</source>
 +
 
 +
Luego ejecutar el instalador:
 +
 
 +
<source lang="php" enclose="div"> ./bin/instalador proyecto:instalar</source>
 +
 
 +
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/sq_pagos_backend.conf
 +
#:<source lang="php" enclose="div">
 +
ln -s <path proyecto SQGCO>/config/alias.conf /etc/apache2/sites-enabled/sq_gco.conf
 +
</source>
 +
#:y luego reiniciar Apache
 +
 
 +
'''Agente de cobranzas'''
 +
 
 +
[[SIU-Sanaviron-Quilmes/version1.0.0/mercado.pago|Configurar Mercado Pago]]
 +
 
 +
== Configuración ==
 +
 
 +
=== SQ Núcleo ===
 +
Cambiar el propietario de la carpeta para que el usuario Apache pueda escribir:
 +
<source lang=bash inline>chown -R www-data:www-data <path proyecto NUCLEO></source>
 +
 
 +
'''Configurar accesos API Rest'''
 +
 
 +
Editar los siguientes archivos:
 +
*<path proyecto NUCLEO>/config/i__desarrollo/p__sq_nucleo/rest/servidor.ini
 +
<source lang="php" enclose="div">
 +
autenticacion = basic
 +
</source>
 +
*<path proyecto NUCLEO>/config/i__desarrollo/p__sq_nucleo/rest/servidor_usuarios.ini
 +
<source lang="php" enclose="div">
 +
[usuario_api_sq_nucleo]
 +
password = pass_api_sq_nucleo
 +
;api_key= APIKEY_CAMBIAR
 +
</source>
 +
*<path proyecto NUCLEO>/config/sq.ini
 +
<source lang="php" enclose="div">
 +
[sq_nucleo]
 +
db="desarrollo sq_nucleo sq_nucleo"
 +
db_test="desarrollo sq_nucleo sq_nucleo"
 +
 
 +
[mailer]
 +
;;-----------------------------------------------------
 +
; Directivas generales de funcionamiento
 +
ENVIA_EMAILS = '0' ; Indica si envío los correos o actúa como "dummy" ("1" = Sí, "0" = No).
 +
EMAIL_ENVIOS_DESARROLLO = '' ; Es la cuenta a la cual enviar los correos cuando es una instalación de desarrollo.
 +
ES_DESARROLLO = '1'
 +
;-----------------------------------------------------
 +
; Configuración general de SMTP
 +
SMTP_HOST = 'smtp.googlemail.com' ; Es el host del SMTP por el cual saldrá el envï¿œo definitivo.
 +
SMTP_PUERTO = '465' ; Puerto por el cual se enviará el correo.
 +
SMTP_PROTOCOLO_SEGURIDAD = 'ssl' ; Se indica el protocolo de seguridad. Este valor se usa como prefijo de conexión ("", "ssl" o "tls").
 +
;-----------------------------------------------------
 +
; Configuración de la autenticación SMTP
 +
SMTP_AUTENTICAR = '1' ; Si autentificación con usuario y clave, y tipo de autorización ("1" = Sí, "0" = No).
 +
SMTP_USUARIO = '' ; El usuario para autorizar el envío.
 +
SMTP_CLAVE = '' ; La clave del usuario.
 +
;SMTP_AUTO_TLS = ; habilita tls si el server lo soporta incluso si SMTP_PROTOCOLO_SEGURIDAD no esta seteado en tls ("1" = Sí, "0" = No)
 +
;si se deja comentado por defecto esta en true
  
Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf
+
[unidad_venta]
 +
base_url = "http://127.0.0.1/sq_uv/rest/"
 +
auth_usuario = "usuario_api_sq_uv"
 +
auth_password = "pass_api_sq_uv"
 +
auth_method = "basic"
 +
 
 +
[sq_pagos_backend]
 +
base_url = "http://127.0.0.1/sq_pagos_backend/"
 +
auth_usuario = "sq_nucleo"
 +
auth_password = "123456"
 +
auth_method = "basic"
 +
 
 +
[pilaga]
 +
base_url = "http://127.0.0.1/pilaga/rest/"
 +
auth_usuario = "toba"
 +
auth_password = "toba"
 +
auth_method = "basic"
  
=== Activar el planificador de tareas ===
+
[arai]
 +
base_url=""
 +
auth_usuario=""
 +
auth_password=""
 +
auth_method=""
 +
 
 +
[redis]
 +
host="127.0.0.1"
 +
port="6379"
 +
</source>
 +
'''Configurar el cron'''
  
'''Configurar el cron:'''
 
 
Ejecutar en la consola:  
 
Ejecutar en la consola:  
 
+
<source lang=bash inline>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  
 
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:
 
hay que agregar al crontab la siguiente línea:
  
 +
<source lang=bash inline> * * * * * <path proyecto NUCLEO>/bin/sq tareas_planificadas</source>
  
<source lang="php" enclose="div">* * * * * <PATH_HASTA_EL_PROYECTO>unidad-venta/bin/sq tareas_planificadas</source>
+
:'''Nota''': Se ponen los 5 asteriscos para que este comando se ejecute cada un minuto.
  
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
 
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.
 
se haya configurado en la operación toba Procesos > Planificador de tareas.
  
luego guardar el archivo y reiniciar la pc.
+
Luego guardar el archivo y reiniciar la pc.
 
 
  
=== Configurar la ejecución programada de procesos: ===
 
  
 +
'''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.
 
Por cada proceso se agrega una fila en el formulario multilínea.
Los procesos que deberías configurar son los siguientes en este orden:
 
  
 +
La idea es que elijan como frecuencia DIARIO y los programen con 30 minutos de separación entre cada proceso.
  
* Generar_reporte_cobranzas_recibidas (Guarda en la tabla rep_cobranzas_recibidas los payments de MP. necesario para la operación de conciliaciones)
+
=== SQ Unidad de venta ===
* Vencer ventas
+
Cambiar el propietario de la carpeta para que el usuario Apache pueda escribir:
* 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.)
+
<source lang=bash inline>chown -R www-data:www-data <path proyecto UV></source>
* Notificar morosos a g3 (Notifica a guarani 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 Pagos ==
+
'''Configurar accesos API Rest'''
Modulo para derivar el pago online a un gestor de cobranza externo
 
  
=== Instalación ===
+
Editar los siguientes archivos:
 +
*<path proyecto UV>/config/i__desarrollo/p__sq_uv/rest/servidor.ini
 +
<source lang="php" enclose="div">
 +
autenticacion = basic
 +
</source>
 +
*<path proyecto UV>/config/i__desarrollo/p__sq_uv/rest/servidor_usuarios.ini
 +
<source lang="php" enclose="div">
 +
[usuario_api_sq_uv]
 +
password = pass_api_sq_uv
 +
;api_key= APIKEY_CAMBIAR
 +
</source>
 +
*<path proyecto UV>/config/sq.ini
 +
<source lang="php" enclose="div">
 +
[sq_uv]
 +
db="desarrollo sq_uv sq_uv"
 +
db_test="desarrollo sq_uv sq_uv"
 +
 
 +
[nucleo]
 +
base_url = "http://127.0.0.1/sq_nucleo/rest/"
 +
auth_usuario = "usuario_api_sq_nucleo"
 +
auth_password = "pass_api_sq_nucleo"
 +
auth_method = "basic"
  
'''Requiere:'''
+
[arai]
 +
base_url=""
 +
auth_usuario=""
 +
auth_password=""
 +
auth_method=""
  
* NodeJS (https://nodejs.org/en/download/package-manager/)
+
[guarani]
 +
base_url = "http://127.0.0.1/guarani_gestion/rest/"
 +
auth_usuario = "toba"
 +
auth_password = "toba"
 +
auth_method = "digest"
  
'''Editar el archivo angular-config.json:'''
+
[sq_pagos_backend]
 +
base_url = "http://127.0.0.1/sq_pagos_backend/"
 +
auth_usuario = "sq_uv"
 +
auth_password = "123456"
 +
auth_method = "basic"
  
Se deben agregar las urls del backend de SQ Pagos del ambiente de desarrollo y
+
[redis]
de producción. En "environment" especificar qué ambiente se va a utilizar.
+
host="127.0.0.1"
 +
port="6379"
  
El archivo debe quedar así:
+
[mailer]
<source lang="php" enclose="div">
+
;;-----------------------------------------------------
{
+
; Directivas generales de funcionamiento
    "entorno": "desarrollo",
+
ENVIA_EMAILS = '0' ; Indica si envía los correos o actúa como "dummy" ("1" = Sí, "0" = No).
    "desarrollo": {
+
EMAIL_ENVIOS_DESARROLLO = '' ; Es la cuenta a la cual enviar los correos cuando es una instalación de desarrollo.
        "config": {
+
ES_DESARROLLO = '1'
            "api_backend_url": "http://localhost/sq_pagos_backend/",
+
;-----------------------------------------------------
            "titulo": "Universidad Nacional de Quilmes :: Plataforma de pagos :: SIU-Sanaviron Quilmes"
+
; Configuración general de SMTP
        }
+
SMTP_HOST = 'smtp.googlemail.com' ; Es el host del SMTP por el cual saldrá el envío definitivo.
    },
+
SMTP_PUERTO = '465' ; Puerto por el cual se enviará el correo.
    "produccion": {
+
SMTP_PROTOCOLO_SEGURIDAD = 'ssl' ; Se indica el protocolo de seguridad. Este valor se usa como prefijo de conexión ("", "ssl" o "tls").
        "config": {
+
;-----------------------------------------------------
            "api_backend_url": "http://sq_server.edu.ar/sq_pagos_backend/",
+
; Configuración de la autenticación SMTP
            "titulo": "Universidad Nacional de La Palta :: Plataforma de pagos :: SIU-Sanaviron Quilmes"
+
SMTP_AUTENTICAR = '1' ; Si autentificará con usuario y clave, y tipo de autorización ("1" = Sí, "0" = No).
        }
+
SMTP_USUARIO = '' ; El usuario para autorizar el envío.
    }
+
SMTP_CLAVE = '' ; La clave del usuario.
}
+
;SMTP_AUTO_TLS = ; habilita tls si el server lo soporta incluso si SMTP_PROTOCOLO_SEGURIDAD no esta seteado en tls ("1" = Sí, "0" = No)
 +
;si se deja comentado por defecto esta en true
 
</source>
 
</source>
 +
'''Configurar el cron'''
  
Una vez instalado node y configurado el archivo .json, ejecutar en la raíz
+
Ejecutar en la consola:  
del proyecto:
+
<source lang=bash inline>crontab -e</source>
<source lang="php" enclose="div"> npm install </source>
 
  
== G.C.O. ==
+
Para que el planificador de tareas se ejecute cada un minuto en búsqueda de tareas programadas
Backend para manejar la API del gestor de pagos externo y comunicar a SQ Pagos
+
hay que agregar al crontab la siguiente línea:
con la Unidad de Venta.
 
  
  
=== Instalación ===
+
<source lang=bash inline>* * * * * <PATH_HASTA_EL_PROYECTO>unidad-venta/bin/sq tareas_planificadas</source>
  
Requiere:
+
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.
  
PHP >= 5.5
+
luego guardar el archivo y reiniciar la pc.
Redis >= 3.2
 
PHP-Composer
 
Extensiones PHP (php5-curl)
 
  
Una vez descargado, ejecutar en la raíz del mismo:
 
<source lang="php" enclose="div">composer install </source>
 
  
'''Configuración'''
+
'''Configurar la ejecución programada de procesos'''
  
''Generar config.ini''
 
  
Crear una copia del archivo app/_config.ini y renombrarlo a app/config.ini.  
+
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:
  
Se deben editar:
 
* Las credenciales de mercadopago de la cuenta a la que irá el dinero cobrado, la url de callback y la imagen default para mostrar en la página de mercadopago
 
* La url, usuario y contraseña de la API REST de la Unidad de Venta.
 
* Usuario y contraseña con los que debe autenticarse la unidad de venta para dar de baja los cupones de pago.
 
* IP de la unidad de venta que informará las bajas de los cupones de pago
 
  
'''Generar Alias en Apache'''
+
* Generar_reporte_cobranzas_recibidas (Guarda en la tabla rep_cobranzas_recibidas los payments de MP. necesario para la operación de conciliaciones)
 
+
* Vencer ventas
El archivo .conf debe ser de este estilo:
+
* 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.)
<source lang="php" enclose="div">
+
* Notificar morosos a g3 (Notifica a guarSe deben editar:ani todos los ids de los clientes que no pagaron pasada la fecha de vencimiento)
Alias /sq_pagos_backend "path/sq_pagos_backend/public"
+
* Enviar notificaciones por email a clientes
    <Directory "path/sq_pagos_backend/public/">
+
* 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)
        Options Indexes FollowSymLinks
+
* La idea es que elijan como frecuencia DIARIO y los programen con 30 minutos de separación entre cada proceso.
        AllowOverride All
+
* 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.
        Require all granted
 
    </Directory>
 
 
 
<source>
 
 
 
== Configuración ==
 

Revisión actual del 11:28 10 nov 2017

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í, MercadoPago)

Requisitos

Herramientas Nucleo Unidad de venta SQ Pagos G.C.O.
Git Si Si Si Si
SVN Si Si
Postgres >=9.5 >=9.5
PHP >= 5.6 >= 5.6 >= 5.6 >= 5.6
Extensiones PHP php5-pgsql, php5-gd, php5-curl php5-pgsql, php5-gd, php5-curl php5-curl
Redis >= 3.2 >= 3.2
PHP-Composer Si Si Si
NodeJS SI
Nota: La base de datos debe tener la codificación es_AR.UTF8

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:
apt-get install apache2 libapache2-mod-php5 php5-cli php5-pgsql php5-gd php5-curl

Iniciar módulo rewrite
a2enmod rewrite


Definir zona horaria en PHP date.timezone=America/Argentina/Buenos_Aires

SQ Núcleo

  1. Posicionarse en la ubicación deseada para la instalación del proyecto:
  1. cd /usr/local/proyectos/sanaviron_quilmes/

El proyecto está disponible en https://hub.siu.edu.ar

git clone https://hub.siu.edu.ar/sanaviron-quilmes/nucleo.git
  1. Ahora tenemos el path:
    /usr/local/proyectos/sanaviron_quilmes/nucleo/
    Nota: en lo sucesivo denominaremos esta carpeta como <path proyecto NUCLEO>.


Una vez descargado, ejecutar en la raíz del mismo:

 composer install
 composer siu:instalar
  1. y completar o ENTER utiliza los valores por defecto
    > Incenteev\ParameterHandler\ScriptHandler::buildParameters
    Creating the "config/parameters-only-install.yml" file
    Some parameters are missing. Please provide them.
    database_host (localhost):
    database_port (5432):
    database_name (sq_nucleo):
    database_name_toba (toba_sq_nucleo):
    database_user (postgres):
    database_password (postgres):
    url_base ('http://localhost'):
    url_port (null):
    sqnucleo_usuario (admin):
    sqnucleo_password (admin):
    sqnucleo_id_desarrollador (0):
    sqnucleo_alias (/sq_nucleo):

Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf

  1. ln -s <path proyecto NUCLEO>/config/toba.conf /etc/apache2/sites-enabled/toba_nucleo.conf
    y luego reiniciar Apache

SQ Unidades de ventas (Cursos)

  1. Posicionarse en la ubicación deseada para la instalación del proyecto:
  1. cd /usr/local/proyectos/sanaviron_quilmes/

El proyecto está disponible en https://hub.siu.edu.ar

git clone https://hub.siu.edu.ar/sanaviron-quilmes/unidad-venta.git
  1. Ahora tenemos el path:
    /usr/local/proyectos/sanaviron_quilmes/unidad-venta/
    Nota: en lo sucesivo denominaremos esta carpeta como <path proyecto UV>.

Una vez descargado, ejecutar en la raíz del mismo:

composer install
composer siu:instalar
  1. y completar o ENTER utiliza los valores por defecto
    > Incenteev\ParameterHandler\ScriptHandler::buildParameters
    Creating the "config/parameters-only-install.yml" file
    Some parameters are missing. Please provide them.
    database_host (localhost):
    database_port (5432):
    database_name (sq_uv):
    database_name_toba (toba_sq_uv):
    database_user (postgres):
    database_password (postgres):
    url_base ('http://localhost'):
    url_port (null):
    squv_usuario (admin):
    squv_password (admin):
    squv_id_desarrollador (0):
    squv_alias (/sq_uv):

Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/toba.conf

  1. ln -s <path proyecto UV>/config/toba.conf /etc/apache2/sites-enabled/toba_uv.conf
    y luego reiniciar Apache

SQ Pagos

  1. Posicionarse en la ubicación deseada para la instalación del proyecto:
  1. cd /usr/local/proyectos/sanaviron_quilmes/

El proyecto está disponible en https://hub.siu.edu.ar

git clone https://hub.siu.edu.ar/sanaviron-quilmes/sq_pagos.git
  1. Ahora tenemos el path:
    /usr/local/proyectos/sanaviron_quilmes/sq_pagos/
    Nota: en lo sucesivo denominaremos esta carpeta como <path proyecto SQP>.

Entrar en la carpeta <path proyecto SQP>/config y editar el archivo 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"
                }
        }
}

Una vez descargado, ejecutar en la raíz del mismo:

  1. npm install --unsafe-perm

Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/sq_pagos.conf

  1. ln -s <path proyecto SQP>/config/sq_pagos.conf /etc/apache2/sites-enabled/sq_pagos.conf
    y luego reiniciar Apache

SQ G.C.O.

  1. 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 https://hub.siu.edu.ar/sanaviron-quilmes/gco.git
  1. Ahora tenemos el path:
    /usr/local/proyectos/sanaviron_quilmes/gco/
    Nota: en lo sucesivo denominaremos esta carpeta como <path proyecto SQGCO>.

Una vez descargado, ejecutar en la raíz del mismo:

 composer install

Crear una copia del archivo modelo de configuración

cp templates/instalador.env.dist instalador.env

Configurar el archivo para la instalación:

###### CONFIG DEL INSTALADR ######
INSTALADOR_TIMEOUT="1200"
ENTORNO_PRODUCCION="1"

##### CONFIG DEL PROYECTO #####
PROYECTO_ALIAS=/sq_pagos_backend
ELIGE_GESTOR=0
GESTOR_PAGO_POR_DEFECTO="mercado_pago"
MERCADO_PAGO_CLIENT_ID=""               # Configuración Mercado Pago (http://documentacion.siu.edu.ar/wiki/SIU-Sanaviron-Quilmes/version1.0.0/mercado.pago)
MERCADO_PAGO_CLIENT_SECRET=""           # Configuración Mercado Pago (http://documentacion.siu.edu.ar/wiki/SIU-Sanaviron-Quilmes/version1.0.0/mercado.pago)
MERCADO_PAGO_BACK_URL="http://127.0.0.1/sq_pagos_backend/mercado_pago/"
MERCADO_PAGO_IMAGEN_PRODUCTO_DEFAULT="http://www.siu.edu.ar/rd/Logos/SIU/logo_siu_sin_bajada_1.png"
MERCADO_PAGO_URL_NOTIFICACIONES="http://127.0.0.1/sq_pagos_backend/mercado_pago/notificacion"
IP_UV="127.0.0.1"
LOGIN_UV_USER="sq_uv"
LOGIN_UV_PWD="123456"
IP_NUCLEO="127.0.0.1"
LOGIN_NUCLEO_USER="sq_nucleo"
LOGIN_NUCLEO_PWD="123456"
CONNECT_TIMEOUT=""
TIMEOUT=""

##### CONFIG SQ-UNIDAD-VENTA #####
PROYECTO_UV_BASE_URL="http://127.0.0.1/sq_uv/rest/"
PROYECTO_UV_USUARIO="usuario_api_sq_uv"
PROYECTO_UV_PASSWORD="pass_api_sq_uv"
PROYECTO_UV_METHOD="method_api_sq_uv"

Luego ejecutar el instalador:

 ./bin/instalador proyecto:instalar

Luego hay que publicar en el servidor web, en el caso de apache se deja la configuración en el archivo config/sq_pagos_backend.conf

  1. ln -s <path proyecto SQGCO>/config/alias.conf /etc/apache2/sites-enabled/sq_gco.conf
    y luego reiniciar Apache

Agente de cobranzas

Configurar Mercado Pago

Configuración

SQ Núcleo

Cambiar el propietario de la carpeta para que el usuario Apache pueda escribir:

chown -R www-data:www-data <path proyecto NUCLEO>

Configurar accesos API Rest

Editar los siguientes archivos:

  • <path proyecto NUCLEO>/config/i__desarrollo/p__sq_nucleo/rest/servidor.ini
autenticacion = basic
  • <path proyecto NUCLEO>/config/i__desarrollo/p__sq_nucleo/rest/servidor_usuarios.ini
[usuario_api_sq_nucleo]
password = pass_api_sq_nucleo
;api_key= APIKEY_CAMBIAR
  • <path proyecto NUCLEO>/config/sq.ini
[sq_nucleo]
db="desarrollo sq_nucleo sq_nucleo"
db_test="desarrollo sq_nucleo sq_nucleo"

[mailer]
;;-----------------------------------------------------
; Directivas generales de funcionamiento
ENVIA_EMAILS = '0' ; Indica si envío los correos o actúa como "dummy" ("1" =, "0" = No).
EMAIL_ENVIOS_DESARROLLO = '' ; Es la cuenta a la cual enviar los correos cuando es una instalación de desarrollo.
ES_DESARROLLO = '1'
;-----------------------------------------------------
; Configuración general de SMTP
SMTP_HOST = 'smtp.googlemail.com' ; Es el host del SMTP por el cual saldrá el envï¿œo definitivo.
SMTP_PUERTO = '465' ; Puerto por el cual se enviará el correo.
SMTP_PROTOCOLO_SEGURIDAD = 'ssl' ; Se indica el protocolo de seguridad. Este valor se usa como prefijo de conexión ("", "ssl" o "tls").
;-----------------------------------------------------
; Configuración de la autenticación SMTP
SMTP_AUTENTICAR = '1' ; Si autentificación con usuario y clave, y tipo de autorización ("1" =, "0" = No).
SMTP_USUARIO = '' ; El usuario para autorizar el envío.
SMTP_CLAVE = '' ; La clave del usuario.
;SMTP_AUTO_TLS = ; habilita tls si el server lo soporta incluso si SMTP_PROTOCOLO_SEGURIDAD no esta seteado en tls ("1" =, "0" = No)
;si se deja comentado por defecto esta en true

[unidad_venta]
base_url = "http://127.0.0.1/sq_uv/rest/"
auth_usuario = "usuario_api_sq_uv"
auth_password = "pass_api_sq_uv"
auth_method = "basic"

[sq_pagos_backend]
base_url = "http://127.0.0.1/sq_pagos_backend/"
auth_usuario = "sq_nucleo"
auth_password = "123456"
auth_method = "basic"

[pilaga]
base_url = "http://127.0.0.1/pilaga/rest/"
auth_usuario = "toba"
auth_password = "toba"
auth_method = "basic"

[arai]
base_url=""
auth_usuario=""
auth_password=""
auth_method=""

[redis]
host="127.0.0.1"
port="6379"

Configurar el cron

Ejecutar en la consola:

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.

SQ Unidad de venta

Cambiar el propietario de la carpeta para que el usuario Apache pueda escribir:

chown -R www-data:www-data <path proyecto UV>

Configurar accesos API Rest

Editar los siguientes archivos:

  • <path proyecto UV>/config/i__desarrollo/p__sq_uv/rest/servidor.ini
autenticacion = basic
  • <path proyecto UV>/config/i__desarrollo/p__sq_uv/rest/servidor_usuarios.ini
[usuario_api_sq_uv]
password = pass_api_sq_uv
;api_key= APIKEY_CAMBIAR
  • <path proyecto UV>/config/sq.ini
[sq_uv]
db="desarrollo sq_uv sq_uv"
db_test="desarrollo sq_uv sq_uv"

[nucleo]
base_url = "http://127.0.0.1/sq_nucleo/rest/"
auth_usuario = "usuario_api_sq_nucleo"
auth_password = "pass_api_sq_nucleo"
auth_method = "basic"

[arai]
base_url=""
auth_usuario=""
auth_password=""
auth_method=""

[guarani]
base_url = "http://127.0.0.1/guarani_gestion/rest/"
auth_usuario = "toba"
auth_password = "toba"
auth_method = "digest"

[sq_pagos_backend]
base_url = "http://127.0.0.1/sq_pagos_backend/"
auth_usuario = "sq_uv"
auth_password = "123456"
auth_method = "basic"

[redis]
host="127.0.0.1"
port="6379"

[mailer]
;;-----------------------------------------------------
; Directivas generales de funcionamiento
ENVIA_EMAILS = '0' ; Indica si envía los correos o actúa como "dummy" ("1" =, "0" = No).
EMAIL_ENVIOS_DESARROLLO = '' ; Es la cuenta a la cual enviar los correos cuando es una instalación de desarrollo.
ES_DESARROLLO = '1'
;-----------------------------------------------------
; Configuración general de SMTP
SMTP_HOST = 'smtp.googlemail.com' ; Es el host del SMTP por el cual saldrá el envío definitivo.
SMTP_PUERTO = '465' ; Puerto por el cual se enviará el correo.
SMTP_PROTOCOLO_SEGURIDAD = 'ssl' ; Se indica el protocolo de seguridad. Este valor se usa como prefijo de conexión ("", "ssl" o "tls").
;-----------------------------------------------------
; Configuración de la autenticación SMTP
SMTP_AUTENTICAR = '1' ; Si autentificará con usuario y clave, y tipo de autorización ("1" =, "0" = No).
SMTP_USUARIO = '' ; El usuario para autorizar el envío.
SMTP_CLAVE = '' ; La clave del usuario.
;SMTP_AUTO_TLS = ; habilita tls si el server lo soporta incluso si SMTP_PROTOCOLO_SEGURIDAD no esta seteado en tls ("1" =, "0" = No)
;si se deja comentado por defecto esta en true

Configurar el cron

Ejecutar en la consola:

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_HASTA_EL_PROYECTO>unidad-venta/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. Los procesos que deberías configurar son los siguientes en este orden:


  • Generar_reporte_cobranzas_recibidas (Guarda en la tabla rep_cobranzas_recibidas los payments de MP. necesario para la operación de conciliaciones)
  • 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.