Diferencia entre revisiones de «SIU-Guarani/Version3.14.0/notificador»

De SIU
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
== Notificador ==
 
== Notificador ==
  
Éste es un comando nuevo incorporado a partir de la versión 3.14.
+
En esta sección vamos a ver aspectos técnicos del '''Notificador'''.  
<br />
 
El comando chequea las versiones de php, apache, postgres y graphviz. También valida que los permisos en la carpeta instalación sean las correctas, y las extensiones esten todas correctamente instaladas.
 
<br />La forma de utilizar este comando es la siguiente:
 
  
<source lang="php" enclose="div">
+
== 1. Cantidad máxima de destinatarios por email  ==
./guarani chequear_configuracion
 
</source>
 
  
== 1. Acceso general a Gestión ==
+
A través del parámetro [http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.14.0/configuracion_del_sistema/parametros email_cant_max_destinatarios] podemos configurar la manera en la cual se '''paginaran''' los destinatarios en diferentes emails.
Partimos de una instalación de producción, en la que ya fueron eliminados y despublicados los proyectos '''toba_editor''' y '''toba_referencia'''. Es decir, sólo existen en la instancia los proyectos '''guarani''' y '''toba_usuarios'''.
 
  
El checkout lo tenemos en la carpeta '''/opt/proyectos/gestion'''.
+
Ejemplo, si tenemos que enviar un email a 300 destinatarios, y el parámetro '''email_cant_max_destinatarios''' esta configurado en 100, se enviaran 3 emails con 100 destinatarios cada uno.
 +
Si dicho parámetro esta configurado en 0 se enviará un solo email con los 300 destinatarios.
  
Como publicaremos el proyecto '''guarani''' en la raíz del host virtual, lo dejamos establecido con el string vacío en la variable "url" del bloque de configuración del proyecto del archivo '''instancia.ini''':
 
  
<source lang="ini" enclose="div">
 
; Configuracion de la INSTANCIA
 
 
base = "guarani3"
 
proyectos = "toba_usuarios, guarani"
 
tipo = "normal"
 
 
[toba_usuarios]
 
path = "/opt/proyectos/gestion/lib/toba/proyectos/toba_usuarios"
 
url = "/toba_usuarios"
 
 
[guarani]
 
path = "/opt/proyectos/gestion"
 
url = ""
 
url_pers = "/guarani_pers"
 
</source>
 
 
Como primer paso para la configuración del VirtualHost, crearemos un archivo de configuración en algún lugar (en este ejemplo será '''/opt/proyectos/conf/vhosts.conf'''), y lo incluiremos en Apache:
 
 
<source lang="apache" enclose="div">
 
Include "/opt/proyectos/conf/vhosts.conf"
 
</source>
 
 
A continuación, prepararemos en ese archivo el "esqueleto" de la configuración del VirtualHost, con el nombre de servidor, carpeta raíz y filtros por rango de IP:
 
 
<source lang="apache" enclose="div">
 
<VirtualHost *:80>
 
ServerName g3.unx.edu.ar
 
 
# Como carpeta raíz establecemos el directorio navegable de Gestión
 
DocumentRoot "/opt/proyectos/gestion/www"
 
 
# Acá irá la configuración de proyectos
 
# ...
 
 
<Location />
 
# Filtrar acceso a Guaraní por rango de IP a la subred 10.23.10.*
 
Require ip 10.23.10.0/24
 
</Location>
 
 
<Location /toba_usuarios>
 
# Filtrar acceso a toba_usuarios por rango de IP 10.23.10.*
 
Require ip 10.23.10.0/24
 
</Location>
 
 
</VirtualHost>
 
</source>
 
 
Con el esqueleto armado, copiamos la configuración de '''toba.conf''', teniendo en cuenta que se debe eliminar el '''alias''' de '''Guaraní''', ya que accederemos con el nombre de servidor. La configuración de '''Directory''' de su carpeta navegable servirá de configuración del '''DocumentRoot''' del VirtualHost. La configuración completa del VirtualHost, entonces, quedaría en este ejemplo de la siguiente manera:
 
 
<source lang="apache" enclose="div">
 
