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