Diferencia entre revisiones de «SIU-Guarani/Version3.11.0/instalacion desde cero/instalacion/preinscripcion»

De SIU
Saltar a: navegación, buscar
Línea 1: Línea 1:
__TOC__
 
 
 
{| border=1 class="simple"
 
{| border=1 class="simple"
 
! Solicitar en forma previa, mediante una solicitud en el Gestor de Solicitudes (GdS), una carpeta en el repositorio colab para la institución.
 
! Solicitar en forma previa, mediante una solicitud en el Gestor de Solicitudes (GdS), una carpeta en el repositorio colab para la institución.
Línea 6: Línea 4:
  
 
== Instalación desde cero ==
 
== Instalación desde cero ==
=== Checkout ===
+
#Efectuar un svn checkout de la URL de la versión 3.5.0 para el nodo correspondiente a su institución. Ejemplo:
Efectuar un svn checkout de la URL de la versión 3.5.0 para el nodo correspondiente a su institución. Ejemplo:
+
#:<source lang="php" enclose="div">
<source lang="php" enclose="div">
 
 
svn co https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.5.0
 
svn co https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.5.0
 
</source>
 
</source>
  
=== Permisos de carpetas ===
+
#En sistemas Linux, es necesario cambiar el propietario de las carpetas "temp", "log" y "cache" de la carpeta "instalacion" al usuario y grupo de Apache. Por ejemplo, para sistemas Ubuntu, donde el usuario y grupo Apache por defecto es "www-data", ejecutar:
En sistemas Linux, es necesario cambiar el propietario de las carpetas "temp", "log" y "cache" de la carpeta "instalacion" al usuario y grupo de Apache. Por ejemplo, para sistemas Ubuntu, donde el usuario y grupo Apache por defecto es "www-data", ejecutar:
+
#:<source lang="php" enclose="div">
<source lang="php" enclose="div">
 
 
chown -R www-data:www-data instalacion/temp
 
chown -R www-data:www-data instalacion/temp
 
chown -R www-data:www-data instalacion/log
 
chown -R www-data:www-data instalacion/log
 
chown -R www-data:www-data instalacion/cache
 
chown -R www-data:www-data instalacion/cache
 
</source>
 
</source>
También es necesario dar permisos de escritura a la carpeta navegable, condición necesaria para poder ejecutar la limpieza de caché APC desde el panel de administración:
+
#:También es necesario dar permisos de escritura a la carpeta navegable, condición necesaria para poder ejecutar la limpieza de caché APC desde el panel de administración:
<source lang="php" enclose="div">
+
#:<source lang="php" enclose="div">
 
chown -R www-data:www-data src/siu/www
 
chown -R www-data:www-data src/siu/www
 
</source>
 
</source>
=== Base de datos ===
+
#Crear una base de datos en PostgreSQL con encoding LATIN1. Ejemplo:  
Crear una base de datos en PostgreSQL con encoding LATIN1. Ejemplo:  
+
#:<source lang="php" enclose="div">
<source lang="php" enclose="div">
 
 
CREATE DATABASE preinscripcion
 
CREATE DATABASE preinscripcion
 
   WITH ENCODING='LATIN1'
 
   WITH ENCODING='LATIN1'
Línea 35: Línea 30:
 
       TABLESPACE=pg_default;
 
       TABLESPACE=pg_default;
 
</source>
 
</source>
Usar el archivo ''"creacion_preinscripcion3_postgresql.sql"'', que se encuentra en la carpeta "BD/Creacion", para crear la estructura de la base de datos. El script está en encoding LATIN1. Ejemplo:  
+
#:Usar el archivo ''"creacion_preinscripcion3_postgresql.sql"'', que se encuentra en la carpeta "BD/Creacion", para crear la estructura de la base de datos. El script está en encoding LATIN1. Ejemplo:  
<source lang="php" enclose="div">
+
#:<source lang="php" enclose="div">
 
psql -d preinscripcion -h localhost < creacion_preinscripcion3_postgresql.sql -U postgres
 
psql -d preinscripcion -h localhost < creacion_preinscripcion3_postgresql.sql -U postgres
 
</source>
 
</source>
Una vez creada la estructura, exportar datos desde Guaraní a esta base, utilizando la operación "Matrícula >> Inscripciones >> Exportar datos a Preinscripción" (800SIUMAT044) de Guaraní 3. Para refrescar la forma de conexión Guaraní 3 - Preinscripción se puede consultar el [[G3/Preinscripcion/3.5.0/DocTecnica/ConexionG3| instructivo]]. <br>
+
#:Una vez creada la estructura, exportar datos desde Guaraní a esta base, utilizando la operación "Matrícula >> Inscripciones >> Exportar datos a Preinscripción" (800SIUMAT044) de Guaraní 3. Para refrescar la forma de conexión Guaraní 3 - Preinscripción se puede consultar el [[G3/Preinscripcion/3.5.0/DocTecnica/ConexionG3| instructivo]]. <br>
  
=== Definición de alias de acceso ===
+
#Definición de alias de acceso
 
+
#:En la carpeta "instalacion", crear un archivo ''"alias.conf"'' a partir de la plantilla ''"alias_template.conf"''. Seguir los pasos allí documentados para definir los puntos de acceso de los distintos perfiles funcionales (''Administrador'' y ''Alumno'').
En la carpeta "instalacion", crear un archivo ''"alias.conf"'' a partir de la plantilla ''"alias_template.conf"''. Seguir los pasos allí documentados para definir los puntos de acceso de los distintos perfiles funcionales (''Administrador'' y ''Alumno'').
+
#:Se deberán definir apropiadamente los alias de los puntos de acceso en función de la ubicación de la carpeta de instalación. Opcionalmente, en la configuración del punto de acceso de administración (<Location ~ "/preinscripcion_admin/*"> … ) se podrían definir restricciones para que sólo se pueda ingresar desde una intranet, siguiendo las reglas de Apache.  
 
+
#:Si se desea utilizar una misma instalación de Preinscripción como front-end de varias Unidades Académicas, cada una con su propia base de datos y personalizaciones, se debe seguir el proceso autodocumentado en el archivo, del cual presentamos a continuación un ejemplo:
Se deberán definir apropiadamente los alias de los puntos de acceso en función de la ubicación de la carpeta de instalación. Opcionalmente, en la configuración del punto de acceso de administración (<Location ~ "/preinscripcion_admin/*"> … ) se podrían definir restricciones para que sólo se pueda ingresar desde una intranet, siguiendo las reglas de Apache.  
+
#:<source lang="php" enclose="div">
 
 
Si se desea utilizar una misma instalación de Preinscripción como front-end de varias Unidades Académicas, cada una con su propia base de datos y personalizaciones, se debe seguir el proceso autodocumentado en el archivo, del cual presentamos a continuación un ejemplo:
 
 
 
<source lang="php" enclose="div">
 
  
 
Alias /preinscripcion/ua1 "path/a/preinscripcion/src/siu/www/"
 
Alias /preinscripcion/ua1 "path/a/preinscripcion/src/siu/www/"
Línea 141: Línea 132:
 
</source>
 
</source>
  
Esta configuración debe complementarse con la definición del respectivo bloque de acceso en el archivo [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion#Configuracióndelsistema| config.php]].
+
#:Esta configuración debe complementarse con la definición del respectivo bloque de acceso en el archivo [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion#Configuracióndelsistema| config.php]].
  
Se debe configurar el servidor Apache para tomar las definiciones del ''"alias.conf"''.  
+
#:Se debe configurar el servidor Apache para tomar las definiciones del ''"alias.conf"''.  
  
<u>Ejemplo 1</u>: se puede incluir en el archivo de configuración de Apache (httpd.conf) la siguiente directiva:  
+
#:<u>Ejemplo 1</u>: se puede incluir en el archivo de configuración de Apache (httpd.conf) la siguiente directiva:  
  
<source lang="php" enclose="div">
+
#:<source lang="php" enclose="div">
 
Include "<path de preinscripcion>/instalacion/alias.conf"
 
Include "<path de preinscripcion>/instalacion/alias.conf"
 
</source>
 
</source>
  
<u>Ejemplo 2</u>: En ambientes Linux basados en Debian, se puede definir un link simbólico:
+
#:<u>Ejemplo 2</u>: En ambientes Linux basados en Debian, se puede definir un link simbólico:
  
<source lang="php" enclose="div">
+
#:<source lang="php" enclose="div">
 
sudo ln -s <path de preinscripcion>/instalacion/alias.conf /etc/apache2/sites-enabled/preinscripcion.conf
 
sudo ln -s <path de preinscripcion>/instalacion/alias.conf /etc/apache2/sites-enabled/preinscripcion.conf
 
</source>
 
</source>
  
Finalmente, reiniciar Apache para que los cambios surtan efecto.
+
#:Finalmente, reiniciar Apache para que los cambios surtan efecto.
 
 
=== Configuración de LOGIN ===
 
 
 
En la carpeta "instalacion", crear un archivo ''"login.php"'' a partir de la plantilla ''"login_template.php"''.
 
 
 
En Preinscripción se dispone de un módulo de login mediante '''Google''' y '''Facebook''', que no suplanta al mecanismo de acceso tradicional, con una casilla de e-mail como nombre de usuario, sino que lo extiende y vincula a un usuario del sistema con alguno de los servicios externos habilitados.
 
 
 
La única sección que debería editarse en el archivo ''"login.php"'' es "cuentas_ext", en el caso de querer habilitar el módulo de servicios externos.
 
 
 
Como primera medida, establecer "'activo' => true" en el primer nivel de configuración de la citada sección.
 
 
*Para utilizar el login con Google, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> google. Seguir el siguiente [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion/ConfigGoogle| instructivo]] para generar una aplicación con la API de Google y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
 
 
 
*Para utilizar el login con Facebook, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> facebook. Seguir el siguiente [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion/ConfigFacebook| instructivo]] para generar una aplicación con la API de Facebook y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
 
 
 
=== Configuración del sistema ===
 
 
 
En la carpeta "instalacion", crear un archivo "config.php" a partir de la plantilla "config_template.php".
 
 
 
Este archivo contiene toda la configuración del sistema, incluyendo el acceso a base de datos, servidor de correo y los parámetros propios del sistema y de la generación de comprobante.
 
 
 
Recomendamos efectuar la configuración siguiendo la documentación "inline" provista en dicho archivo. Tener cuidado de no establecer la variable 'produccion' en 'true' hasta haber completado los pasos de puesta en producción.
 
 
 
=== Personalizaciones ===
 
 
 
Si desea implementar personalizaciones (y solicitó al SIU una URL de checkout preparada a tal efecto), puede seguir la [[G3/Preinscripcion/3.5.0/DocTecnica/Personalizaciones| documentación]] pertinente.
 
 
 
=== Puesta en producción ===
 
  
Se hayan efectuado o no personalizaciones, por cuestiones de performance antes de poner el sistema en producción se deben compilar recursos mediante el comando "preinscripcion" de la carpeta "bin":
+
#Configuración de LOGIN
 +
#:En la carpeta "instalacion", crear un archivo ''"login.php"'' a partir de la plantilla ''"login_template.php"''.
 +
#:En Preinscripción se dispone de un módulo de login mediante '''Google''' y '''Facebook''', que no suplanta al mecanismo de acceso tradicional, con una casilla de e-mail como nombre de usuario, sino que lo extiende y vincula a un usuario del sistema con alguno de los servicios externos habilitados.
 +
#:La única sección que debería editarse en el archivo ''"login.php"'' es "cuentas_ext", en el caso de querer habilitar el módulo de servicios externos.
 +
#:Como primera medida, establecer "'activo' => true" en el primer nivel de configuración de la citada sección.
 +
##Para utilizar el login con Google, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> google. Seguir el siguiente [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion/ConfigGoogle| instructivo]] para generar una aplicación con la API de Google y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
 +
##Para utilizar el login con Facebook, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> facebook. Seguir el siguiente [[G3/Preinscripcion/3.5.0/DocTecnica/Instalacion/ConfigFacebook| instructivo]] para generar una aplicación con la API de Facebook y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
  
<source lang="php" enclose="div">preinscripcion compilar_recursos</source>
+
#Configuración del sistema
 +
#:En la carpeta "instalacion", crear un archivo "config.php" a partir de la plantilla "config_template.php".
 +
#:Este archivo contiene toda la configuración del sistema, incluyendo el acceso a base de datos, servidor de correo y los parámetros propios del sistema y de la generación de comprobante.
 +
#:Recomendamos efectuar la configuración siguiendo la documentación "inline" provista en dicho archivo. Tener cuidado de no establecer la variable 'produccion' en 'true' hasta haber completado los pasos de puesta en producción.
  
Finalmente, establecer la variable "produccion" en "true" en "config.php".
+
#Personalizaciones
 +
#:Si desea implementar personalizaciones (y solicitó al SIU una URL de checkout preparada a tal efecto), puede seguir la [[G3/Preinscripcion/3.5.0/DocTecnica/Personalizaciones| documentación]] pertinente.
 +
#Puesta en producción
 +
#:Se hayan efectuado o no personalizaciones, por cuestiones de performance antes de poner el sistema en producción se deben compilar recursos mediante el comando "preinscripcion" de la carpeta "bin":
 +
#:<source lang="php" enclose="div">preinscripcion compilar_recursos</source>
 +
#:Finalmente, establecer la variable "produccion" en "true" en "config.php".

Revisión del 10:28 3 sep 2015

Solicitar en forma previa, mediante una solicitud en el Gestor de Solicitudes (GdS), una carpeta en el repositorio colab para la institución.

Instalación desde cero

  1. Efectuar un svn checkout de la URL de la versión 3.5.0 para el nodo correspondiente a su institución. Ejemplo:
    svn co https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.5.0
  1. En sistemas Linux, es necesario cambiar el propietario de las carpetas "temp", "log" y "cache" de la carpeta "instalacion" al usuario y grupo de Apache. Por ejemplo, para sistemas Ubuntu, donde el usuario y grupo Apache por defecto es "www-data", ejecutar:
    chown -R www-data:www-data instalacion/temp
    chown -R www-data:www-data instalacion/log
    chown -R www-data:www-data instalacion/cache
    También es necesario dar permisos de escritura a la carpeta navegable, condición necesaria para poder ejecutar la limpieza de caché APC desde el panel de administración:
    chown -R www-data:www-data src/siu/www
  2. Crear una base de datos en PostgreSQL con encoding LATIN1. Ejemplo:
    CREATE DATABASE preinscripcion
      WITH ENCODING='LATIN1'
           OWNER=postgres
           TEMPLATE=template0
           LC_COLLATE='C'
           LC_CTYPE='C'
           CONNECTION LIMIT=-1
           TABLESPACE=pg_default;
    Usar el archivo "creacion_preinscripcion3_postgresql.sql", que se encuentra en la carpeta "BD/Creacion", para crear la estructura de la base de datos. El script está en encoding LATIN1. Ejemplo:
    psql -d preinscripcion -h localhost < creacion_preinscripcion3_postgresql.sql -U postgres
    Una vez creada la estructura, exportar datos desde Guaraní a esta base, utilizando la operación "Matrícula >> Inscripciones >> Exportar datos a Preinscripción" (800SIUMAT044) de Guaraní 3. Para refrescar la forma de conexión Guaraní 3 - Preinscripción se puede consultar el instructivo.
  1. Definición de alias de acceso
    En la carpeta "instalacion", crear un archivo "alias.conf" a partir de la plantilla "alias_template.conf". Seguir los pasos allí documentados para definir los puntos de acceso de los distintos perfiles funcionales (Administrador y Alumno).
    Se deberán definir apropiadamente los alias de los puntos de acceso en función de la ubicación de la carpeta de instalación. Opcionalmente, en la configuración del punto de acceso de administración (<Location ~ "/preinscripcion_admin/*"> … ) se podrían definir restricciones para que sólo se pueda ingresar desde una intranet, siguiendo las reglas de Apache.
    Si se desea utilizar una misma instalación de Preinscripción como front-end de varias Unidades Académicas, cada una con su propia base de datos y personalizaciones, se debe seguir el proceso autodocumentado en el archivo, del cual presentamos a continuación un ejemplo:
    Alias /preinscripcion/ua1 "path/a/preinscripcion/src/siu/www/"
    Alias /preinscripcion_admin/ua1 "path/a/preinscripcion/src/siu/www/"

    <Directory "path/a/preinscripcion/src/siu/www/">
            Options FollowSymLinks
            DirectoryIndex index.php
            Order allow,deny
            Allow from all
            include path/a/preinscripcion/instalacion/rewrite.conf
    </Directory>

    <Location ~ "/preinscripcion/ua1/*">
            # --------------------------------------------------------------------------
            # PUNTO DE ACCESO: alumnos de la instalación de la unidad académica ua1
            # --------------------------------------------------------------------------

            # Setea el ID del punto de acceso.
            # Es requerido definir un bloque de configuración en la sección 'accesos' en config.php
            # Si se definen puntos de acceso para otras unidades académicas, tener cuidado
            # de no repetir este valor
           SetEnv ACC_ID alumno_ua1

            # Nombre o ID de la Unidad académica. No utilizar espacios.
            SetEnv UA ua1

            # Setea el perfil funcional de quienes acceden por este punto de acceso.
            # NO CAMBIAR ESTE VALOR
            SetEnv PERFIL alumno

            # 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=/preinscripcion/ua1
    </Location>

    <Location ~ "/preinscripcion_admin/ua1/*">
            # --------------------------------------------------------------------------
            # PUNTO DE ACCESO: admin de la instalación de la unidad académica ua1
            # --------------------------------------------------------------------------

            # Setea el ID del punto de acceso.
            # Es requerido definir un bloque de configuración en la sección 'accesos' en config.php
            # Si se definen puntos de acceso para otras unidades académicas, tener cuidado
            # de no repetir este valor
       SetEnv ACC_ID admin_ua1

            # Nombre o ID de la Unidad académica. No utilizar espacios.
            SetEnv UA ua1

            # Setea el perfil funcional de quienes acceden por este punto de acceso.
            # NO CAMBIAR ESTE VALOR
            SetEnv PERFIL admin

            # 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=/preinscripcion_admin/ua1

            # Si se desea restringir las IP desde las cuales acceder al perfil de
            # administración, hacerlo aquí.
    </Location>

    #-------------------------------------------------------------------------------

    Alias /preinscripcion/ua2 "path/a/preinscripcion/src/siu/www/"
    Alias /preinscripcion_admin/ua2 "path/a/preinscripcion/src/siu/www/"

    <Location ~ "/preinscripcion/ua2/*">
            # --------------------------------------------------------------------------
            # PUNTO DE ACCESO: alumnos de la instalación de la unidad académica ua2
            # --------------------------------------------------------------------------

            SetEnv ACC_ID alumno_ua2
            SetEnv UA ua2
            SetEnv PERFIL alumno
            SetEnvIf always_match ^ ACC_ALIAS=/preinscripcion/ua2
    </Location>

    <Location ~ "/preinscripcion_admin/ua2/*">
            # --------------------------------------------------------------------------
            # PUNTO DE ACCESO: admin de la instalación de la unidad académica ua2
            # --------------------------------------------------------------------------
       
            SetEnv ACC_ID admin_ua2
            SetEnv UA ua2
            SetEnv PERFIL admin
            SetEnvIf always_match ^ ACC_ALIAS=/preinscripcion_admin2/ua2
    </Location>
  1. Esta configuración debe complementarse con la definición del respectivo bloque de acceso en el archivo config.php.
  1. Se debe configurar el servidor Apache para tomar las definiciones del "alias.conf".
  1. Ejemplo 1: se puede incluir en el archivo de configuración de Apache (httpd.conf) la siguiente directiva:
  1. Include "<path de preinscripcion>/instalacion/alias.conf"
  1. Ejemplo 2: En ambientes Linux basados en Debian, se puede definir un link simbólico:
  1. sudo ln -s <path de preinscripcion>/instalacion/alias.conf /etc/apache2/sites-enabled/preinscripcion.conf
  1. Finalmente, reiniciar Apache para que los cambios surtan efecto.
  1. Configuración de LOGIN
    En la carpeta "instalacion", crear un archivo "login.php" a partir de la plantilla "login_template.php".
    En Preinscripción se dispone de un módulo de login mediante Google y Facebook, que no suplanta al mecanismo de acceso tradicional, con una casilla de e-mail como nombre de usuario, sino que lo extiende y vincula a un usuario del sistema con alguno de los servicios externos habilitados.
    La única sección que debería editarse en el archivo "login.php" es "cuentas_ext", en el caso de querer habilitar el módulo de servicios externos.
    Como primera medida, establecer "'activo' => true" en el primer nivel de configuración de la citada sección.
    1. Para utilizar el login con Google, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> google. Seguir el siguiente instructivo para generar una aplicación con la API de Google y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
    2. Para utilizar el login con Facebook, establecer 'activo' => true dentro de cuentas_ext -> parametros -> proveedores -> facebook. Seguir el siguiente instructivo para generar una aplicación con la API de Facebook y obtener los valores para completar los parámetros "app_key" y "app_secret" de la sección de configuración de login.
  1. Configuración del sistema
    En la carpeta "instalacion", crear un archivo "config.php" a partir de la plantilla "config_template.php".
    Este archivo contiene toda la configuración del sistema, incluyendo el acceso a base de datos, servidor de correo y los parámetros propios del sistema y de la generación de comprobante.
    Recomendamos efectuar la configuración siguiendo la documentación "inline" provista en dicho archivo. Tener cuidado de no establecer la variable 'produccion' en 'true' hasta haber completado los pasos de puesta en producción.
  1. Personalizaciones
    Si desea implementar personalizaciones (y solicitó al SIU una URL de checkout preparada a tal efecto), puede seguir la documentación pertinente.
  2. Puesta en producción
    Se hayan efectuado o no personalizaciones, por cuestiones de performance antes de poner el sistema en producción se deben compilar recursos mediante el comando "preinscripcion" de la carpeta "bin":
    preinscripcion compilar_recursos
    Finalmente, establecer la variable "produccion" en "true" en "config.php".