Diferencia entre revisiones de «SIU-Guarani/Version3.14.0/vhost»
Línea 70: | Línea 70: | ||
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: | 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> | <VirtualHost *:80> | ||
ServerName g3.unx.edu.ar | ServerName g3.unx.edu.ar | ||
Línea 78: | Línea 79: | ||
# Recursos navegables de Toba | # Recursos navegables de Toba | ||
Alias /toba_g3 "C:/proyectos/SIU/gestion/trunk/lib/toba/www" | Alias /toba_g3 "C:/proyectos/SIU/gestion/trunk/lib/toba/www" | ||
− | + | <Directory "C:/proyectos/SIU/gestion/trunk/lib/toba/www/"> | |
SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba" | SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba" | ||
− | + | Options MultiViews FollowSymLinks | |
− | + | AllowOverride None | |
<IfModule !mod_authz_core.c> | <IfModule !mod_authz_core.c> | ||
Order allow,deny | Order allow,deny | ||
Línea 89: | Línea 90: | ||
Require all granted | Require all granted | ||
</IfModule> | </IfModule> | ||
− | + | </Directory> | |
− | |||
#Configuracion del SP de SAML | #Configuracion del SP de SAML | ||
Línea 108: | Línea 108: | ||
#No hace falta definir Alias de Guaraní, sólo el directorio, porque es el DocumentRoot de este servidor | #No hace falta definir Alias de Guaraní, sólo el directorio, porque es el DocumentRoot de este servidor | ||
<Directory "C:/proyectos/SIU/gestion/trunk/www/"> | <Directory "C:/proyectos/SIU/gestion/trunk/www/"> | ||
− | SetEnv TOBA_DIR | + | SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba" |
SetEnv TOBA_PROYECTO "guarani" | SetEnv TOBA_PROYECTO "guarani" | ||
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | ||
Línea 125: | Línea 125: | ||
#API REST | #API REST | ||
RewriteEngine On | RewriteEngine On | ||
− | + | RewriteBase / | |
Options FollowSymLinks SymLinksIfOwnerMatch | Options FollowSymLinks SymLinksIfOwnerMatch | ||
− | + | RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA] | |
− | + | RewriteRule ^rest$ rest.php/ [PT,L,QSA] | |
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
</Directory> | </Directory> | ||
Línea 135: | Línea 135: | ||
Alias /guarani_pers "C:/proyectos/SIU/gestion/trunk/personalizacion/www" | Alias /guarani_pers "C:/proyectos/SIU/gestion/trunk/personalizacion/www" | ||
<Directory "C:/proyectos/SIU/gestion/trunk/personalizacion/www/"> | <Directory "C:/proyectos/SIU/gestion/trunk/personalizacion/www/"> | ||
− | SetEnv TOBA_DIR | + | SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba" |
SetEnv TOBA_PROYECTO "guarani" | SetEnv TOBA_PROYECTO "guarani" | ||
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | ||
Línea 158: | Línea 158: | ||
Alias /toba_usuarios "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www" | Alias /toba_usuarios "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www" | ||
<Directory "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www/"> | <Directory "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www/"> | ||
− | SetEnv TOBA_DIR | + | SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba" |
SetEnv TOBA_PROYECTO "toba_usuarios" | SetEnv TOBA_PROYECTO "toba_usuarios" | ||
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba/instalacion" | ||
Línea 175: | Línea 175: | ||
#API REST | #API REST | ||
RewriteEngine On | RewriteEngine On | ||
− | + | RewriteBase /toba_usuarios | |
Options FollowSymLinks SymLinksIfOwnerMatch | Options FollowSymLinks SymLinksIfOwnerMatch | ||
− | + | RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA] | |
− | + | RewriteRule ^rest$ rest.php/ [PT,L,QSA] | |
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
</Directory> | </Directory> | ||
Línea 193: | Línea 193: | ||
</VirtualHost> | </VirtualHost> | ||
+ | </source> |
Revisión del 09:54 26 oct 2017
Configuración de VirtualHost
A continuación mostraremos un ejemplo, en el que se configurarán tres hosts virtuales de Apache, para:
- Atender el acceso general a Gestión, mostrando cómo restringir por rango de IPs.
- Atender accesos públicos a Gestión, permitiendo el acceso a un conjunto limitado de operaciones (solicitud de constancias y certificados desde 3w, validación de constancias), y prohibiendo el acceso al resto del sistema.
- Atender el acceso a la interfaz de Autogestión (3w)
Para los ejemplos, asumimos que tenemos registrados los siguientes dominios:
- g3.unx.edu.ar
- g3publico.unx.edu.ar
- 3w.unx.edu.ar
1. Acceso general a Gestión
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.
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:
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"
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:
A continuación, prepararemos el "esqueleto" de la configuración del VirtualHost, con el nombre de servidor, carpeta raíz y filtros por rango de IP:
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>
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:
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 "C:/proyectos/SIU/gestion/trunk/lib/toba/www"
<Directory "C:/proyectos/SIU/gestion/trunk/lib/toba/www/">
SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/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 "C:/proyectos/SIU/gestion/trunk/lib/toba/php/3ros/simplesamlphp/www"
<Directory C:/proyectos/SIU/gestion/trunk/lib/toba/php/3ros/simplesamlphp/www>
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/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 "C:/proyectos/SIU/gestion/trunk/www/">
SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba"
SetEnv TOBA_PROYECTO "guarani"
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/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 "C:/proyectos/SIU/gestion/trunk/personalizacion/www"
<Directory "C:/proyectos/SIU/gestion/trunk/personalizacion/www/">
SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba"
SetEnv TOBA_PROYECTO "guarani"
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/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 "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www"
<Directory "C:/proyectos/SIU/gestion/trunk/lib/toba/proyectos/toba_usuarios/www/">
SetEnv TOBA_DIR "C:/proyectos/SIU/gestion/trunk/lib/toba"
SetEnv TOBA_PROYECTO "toba_usuarios"
SetEnv TOBA_INSTALACION_DIR "C:/proyectos/SIU/gestion/trunk/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>