<VirtualHost *:80>
 
ServerName g3.unx.edu.ar
 
 
# Como carpeta raíz establecemos el directorio navegable de Gestión
 
DocumentRoot "/opt/proyectos/gestion/www"
 
 
# Recursos navegables de Toba
 
Alias /toba_g3 "/opt/proyectos/gestion/lib/toba/www"
 
<Directory "/opt/proyectos/gestion/lib/toba/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
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>
 
 
#Configuracion del SP de SAML
 
Alias /toba_g3_sp "/opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www"
 
<Directory /opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www>
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
</Directory>
 
 
#Proyecto: guarani
 
#No hace falta definir Alias de Guaraní, sólo el directorio, porque es el DocumentRoot de este servidor
 
<Directory "/opt/proyectos/gestion/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
SetEnv TOBA_PROYECTO "guarani"
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
SetEnv TOBA_INSTANCIA "desarrollo"
 
DirectoryIndex aplicacion.php
 
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
 
#API REST
 
RewriteEngine On
 
RewriteBase /
 
Options FollowSymLinks SymLinksIfOwnerMatch
 
RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
 
RewriteRule ^rest$      rest.php/  [PT,L,QSA]
 
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
 
</Directory>
 
 
#Proyecto_pers: guarani
 
Alias /guarani_pers "/opt/proyectos/gestion/personalizacion/www"
 
<Directory "/opt/proyectos/gestion/personalizacion/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
SetEnv TOBA_PROYECTO "guarani"
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
SetEnv TOBA_INSTANCIA "desarrollo"
 
Options MultiViews
 
 
<Files rest>
 
ForceType application/x-httpd-php
 
</Files>
 
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
</Directory>
 
 
#Proyecto: toba_usuarios
 
Alias /toba_usuarios "/opt/proyectos/gestion/lib/toba/proyectos/toba_usuarios/www"
 
<Directory "/opt/proyectos/gestion/lib/toba/proyectos/toba_usuarios/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
SetEnv TOBA_PROYECTO "toba_usuarios"
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
SetEnv TOBA_INSTANCIA "desarrollo"
 
DirectoryIndex aplicacion.php
 
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
 
#API REST
 
RewriteEngine On
 
RewriteBase /toba_usuarios
 
Options FollowSymLinks SymLinksIfOwnerMatch
 
RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
 
RewriteRule ^rest$      rest.php/  [PT,L,QSA]
 
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
 
</Directory>
 
 
<Location />
 
# Filtrar acceso a Guaraní por rango de IP a la subred 10.23.10.*
 
Require ip 10.23.10.0/24
 
</Location>
 
 
<Location /toba_usuarios>
 
# Filtrar acceso a toba_usuarios por rango de IP 10.23.10.*
 
Require ip 10.23.10.0/24
 
</Location>
 
 
</VirtualHost>
 
</source>
 
 
Tras reiniciar Apache, podremos acceder desde la red establecida de la siguiente manera:
 
 
* '''Gestión''': g3.unx.edu.ar
 
* '''Toba Usuarios''': g3.unx.edu.ar/toba_usuarios
 
  
 
== 2. Acceso público Gestión ==
 
== 2. Acceso público Gestión ==

Revisión del 17:16 8 nov 2017

Notificador

En esta sección vamos a ver aspectos técnicos del Notificador.

1. Cantidad máxima de destinatarios por email

A través del parámetro email_cant_max_destinatarios podemos configurar la manera en la cual se paginaran los destinatarios en diferentes emails.

Ejemplo, si tenemos que enviar un email a 300 destinatarios, y el parámetro email_cant_max_destinatarios esta configurado en 100, se enviaran 3 emails con 100 destinatarios cada uno. Si dicho parámetro esta configurado en 0 se enviará un solo email con los 300 destinatarios.


