Personalizacion 3W

Buenas noches,

Tengo un pequeño inconveniente para separar autogestion en 2 sitios diferentes. En la actualidad tenemos un solo, y la idea es separarlo en /docentes y /alumnos.
Viendo algunas respuestas a la misma consulta, intentè aplicarlas pero sin resultado positivo :frowning:

Tengo varias dudas:
1- Teniendo en alias.conf la definiciòn por default, se agregan 2 nuevas para definir las rutas de cada una y demas seteos de este archivo ::

Alias /ambiente “/usr/local/proyectos/g3w3/src/siu/www/”
Alias /docentes “/usr/local/proyectos/g3w3/src/pers/docentes/www/”
Alias /alumnos “/usr/local/proyectos/g3w3/src/pers/alumnos/www/”

<Directory “/usr/local/proyectos/g3w3/src/siu/www/”>
Options FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
Require all granted
AddDefaultCharset ISO-8859-1
include /usr/local/proyectos/g3w3/instalacion/rewrite.conf

<Location /ambiente>
SetEnv ACC_ID des01
SetEnvIf always_match ^ ACC_ALIAS=/ambiente

<Location /docentes>
SetEnv ACC_ID iddocentes
SetEnvIf always_match ^ ACC_ALIAS=/docentes

<Location /alumnos>
SetEnv ACC_ID idalumnos
SetEnvIf always_match ^ ACC_ALIAS=/alumnos

Y luego dentro del archivo config.php definì lo antes nombrado (1 codigo para alumnos y otro para docentes)

