SIU-Guarani/Version3.19.0/3w/configuracion

De SIU
Revisión del 19:21 26 abr 2021 de Jschnaiderman (discusión | contribuciones) (Archivo de configuración: instalacion/config.php)
Saltar a: navegación, buscar

Archivo de configuración: instalacion/alias.conf

Reemplazar:

  • <path proyecto 3w> por el path de la instalación del SIU-Guaraní 3w.
  • <nombre del alias> por el alias que se va a usar
  • <bloque de acceso> por el nombre del bloque de acceso
# Este template permite tener instalado en diferentes alias las diferentes unidades
# académicas y también define de manera centralizada todo el manejo de nombres en los dominios
# LOS ALIAS NO TIENEN QUE TENER PUNTOS

Alias /<nombre del alias> "<path proyecto 3w>/src/siu/www"

<Directory "<path proyecto 3w>/src/siu/www">
        Options FollowSymLinks
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
        AddDefaultCharset ISO-8859-1
        include <path proyecto 3w>/instalacion/rewrite.conf
</Directory>

<Location /<nombre del alias>>
        # representa el id interno de la unidad académica. Se correponde con la entrada
       # en el archivo config.yml ua_<ACC_ID>. Ej: ua_VET
       SetEnv ACC_ID <bloque de acceso>

        # se setea de esta manera para que esta variable sea accesible desde mod_rewrite
       # ATENCIç?N: el alias debe empezar con '/'
       SetEnvIf always_match ^ ACC_ALIAS=/<nombre del alias>
</Location>

Archivo de configuración: instalacion/config.php

El archivo de configuración tiene un bloque principal llamado global. En este bloque se configuran valores globales a todas las unidades de acceso de proyecto.
Reemplazar:

  • <path proyecto 3w> por el path de la instalación del SIU-Guaraní 3w.
  • <nombre del alias> por el alias que se va a usar
  • <bloque de acceso> por el nombre del bloque de acceso

A continuación vemos un archivo de configuración de ejemplo:

<?php

use Monolog\Logger;
use SIU\Chulupi\util\log\log;
use siu\modelo\autenticacion\fuente_usuarios_guarani;