2. Acceso público Gestión

Este ejemplo está orientado al caso de que no se permita acceso por fuera de una intranet a Gestión, y se tenga habilitada la solicitud de Constancias y Certificados (y su consecuente validación online) en Autogestión. Esa funcionalidad requiere acceso a un conjunto limitado y protegido de operaciones de Gestión, que deben estar accesibles desde el exterior.

A tal efecto, se distribuye en la carpeta navegable del proyecto, un punto de acceso alternativo, "acceso_ext.php", que habilita el acceso público a las operaciones mencionadas, prohibiendo el acceso al resto del sistema.

La configuración de este nuevo VirtualHost será similar al anterior, con las siguientes diferencias:

  • Tiene su propio ServerName (en el ejemplo, g3publico.unx.edu.ar)
  • No se publica toba_usuarios (no es necesario desde un acceso público)
  • En la configuración de Directory de Guaraní (la del DocumentRoot):
    • Cambia el DirectoryIndex a acceso_ext.php
    • Se deniega el acceso al punto de acceso principal (aplicacion.php):
      <Files aplicacion.php>
              Require all denied
      </Files>

Entonces, la configuración de VirtualHost de este escenario quedaría:

<VirtualHost *:80>
        ServerName g3publico.unx.edu.ar

        DocumentRoot "/opt/proyectos/gestion/www"

        # Recursos navegables de Toba
        Alias /toba_g3 "/opt/proyectos/gestion/lib/toba/www"
        <Directory "/opt/proyectos/gestion/lib/toba/www/">
                SetEnv TOBA_DIR         "/opt/proyectos/gestion/lib/toba"
                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>

        #Configuracion del SP de SAML
        Alias /toba_g3_sp "/opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www"
        <Directory /opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www>
                SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
                <IfModule !mod_authz_core.c>
                        Order allow,deny
                        Allow from all
                </IfModule>
                <IfModule mod_authz_core.c>
                        Require all granted
                </IfModule>
        </Directory>

        #Proyecto: guarani
        <Directory "/opt/proyectos/gestion/www/">
                SetEnv TOBA_DIR         "/opt/proyectos/gestion/lib/toba"
                SetEnv TOBA_PROYECTO    "guarani"
                SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
                SetEnv TOBA_INSTANCIA   "desarrollo"
               
                # Cambia el DirectoryIndex
                DirectoryIndex acceso_ext.php

                AllowOverride None
                <IfModule !mod_authz_core.c>
                        Order allow,deny
                        Allow from all
                </IfModule>
                <IfModule mod_authz_core.c>
                        Require all granted
                </IfModule>

                #API REST
                RewriteEngine On
                RewriteBase /
                Options FollowSymLinks SymLinksIfOwnerMatch
                RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
                RewriteRule ^rest$      rest.php/   [PT,L,QSA]
                SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
               
                # Se deniega acceso al punto de acceso principal
                <Files aplicacion.php>
                        Require all denied
                </Files>
               
        </Directory>

        #Proyecto_pers: guarani
        Alias /guarani_pers "/opt/proyectos/gestion/personalizacion/www"
        <Directory "/opt/proyectos/gestion/personalizacion/www/">
                SetEnv TOBA_DIR         "/opt/proyectos/gestion/lib/toba"
                SetEnv TOBA_PROYECTO    "guarani"
                SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
                SetEnv TOBA_INSTANCIA   "desarrollo"
                Options MultiViews

                <Files rest>
                        ForceType application/x-httpd-php
                </Files>

                AllowOverride None
                <IfModule !mod_authz_core.c>
                        Order allow,deny
                        Allow from all
                </IfModule>
                <IfModule mod_authz_core.c>
                        Require all granted
                </IfModule>
        </Directory>

        #Proyecto: toba_usuarios << No publicado
               
</VirtualHost>

< Volver