‘accesos’ =>
array(
‘idalumnos’ => //personalizacion para alumnos
array(
‘personalizacion’ => array(‘ambiente’, ‘alumnos’),
‘database’ =>
array(
‘vendor’ => ‘pgsql’,
‘dbname’ => ‘toba_3_3’,
‘schema’ => ‘negocio’,
‘schema_toba’ => ‘desarrollo’,
‘host’ => '192.168.xx.x,
‘port’ => 5432,
‘pdo_user’ => ‘postgres’,
‘pdo_passwd’ => ‘guarani…123’,
),

Dentro de la carpeta /usr/local/proyectos/g3w3/src/pers tengo las carpetas de alumnos y docentes que contienen sus www (copiè el contenido de usr/local/proyectos/g3w3/src/siu/www/ para ver si funcionaba)
alumnos composer.json docentes ejemplo01 ejemplo02 ejemplo03 ejemplo_saml_arai

Estas 2 carpetas les cambie los permisos con sudo chown $(whoami):www-data -R /usr/local/proyectos/g3w3/src/pers.

Al intentar acceder desde el navegador a la url localshot/alumnos y localhost/docentes tengo el siguiente error “Forbidden You don’t have permission to access this resource.”

Bueno, espero hayan podido entender lo que intento hacer.
Desde ya muchas gracias!!!
Saludos.

Hola Ariel,

Parece estar todo bien salvo una cosa:


Alias /ambiente "/usr/local/proyectos/g3w3/src/siu/www/"
Alias /docentes "/usr/local/proyectos/g3w3/src/pers/docentes/www/"
Alias /alumnos "/usr/local/proyectos/g3w3/src/pers/alumnos/www/"

Proba que queden todos con la misma URL de “/ambiente”:


Alias /ambiente "/usr/local/proyectos/g3w3/src/siu/www"
Alias /docentes "/usr/local/proyectos/g3w3/src/siu/www"
Alias /alumnos "/usr/local/proyectos/g3w3/src/siu/www"

Luego reinicia Apache.

No hace falta que copies todo el contenido de “src/siu/www/”.

saludos.
2

También veo que en instalacion/config.php tenes:

 'personalizacion' => array('ambiente', 'alumnos'),

Ahora bien, ¿existen las carpetas src/pers/ambiente y src/pers/alumnos?

saludos.
2

Hola Leo! miuchas gracias por la respuesta!!!

Si las carpetas existen, en el path /src/pers/alumnos y src/pers/docentes copie el contenido de src/siu/www para poder ver al hacer la prueba desde el navegador de tener una respuesta (localhost/alumnos ejemplo)

Me queda otra duda, todos estos “subdominios” nuevos van definidos dentro un solo archivo que es alias.conf, o debe especificarse un nuevo archivo “alias.conf” pero llamado “alumnos.conf” y “docentes.conf” para que apache los reconozca como sitios nuevos y levante?

Y otra pregunta (me vas a matar jajajaj) es que el bloque de acceso generado para el que funcione en la actualidad llamado “ambiente” es el que viene por defecto que es “des01” para el caso de los 2 nuevos que intento generar “alumnos” y “docentes” como les genero un nuevo bloque de acceso? elijo uno genèrico o existe algun paso que debo realizar para que se generen y sean aceptados?

Nuemente muchas gracias! Espero tu respuesta.
Saludos.

me parece que la respuesta a todos mis problemas (o casi todos) esta en una respuesta tuya en el foro :slight_smile:
http://foro.comunidad.siu.edu.ar/index.php?topic=7978.msg33983

pruebo eso y te cuento!
Gracias por la respuestas Leo! un capo

Hice todos los pasos del post que hago referencia en el cual vos pasas el paso a paso, pero tengo el siguiente error al hacer el test de conectividad a la base

root@debian-FRONT:/usr/local/proyectos/g3w3/bin# ./guarani test_conexion des01

[Symfony\Component\Debug\Exception\FatalThrowableError]
Parse error: syntax error, unexpected ‘‘personalizacion’’ (T_CONSTANT_ENCAPSED_STRING), expecting ‘(’

Puede que este mal algo de lo que declarè en config.php? paso las lineas:

‘accesos’ =>
array(
‘des01’ =>
array
‘personalizacion’ => ‘alumnos’,
‘database’ =>
array(
‘vendor’ => ‘pgsql’,
‘dbname’ => ‘toba_3_3’,
‘schema’ => ‘negocio’,
‘schema_toba’ => ‘desarrollo’,
‘host’ => ‘192.168.40.9’,
‘port’ => 5432,
‘pdo_user’ => ‘postgres’,
‘pdo_passwd’ => ‘guarani…123’,
),

                    'ptoacc_ra' => [],
                    'metodos_autenticacion_habilitados' => [],
                    ),

‘des02’ =>
array(
‘personalizacion’ => ‘docentes’,
‘database’ =>
array(
‘vendor’ => ‘pgsql’,
‘dbname’ => ‘toba_3_3’,
‘schema’ => ‘negocio’,
‘schema_toba’ => ‘desarrollo’,
‘host’ => ‘192.168.40.9’,
‘port’ => 5432,
‘pdo_user’ => ‘postgres’,
‘pdo_passwd’ => ‘guarani…123’,
),

                    'ptoacc_ra' => [],
                    'metodos_autenticacion_habilitados' => [],
                    ),

Hola Ariel, te respondo:

Me queda otra duda, todos estos "subdominios" nuevos van definidos dentro un solo archivo que es alias.conf, o debe especificarse un nuevo archivo "alias.conf" pero llamado "alumnos.conf" y "docentes.conf" para que apache los reconozca como sitios nuevos y levante?

No, se configura todo en instalacion/alias.conf, dicho archivo contiene diferentes alias para el mismo proyecto. Luego el framework decide a que bloque de acceso ingresar con el SetEnv ACC_ID que configuraste.

Y otra pregunta (me vas a matar jajajaj) es que el bloque de acceso generado para el que funcione en la actualidad llamado "ambiente" es el que viene por defecto que es "des01" para el caso de los 2 nuevos que intento generar "alumnos" y "docentes" como les genero un nuevo bloque de acceso? elijo uno genèrico o existe algun paso que debo realizar para que se generen y sean aceptados?

Funciona de la siguiente manera:
En instalacion/alias.conf vos pusiste:


<Location /docentes>
        SetEnv ACC_ID iddocentes
        SetEnvIf always_match ^ ACC_ALIAS=/docentes
</Location>

Cada vez que ingresas a [b]http://localhost/docentes[/b] la variable de entorno ACC_ID toma el valor “iddocentes”. Entonces en instalacion/config.php va a entrar al siguiente bloque de acceso y cargar la personalización/es que corresponde (en este ejemplo src/pers/docentes_pers):


'accesos' =>
		array(
			'iddocentes' =>
			array(
				'personalizacion' => 'docentes_pers',
				'database' =>
				array(
					'vendor' => 'pgsql',
					'dbname' => 'db_guarani',
					'schema' => 'negocio',
					'schema_toba' => 'desarrollo',
					'host' => 'siu_guarani_db_trunk',
					'port' => 5432,
					'pdo_user' => 'postgres',
					'pdo_passwd' => 'postgres',
				),
			
			),

saludos.
2

Hola Ariel,

[Symfony\Component\Debug\Exception\FatalThrowableError] Parse error: syntax error, unexpected ''personalizacion'' (T_CONSTANT_ENCAPSED_STRING), expecting '('

Te falto abrir paréntesis acá:


 'accesos' =>
                array(
                        'des01' =>
                        array             <==========> Acá falta, seria array(
                                'personalizacion' => 'alumnos',

saludos.
2

Aprovecho, y te dejo documentación sobre personalizaciones:

https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.18.0/personalizacion

saludos.
2

Hola Leo!!! muchas gracia por la ayuda brindada! quedo funcionando!!!
Abrazo!

Hola Ariel,

Me alegro que lo hayan podido solucionar!!!

Abrazo.
2