return array(
        'global' =>
        array(
                'produccion' => false,
                'usar_personalizaciones' => true,
                'sesion_timeout' => 10000,
                'sesion_maxtime' => 10000,
                'dir_attachment' => '/tmp',
                'ssl' => array(
                    'alcance' => 'none',//'none' | 'all'
                    'redirigir_ssl' => true,//true | false
                ),
                //'server_name' => '192.168.126.180',
                'imagen_alumno_dir' => '<path proyecto 3w>/src/siu/www/_comp/_img_alumnos',
                'imagen_alumno_url' => 'http://localhost/<nombre del alias>/_comp/_img_alumnos',
                'salt' => '9bf057558b90263987bd8f99caf2e92f7efc1a13',

                'url_kolla' => 'http://localhost/kolla/3.5/',
                /**
                 * Se utiliza para generar vínculos hacia gestión. El caso típico es la
                 * solicitud de certificados
                 */

                'url_gestion' => '',
               
                /**
                 * Determina si se pueden solicitar constancias en Gestión. En caso de
                 * estar en habilitado, es requerido configurar también el parámetro
                 * 'url_gestion'.
                 *
                 * Valores posibles:
                 *  + true
                 *  + false
                 */

                'solicita_constancias_en_gestion' => false,
               
                /**
                 * URL del frontend de Sanaviron-Quilmes
                 */

                'url_sq_pagos' => 'http://localhost/sq_pagos/',

                /**
                 * Configuración de reCAPTCHA 2
                 * Para obtener el par de API keys ('site_key' y 'secret_key')
                 * ir a http://www.google.com/recaptcha/admin
                 * opciones: Son las opciones de Guzzle (http://docs.guzzlephp.org/en/stable/request-options.html)
                 */

                'captcha' =>
                array(
                        'activo' => true,
                        'intentos_login' => 3,
                        'site_key' => '', //Ej: '6LfeSwgUAAAAAIwfEadYVIsp_-D8xRHi_qTEGS-x'
                        'secret_key' => '', //Ej: '6LfeSwgUAAAAABXZhiGF0vmABVgyyUZ7eIgk_vLD'
                        'opciones' => [
                            //'proxy' => 'tcp://localhost:8125',
                            //'verify' => false,
                        ]
                ),

                'proxy' =>
                array(
                        'activo' => false,
                        'proxy_host' => 'proxy.xxxxxxxxx',
                        'proxy_port' => 8080,
                        'proxy_username' => 'PROXY-USERNAME',
                        'proxy_password' => 'PROXY-PASSWORD'
                ),
                'google_analytics' =>
                array(
                        'activo'  => true,
                        'account' => 'UA-xxx-y'
                ),
                'log' =>
                array(
                        'activo' => true,
                        'nivel' => 'debug',

                        /**
                         * Nivel mínimo de log para consola (CLI):
                         *  - 'Logger::DEBUG'   -> Recomendado en Desarrollo
                         *  - 'Logger::INFO'
                         *  - 'Logger::NOTICE'
                         *  - 'Logger::WARNING'
                         *  - 'Logger::ERROR'   -> Recomendado en Producción
                         *  - 'Logger::CRITICAL'
                         *  - 'Logger::ALERT'
                         *  - 'Logger::EMERGENCY'
                         */

                        'nivel_consola' => Logger::DEBUG,
                       
                        /**
                         * Nivel mínimo de log para Web:
                         *  - 'Logger::DEBUG'   -> Recomendado en Desarrollo
                         *  - 'Logger::INFO'
                         *  - 'Logger::NOTICE'
                         *  - 'Logger::WARNING'
                         *  - 'Logger::ERROR'   -> Recomendado en Producción
                         *  - 'Logger::CRITICAL'
                         *  - 'Logger::ALERT'
                         *  - 'Logger::EMERGENCY'
                         */

                        'nivel_web' => Logger::DEBUG,

                        'barra_dev' => true,
                ),
                'ini_debug' => true,

                /**
                 * Indica el manejador de cache a utilizar.
                 * NOTA: si utiliza un esquema de servidores distribuidos se recomienda
                 * utilizar 'memcached' y configurar uno o más servidores de cache.
                 *  - Valores posibles: apc|memcached
                 */

                'manejador_cache_memoria' => 'apc',

                /**
                 * Configuración de servidores de memcached
                 */

                'memcached' =>
                array(
                        'server_1' =>
                        array(
                                'host' => 'localhost',
                                'port' => 11211,
                                'peso' => 1,
                        ),
                ),
                'smtp' =>
                array(
                        'from' => '*****@gmail.com',
                        'host' => 'smtp.gmail.com',
                        'seguridad' => 'ssl',
                        'auth' => true,
                        'port' => 465,
                        'usuario' => '*******@gmail.com',
                        'clave' => '*******',
                        'reply_to' => '*******@gmail.com',
                        // Decido si verifico los certificados en una conexión SSL
                        // Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
                        /*'ssl' => array(
                                'verify_peer' => false,
                                'verify_peer_name' => false,
                                'allow_self_signed' => true
                        )*/

                ),
                'login_externo' => 'none',

                /**
                 * Indica si habilitar el modo prueba de stress o no
                 *  - Valores posibles: true|false
                 */

                'habilitar_prueba_stress' => false,
                 
                /**
                 * Indica si habilitar el chequeo de version de php vs BD (deshabilitarl al momento de poner en producción)
                 *  - Valores posibles: true|false
                 */

                'chequear_version_bd' => true,
               
                /**
                 * Indica si habilitar la vista de agenda del Alumno (cursadas y examenes vigentes)
                 *  - Valores posibles: true|false
                 */

                'habilitar_agenda_alumno' => true,

                'accesos' =>
                array(
                        '<bloque de acceso>' =>
                        array(
                                'ua' => 5,
                                'personalizacion' => NULL,
                                'database' =>
                                array(
                                        'vendor' => 'pgsql',
                                        'dbname' => 'guarani',
                                        'schema' => 'negocio',
                                        'schema_toba' => 'desarrollo',
                                        'host' => 'localhost',
                                        'port' => 5432,
                                        'pdo_user' => 'postgres',
                                        'pdo_passwd' => '******',
                                ),
                       
                                'ptoacc_ra' => [],
                                'metodos_autenticacion_habilitados' => [],
                        ),
                ),
                'cant_emails_a_enviar_por_corrida_cron' => 0,
                'cant_max_destinatarios_por_email' => 0,
                'encuestas_cantidad_maxima_respuestas_kolla' => 85,
                'encuesta_evaluar_rtas_libres_expreg' => false
        ),
);

Veamos las entradas de este archivo una por una:

  • produccion *: indica si el sistema está o no en un entorno de producción. Puede ser true o false.
  • usar_personalizaciones *: si se encuentran activadas o no las personalizaciones. Puede ser true o false.
  • sesion_timeout *: tiempo de timeout de la sesión en minutos. Debe ser un número entero.
  • sesion_maxtime *: tiempo máximo de duración de sesión en minutos. Debe ser un número entero.
  • ini_debug: si está activo busca una clase siu\debug y ejecuta el metodo ini() despues de cargar el nucleo. Puede ser true o false. Por defecto es false.
  • salt *: en algunos lugares de la aplicación se encriptan cadenas con sha1. Se utiliza este salt para hacer la encriptación. Es un string.
  • url_recursos: url de los recursos compilados del sistema (ver pasaje a producción). Si no se setea por defecto los busca en la carpeta www/_comp. Es una url (string). Por defecto es string vacío.
  • dir_temp: path al directorio donde se guardarán los archivos temporales del sistema (por ejemplo la cache de los templates twig). En esta carpeta Apache debe tener permisos de escritura. Es un path (string). Por defecto es: instalacion/temp/[conf_id]
  • dir_attachment: path al directorio donde se guardarán los attachments de los mensajes (string). Por defecto usa la carpeta especificada por dir temp. En esta carpeta Apache debe tener permisos de escritura.
  • ssl: configuración de SSL, la cual define si la aplicación es accedida vía el protocolo HTTP o HTTPS.
    • alcance: si se indica 'all' la aplicación es accedida vía el protocolo HTTPS, si se indica 'none' se accede vía el protocolo HTTP, esta ultima es la opción por defecto. Los valores posibles son: 'none'|'all'
    • redirigir_ssl: indica si se debe redirigir en el caso que se halla accedido con el protocolo incorrecto, por defecto es true (redirige). Puede ser true o false
  • captcha: configuración de captchas (por defecto usa reCAPTCHA 2). Si no se especifica este bloque no se usa captcha (es lo mismo que setear activo en false)
    • activo: indica si se activan los captchas a través de toda la aplicación. Puede ser true o false.
    • intentos_login: la cantidad de intentos de login que se pueden hacer antes de que se solicite ingresar un captcha. Es un número entero.
    • site_key: la clave pública de recaptcha (Clave del sitio). Obtener de aquí.
    • secret_key: la clave privada de recaptcha (Clave secreta). Obtener de aquí.
    • opciones: Son las opciones de Guzzle para el recaptcha.
  • log: configuración de logging. Si no se especifica este bloque no se usa el log (es lo mismo que setear activo en false).
    • activo: indica si el log está activo o no. Puede ser true o false.
    • nivel: el nivel de log. Los valores posibles son: error | info | debug
    • nivel_consola: Nivel mínimo de log para los comandos de consola, por defecto Logger::DEBUG. Ver los niveles que dispone Monolog.
    • nivel_web: Nivel mínimo de log para la aplicación web, por defecto Logger::DEBUG. Ver los niveles que dispone Monolog.
    • barra_dev: indica si la barra de development está activa. Los valores posibles son true o false
  • ubicacion_personalizaciones: por defecto las personalizaciones usan como nombre de directorio y alias el nombre que se define en la entrada personalizacion del acceso correspondiente. Si se desea cambiarlas por alguna razón se puede hacer a través de esta entrada. Para cada personalización se define el directorio dentro de src/pers y el alias para acceder a los recursos de la personalización.
    • id_personalizacion:
      • dir: ej1
      • alias: /bit
  • accesos *: en esta entrada se configuran los puntos de acceso de la aplicación, por lo menos tiene que haber uno. Ver configuración de alias.conf
    • id_acceso: el nombre del acceso <bloque de acceso>
      • ua: unidad académica de este acceso. Es obligatorio.
      • personalizacion: id de la personalización que se va a utilizar. Si está vacío no se utiliza ninguna personalización
      • database: información de conexión de la base de datos
      • ptoacc_ra: Colocar aquí los ids de responsables académicas por punto de acceso. Si el array es vacío no filtra por responsable académica ej:'ptoacc_ra'=> array('21').
      • metodos_autenticacion_habilitados: Métodos de autenticación habilitados para este punto de acceso, si se deja vacío incluye todos. Por ejemplo, [fuente_usuarios_guarani::AUTH_FORM] solo habilita autenticación por formulario, otro ejemplo seria [fuente_usuarios_guarani::AUTH_FORM, fuente_usuarios_guarani::AUTH_SAML] habilita autenticación por formulario y SAML.
  • cant_emails_a_enviar_por_corrida_cron: cantidad de emails a enviar por cada corrida del cron o por cada vez que se corre el comando enviar_emails. Si no se setea o se establece en '0' envía todos los emails encolados. Recibe un número entero.
  • cant_max_destinatarios_por_email: cantidad máxima de destinatarios por email, los emails serán paginados por esta cantidad. Si no se setea o se establece en '0' envía un solo email con todos los destinatarios. Recibe un número entero.
  • url_kolla: URL donde se encuentra instalado Kolla.
  • imagen_alumno_dir: Directorio donde se guardan las fotos de las personas, es utilizado por el comando importar_fotos para importar dichas fotos desde la base de datos al sistema de archivos. Acepta un path a un directorio ya sea dentro del 3W o externo.
  • imagen_alumno_url: URL donde se encuentran las fotos de las personas.
  • solicita_constancias_en_gestion: Determina si las constancias y certificados se solicitan desde Gestión o 3W (por defecto). En caso de estar habilitado (true) es requerido configurar también el parámetro 'url_gestion'.
    • Valores posibles: true|false
    • Valor por defecto: false
  • encuesta_evaluar_rtas_libres_expreg: Evaluación y eliminación de rtas de kolla de tipo texto libre que estén incluidas en expresión regular.
    • Valores posibles: true|false
    • Valor por defecto: false
  • encuestas_cantidad_maxima_respuestas_kolla: Cantidad máxima de opciones de respuestas devueltas por kolla (0 para ilimitado).
    • Valor por defecto: 0
  • url_gestion: Se utiliza para vincular 3W a Gestión. Se utiliza para la solicitud de certificados entre otros.
    • Valores posibles: URL base de Gestión.
    • Valor por defecto: Cadena vacía
  • url_sq_pagos: URL del frontend de Sanaviron-Quilmes (Módulo de facturación y cobranzas donde se efectúan los pagos de los cursos).
  • habilitar_prueba_stress: Indica si habilitar el modo prueba de stress o no. Esta pensado para el uso con la herramienta Apache JMeter™.
    • Valores posibles: true|false
    • Valor por defecto: false
  • chequear_version_bd: Indica si habilitar el chequeo de version de php vs BD (deshabilitarl al momento de poner en producción).
    • Valores posibles: true|false
    • Valor por defecto: true
  • habilitar_agenda_alumno: Indica si habilitar la vista de agenda del Alumno (cursadas y examenes vigentes).
    • Valores posibles: true|false
    • Valor por defecto: true
  • manejador_cache_memoria: Indica el manejador de cache a utilizar. Si utiliza un esquema de servidores distribuidos se recomienda utilizar memcached y configurar uno o más servidores de cache.
    • Valores posibles: apc|memcached
    • Valor por defecto: apc

٭el campo es obligatorio

NOTAS: Este archivo puede ser configurado en cascada, es decir, los valores globales pueden ser sobrescritos por los valores que se definen a nivel de bloque de acceso. Por ejemplo si se quiere sobrescribir el valor reply_to de la configuración del correo electrónico se hace como sigue:

<?php

return array(
    'global' =>
        array(
            ..............
            'smtp' =>
                array(
                    'from' => 'from_global@gmail.com',
                    'host' => 'smtp.gmail.com',
                    'seguridad' => 'ssl',
                    'auth' => true,
                    'port' => 465,
                    'usuario' => 'usuario_global@gmail.com',
                    'clave' => 'xxxxxxxxxxxxx',
                    'reply_to' => 'reply_to_global@gmail.com'
                ),
            ..............
            'accesos' =>
                array(
               
                'des01' =>
                    array(
                        'ua' => 'MED',
                        'personalizacion' => 'medicina',
                        'database' =>
                        array(
                            ..............
                        ),
                        'smtp' =>
                            array(
                                'reply_to' => 'reply_to_medicina@gmail.com'
                            ),
                    ),
               
                'des02' =>
                    array(
                        'ua' => 'VET',
                        'personalizacion' => 'veterinaria',
                        'database' =>
                        array(
                            ..............
                        )
                    ),

                ),
        ),
);

En este ejemplo el bloque de acceso des01 (medicina) sobrescribe el valor global reply_to a reply_to_medicina@gmail.com, en cambio el bloque de acceso des02 (veterinaria) utiliza el valor global (reply_to_global@gmail.com).