SIU-Diaguita/version3.1.0/instalacion actualizacion

De SIU
Saltar a: navegación, buscar

Instalación/Actualización del sistema SIU-Diaguita

Sumario

Se recomienda realizar dos instalaciones del sistema, una para los usuarios y otra para el equipo informático, tanto durante el período de testeo como durante la etapa de producción del sistema, de manera de independizar las pruebas que se realizan. Considere la instalación del navegador en cada estación de trabajo, el sistema SIU-Diaguita fue desarrollado para funcionar en forma óptima en el Mozilla Firefox, las últimas versiones del mismo tienen un manejo optimizado de la memoria.

Importante: Nuevos controles para actualizaciones 3.0.x a 3.1.0

Para las instituciones que tengan una instalación 3.0.X de SIU-Diaguita y vayan a realizar la actualización a 3.1.0, se recomienda que previo a realizar el proceso de actualización, realicen los controles que se recomiendan en el siguiente enlace, ya que en el instalador de la versión 3.1.0 no se permitirá realizar la actualización si es que hay registros duplicados en ciertas tablas

Controles duplicados

Esquema

El siguiente esquema muestra en detalle los pasos para una instalación y actualización del sistema SIU-Diaguita, en este esquema se contempla el procedimiento según se necesite personalizar o no.

Esquema

Requerimientos

Para poder comenzar con la instalación debe tener instalado el servidor web Apache (http://httpd.apache.org/) con capacidad de interpretar scripts PHP.

Si tiene dudas sobre la instalación y/o configuración de alguno de estos servicios, puede comunicarse con el soporte técnico del SIU en http://portal.comunidad.siu.edu.ar.

Las versiones recomendadas son las siguientes:

Tabla de requerimientos

Instalación

La instalación del sistema SIU-Diaguita se realiza mediante el instalador de proyectos y aplicaciones SIU integrado dentro del código fuente del sistema que distribuye el SIU. El cual brinda los mecanismos mínimos necesarios para realizar una instalación de forma estandarizada, homogénea y controlable.

Pasos previos a un proceso de instalación

  1. Antes de realizar la instalación verificar Tabla de requerimientos
  2. Descargar el sistema de SIU-Diaguita desde el sitio http://portal.comunidad.siu.edu.ar/ cuyo nombre es 'SIU-Diaguita_3.1.X.zip'.
  3. Descomprimir el archivo y copiar el directorio SIU-Diaguita en la máquina destino en el directorio donde se desea instalar el sistema.
  4. Luego, para descargar las librerías del proyecto ingresar al directorio recién descomprimido de SIU-Diaguita (ultima versión) y ejecutar:
    composer install --no-dev
  5. Nota: Si por algún motivo no puede utilizarse el comando composer install ver sección #Instalación de librerías sin usar composer
  6. Copiar el archivo instalador.env.dist y renombrar a instalador.env, en linux se puede utilizar el siguiente comando:
    cp instalador.env.dist instalador.env
  7. Configurar el archivo instalador.env con los datos correspondientes al proyecto y a toba. Los datos que están comentados con el símbolo numeral # no son datos obligatorios, los demás datos son requeridos que se completen. Dentro del archivo de parámetros del instalador se debe configurar para que la base de datos de negocio de Diaguita y la de Toba queden dentro de una misma base de datos (como es la opción por defecto). Para obtener mayor información sobre cada parámetro de configuración del instalador abrir el siguiente link: Variables de entorno para la instalación
  8. El archivo binario de instalación debe tener permisos de ejecución para esto ejecutar:
    chmod +x bin/instalador

Instalación de librerías sin usar composer

Si por algún motivo no puede utilizarse el comando composer install para descargar las librerias necesarias, por ejemplo por no tener acceso a internet en el servidor donde se esta instalando, se debe seguir los sgtes pasos para reemplazar el uso de de composer install:

  1. Descargar el archivo vendor.7z y descomprimirlo en el directorio raiz del proyecto
  2. Crear un enlace simbolico del binario de toba en el directorio bin del proyecto.

Dentro del directorio bin ejecutar:

ln -s ../vendor/siu-toba/framework/bin/toba toba
ln -s ../vendor/siu/arai-cli/bin/arai-cli arai-cli
ln -s ../vendor/robmorgan/phinx/bin/phinx phinx

Instalación desde cero sin personalizaciones

Para realizar una instalación de cero sin personalizaciones, es necesario iniciar una instalación en modo producción ya que no es necesario requerir de los proyectos Toba Editor y Toba Referencias.

Una vez realizado lo explicado en el ítem de Pasos previos a un proceso de instalación, el instalador nos proporciona distintas opciones de ejecución del comando de instalación dependiendo de la configuración:

Para instalar en entorno de producción con una base de datos existente vacía ejecutar:

./bin/instalador proyecto:instalar

Como parámetros opcionales podemos agregar el siguiente argumento el cual permite crear desde el instalador una base de datos de negocio vacía:

./bin/instalador proyecto:instalar --crear-db

Otro parametro opcional es el siguiente el cual permite realizar una instalación usando una base de datos de negocio existente:

./bin/instalador proyecto:instalar --db-negocio-existente

Una vez ejecutado el comando de instalación, el propio instalador nos proporciona los pasos a seguir, para mas información ver el apartado Post instalación

Instalación desde cero en entorno de desarrollo

Para realizar una instalación de cero con personalizaciones, es necesario iniciar una instalación en modo desarrollo ya que es necesario requerir de los proyectos Toba Editor y Toba Referencia.

No se recomienda realizar una instalación de un entorno de desarrollo para producción, ya que al contar con un sistema instalado en modo desarrollo cualquier usuario puede tener acceso al proyecto Toba-Editor y podría realizar modificaciones sobre el sistema vulnerando la seguridad del mismo.
Otro factor a tener en cuenta es que un sistema instalado en entorno de desarrollo no utiliza metadatos compilados, los cuales si se manejan en una instalación en entorno de producción y sin esto disminuye significativamente la performance del sistema.

Una vez realizado lo explicado en el ítem de Pasos previos a un proceso de instalación, el instalador nos proporciona distintas opciones de ejecución del comando de instalación dependiendo de la configuración:

Para realizar una instalación en entorno de desarrollo se debe configurar en el archivo de parámetros del instalador, instalador.env, el parámetro ENTORNO_PRODUCCION con el valor 0.

ENTORNO_PRODUCCION="0"

Para instalar en entorno de desarrollo con una base de datos existente vacía ejecutar:

./bin/instalador proyecto:instalar

Como parámetros opcionales podemos agregar el siguiente argumento el cual permite crear desde el instalador una base de datos de negocio vacía:

./bin/instalador proyecto:instalar --crear-db

Otro parametro opcional es el siguiente el cual permite realizar una instalación usando una base de datos de negocio existente:

./bin/instalador proyecto:instalar --db-negocio-existente

Una vez ejecutado el comando de instalación, el propio instalador nos proporciona los pasos a seguir, para mas información ver el apartado Post instalación

Actualización

Recomendaciones previas a la actualización

Antes de iniciar el proceso de actualización se recomienda verificar las configuraciones de la instalación anterior del sistema.

Es importante no renombrar ni mover la carpeta de instalación anterior hasta que se haya terminado el proceso de actualización.
Verificar configuración del entorno de la instalación anterior

Se debe abrir el archivo que se encuentra dentro del directorio de instalación anterior 'SIU-Diaguita-anterior/instalacion/entorno_toba.env'

Para el caso de una instalación en un sistema operativo Linux la estructura del archivo sera la siguiente, verificar si se encuentra correctamente configurado nuestra ruta de instalación a SIU-Diaguita

export TOBA_DIR=/ruta_instalacion_a_diaguita/vendor/siu-toba/framework
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/ruta_instalacion_a_diaguita/instalacion
export PATH="$TOBA_DIR/bin:$PATH"
echo "Entorno cargado."
echo "Ejecute 'toba' para ver la lista de comandos disponibles."

Para el caso de una instalación en un servidor con sistema operativo Windows, se debe validar la existencia del archivo 'entorno_toba_3.1.bat' dentro del directorio del usuario del sistema. Se debe tener en cuenta que si se tienen múltiples instalaciones en el mismo servidor, este archivo tendrá los valores de la ultima instalación realizada por lo tanto es necesario verificar que se encuentre con los valores de la instalación de SIU-Diaguita que se desea actualizar.

set TOBA_PROYECTO=diaguita
set TOBA_INSTANCIA=produccion
set TOBA_INSTALACION_DIR=/ruta_instalacion_a_diaguita/instalacion

set toba_dir=/ruta_instalacion_a_diaguita/vendor/siu-toba/framework

set diaguita_dir=/ruta_instalacion_a_diaguita

Otra aclaración para instalaciones en SO Windows, es que en los comandos php -como el caso del comando instalador- requieren que se agregue explicitamente php previo al comando, ejemplo:

php instalador proyecto:instalar
Verificar configuración de la instancia de la instalación anterior

Para verificar si se encuentra correctamente configurada la instancia del proyecto, se debe abrir el archivo 'SIU-Diaguita/instalacion/i__produccion/instancia.ini' y dentro de este verificar si esta configurado el parámetro 'usar_perfiles_propios = "1"' el cual es necesario para poder realizar la migración de perfiles de la instalación anterior a la nueva instalación.

[diaguita]
path = "/ruta_instalacion_a_diaguita"
url = "/diaguita"
full_url = "http://localhost/diaguita"
url_pers = "/diaguita_pers/"
usar_perfiles_propios = "1"
Verificar permisos de lectura y escritura de la instalación anterior

Durante el proceso de actualización es necesario que el usuario del sistema el cual ejecuta el instalador tenga permisos de lectura y escritura sobre el SIU-Diaguita anterior.

El directorio de instalación del proyecto anterior a actualizar debe poder ser accesible para la lectura y escritura de los archivos y directorios.

Configuración del archivo instalador.env

Para la actualización, es necesario abrir y editar las siguientes entradas del archivo instalador.env

###### CONFIG DE BASE DE DATOS DE NEGOCIO ######
PROYECTO_DB_DBNAME="nombre de base de datos actualizar"
###### CONFIG DE TOBA ######
TOBA_ALIAS_PROYECTO="/XXXXXX"
TOBA_ALIAS_NUCLEO="/XXXXXX"( cambiarlo para que utilize versiones la versión anterior)


Actualización de entradas al archivo instalador.env

El comando proyecto:definir-variables se encarga de crear el archivo instalador.env cuando no existe, también puede agregar las variables faltantes en un archivo existente.

./bin/instalador proyecto:definir-variables

Importante: Instalaciones que utilicen sincronización con araí proveedores

Para actualizaciones, cuando se utiliza sincronización de proveedores mediante araí proveedores es necesario realizar las configuraciones que se encuentran a continuación Configuración de la base de datos de Arai Proveedores

Actualización de una instalación sin personalizaciones

Antes de realizar el proceso de actualización es necesario verificar si se cumplen los requerimientos previos a una actualización en Recomendaciones previas actualización

Para realizar una actualización sin personalizaciones, es necesario iniciar una instalación en modo producción. El instalador no soporta actualizaciones de instalaciones en entorno de desarrollo.

Una vez realizado lo explicado en el ítem de Pasos previos a un proceso de instalación, y luego de chequear los requerimientos previos a la actualización, el instalador nos proporciona el siguiente comando para ejecutar el proceso de actualización:

Para actualizar en entorno de producción se ejecuta el siguiente comando:

./bin/instalador proyecto:actualizar -d /RUTA_INSTALACION_ANTERIOR/

Una vez ejecutado el comando de actualización, el propio instalador nos proporciona los pasos a seguir, para mas información ver el apartado Post actualización

Actualización de una instalación con personalizaciones

Antes de realizar el proceso de actualización es necesario verificar si se cumplen los requerimientos previos a una actualización en Recomendaciones previas actualización

Cada vez que para el SIU-Diaguita este disponible una nueva versión (versión original generada por el equipo de SIU), se deberá migrar manualmente desde un entorno de desarrollo previo. El procedimiento de trabajo implica migrar la personalización desde la versión anterior a la siguiente sin saltearse ninguna versión intermedia. Para ello, desde un repositorio se tendrá que descargar la nueva versión y realizar la instalación nueva en modo desarrollo.

Es recomendable no utilizar el entorno de desarrollo anterior, así este puede ser utilizado para realizar bugfixes y correcciones que sean necesarios para la actual versión en producción. Procediendo sobre una nueva instalación de SIU-Diaguita, realizar:

# Descarga la nueva version
svn checkout https://repositorio/svn/diaguita/nodos/<sigla institucion>/trunk/3.1.4/  

# En la nueva versión realiza una instalación en desarrollo con base de datos de negocio existente
./bin/instalador proyecto:instalar --db-negocio-existente

# Mezcla los cambios hechos en la version 3.1.0 hacia esta nueva version  
svn merge https://repositorio/svn/diaguita/nodos/<sigla institucion>/trunk/3.1.0/personalizacion    carpeta_proyecto/personalizacion

# Inicia la personalizacion
toba personalizacion iniciar

# Chequea si hay posibles conflictos
toba personalizacion conflictos

# Toma los archivos .xml de la carpeta personalización y los carga a metadatos en la base
toba personalizacion importar

# Exporta los metadatos como archivos .sql en la carpeta metadatos
toba proyecto exportar

svn commit

Post Instalación/Actualización

Una vez finalizado un proceso de instalación o actualización se procede a ejecutar un conjunto de configuraciones finales.

Verificar archivo de log del instalador

El instalador durante el proceso de ejecución de cada comando genera un archivo de log en la raíz del proyecto, dentro de este archivo se encuentra detallado toda la historia de ejecución de procesos y en el podemos detectar cualquier tipo de error o advertencia que pueda ocurrir durante su ejecución, por eso es de mucha utilidad verificar este archivo y ayuda a entender cualquier falla.

Una de las alternativas para visualizar el archivo de log es de la siguiente manera:

less instalador.log

Modificar permisos

Permite modificar los permisos del proyecto, el usuario que corre el servidor web tiene que ser capaz de escribir sobre los directorios de archivos navegables, temporales y de configuración.

Al ejecutar el comando intentara identificar el usuario que sera dueño de los archivos y el grupo de usuario bajo el cual se ejecuta el servidor web Apache, con la posibilidad de definir ambos parámetros en el caso de que sean distintos a los sugeridos.

Ejecute el siguiente comando como superusuario:

sudo ./bin/instalador permisos:simple

Como parámetros opcionales se puede enviar el usuario que sera dueño de los archivos y el grupo de usuario bajo el cual se ejecuta el servidor web Apache como argumentos mediante el siguiente parámetro:

sudo ./bin/instalador permisos:simple -U usuario -W www-data

Configuración del servidor de aplicaciones

Para la configuración del servidor web les proponemos las siguientes opciones.

Para servidores linux, utilizar la configuración generada por el instalador ejecutando la siguiente sentencia como superusuario:

ln -s /ruta_instalacion/diaguita/instalacion/toba.conf /etc/apache2/sites-enabled/SIU-Diaguita.conf

Para servidores windows, agregar la siguiente linea al archivo de configuración de Apache (httpd.conf)

Include /ruta_instalacion/diaguita/instalacion/toba.conf

Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.

Otra opción de configuración, independientemente de si se va a realizar la instalación del sistema SIU-Diaguita en un servidor Linux o Windows, es recomendable la configuración en el servidor de aplicaciones apache de un virtualhost o dominio virtual que garantice la ejecución correcta del sistema. Una de las ventajas de contar con una configuración de virtualhost es que permite realizar múltiples instalaciones del sistema SIU-Diaguita en el mismo servidor de aplicación, manejándolas de forma independiente una de la otra.

Proceder a crear un archivo de nombre Diaguita con el siguiente contenido:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName servidor.universidad.edu.ar

    ### INICIO INCLUSION CONTENIDO toba.conf ###

    Include /ruta_instalacion/diaguita/instalacion/toba.conf

    ### FIN INCLUSION CONTENIDO toba.conf ###

</VirtualHost>

Tener en cuenta que se debe reemplazar servidor.universidad.edu.ar con un nombre del servidor o DNS válido y que no este siendo utilizado por otro virtualhost, ya que será por medio del cual accederá al sistema.

Una vez configurado el archivo de virtualhost, copiarlo al directorio de configuración sites-available del servidor apache y crear un enlace simbólico en el directorio sites-enabled (en Linux, existe el comando a2ensite que realiza esta tarea).

Para finalizar, reiniciar el servidor apache para que tome los nuevos cambios.

Finalmente, podrá acceder al sistema SIU-Diaguita abriendo en un navegador la dirección url http://servidor.universidad.edu.ar/diaguita.

Chequear requerimientos web

Antes de activar el sistema sacándolo del modo mantenimiento es recomendable que ejecute el link que le proporciona el instalador al finalizar la instalación en un navegador web de modo que se pueda hacer un chequeo de los requerimientos en el servidor web y de esa forma asegurarnos que tenemos configurado correctamente el php.ini que corre el apache y luego sacarlo del modo mantenimiento.

### AL FINALIZAR LA INSTALACIÓN EL INSTALADOR LE GENERA UN LINK AL CHEQUEO WEB CON LA URL CONFIGURADA EN LA INSTALACIÓN ###

http://servidor.universidad.edu.ar/diaguita/check.php

El chequeo web no permite ejecutar remotamente desde un navegador, para el caso que el servidor no disponga una interfaz gráfica para ejecutar de forma local el chequeo en el navegador web, una alternativa puede ser instalar la aplicación lynx para poder ejecutar un navegador web desde linea de comando de la siguiente manera:

### Chequeo web desde un navegador web por consola de comandos

lynx http://servidor.universidad.edu.ar/diaguita/check.php

Activar el sistema

Al finalizar el proceso el sistema queda configurado en modo mantenimiento, para desactivar el modo mantenimiento ejecutar el siguiente comando:

./bin/instalador instalacion:modo-mantenimiento --sin-mantenimiento

Personalizaciones

En el sistema SIU-Diaguita se ha implementado el esquema de personalizaciones ofrecido por el SIU-Toba. Este esquema permite que se realicen cambios sobre un sistema entregado por el SIU y que estos cambios se persistan a través de diferentes versiones.

Para poder implementar este esquema de personalizaciones y mantenerlo en un espacio de desarrollo colaborativo se debe contar con un sistema de control de versiones y tener versionado la versión propia del sistema con las personalizaciones.

A continuación se describe el mecanismo que permite desarrollar una personalización completa del SIU-Diaguita, basándonos en una instalación pre-existente de SIU-Diaguita versión 3.1.x realizada mediante el uso del instalador de proyectos del SIU.

En este esquema se recomienda que exista una persona que denominaremos concentrador, quien será el único que utilice los comandos de personalización y proveerá así al resto del grupo, de mayor flexibilidad en el entorno de trabajo diario. El resto del equipo trabaja de manera normal con Toba sin percatarse de que existe una personalización vigente, excepto a la hora de guardar archivos PHP.

Activar esquema de personalizaciones

Para iniciar la personalización, se recomienda que únicamente la persona que cumpla el rol de concentrador ejecute los siguientes comandos. El concentrador debe definir el esquema de PostgreSQL temporal a ser usado por el proceso de cálculo de diferencias en la personalización, en el archivo /SIU-Diaguita/personalizacion/personalizacion.ini:

iniciada = "no"
schema_personalizado = "<schema_personalizado>"

Y por último, inicializar propiamente la personalización. Es obligatorio que este cambio se suba al repositorio para mantener la configuración del ambiente de desarrollo. Para finalizar, el concentrador realiza el commit de los cambios realizados.

bin/toba personalizacion iniciar -p diaguita -i desarrollo
svn commit

A partir de este momento, todas las personas que participen del equipo de desarrollo deben descargarse la versión del sistema con personalizaciones que se mantiene versionada en un repositorio de la universidad, y luego pueden seguir los pasos de la Instalación desde cero en entorno de desarrollo. Estas personas podrán ejecutar todas las tareas relacionadas con el proyecto, excepto aquellas que se indican explícitamente a ser ejecutadas por el concentrador.

Desarrollar nuevas personalizaciones

La siguiente guía es un ejemplo paso a paso para desarrollar una personalización de SIU-Diaguita, mediante el uso del toba-editor para la extensión y modificación de las funciones y características del mismo. Esto puede ser desarrollado de forma individual o en forma colaborativa con un equipo de desarrollo.

Crear una versión propia con personalizaciones

Instalación de cero de un ambiente de producción con personalizaciones

Para realizar una instalación de un ambiente de producción con personalizaciones se debe partir de una instalación en modo desarrollo con personalizaciones.

Una vez que se migraron las personalizaciones a una nueva versión del sistema en modo desarrollo y estas fueron testeadas y ya esta en condiciones para llevar a producción, a la versión de SIU-Diaguita en desarrollo con personalizaciones ejecutar los siguientes comandos:

# Exportar metadatos del proyecto
toba proyecto exportar

# Exportar personalización del proyecto
toba personalizacion exportar

# Subir los metadatos exportados al repositorio
svn commit

Una vez realizado los pasos anteriores, luego descargar la versión propia de SIU-Diaguita con personalizaciones para realizar una instalación en producción. Antes de instalar realizar lo explicado en el ítem de Pasos previos a un proceso de instalación.

# Descarga la nueva versión propia con personalizaciones
svn checkout https://repositorio/svn/diaguita/nodos/<sigla institucion>/trunk/3.1.0/  

# Realiza una instalación en producción del SIU-Diaguita con personalizaciones versión 3.1.0
./bin/instalador proyecto:instalar

Actualización del ambiente de producción con personalizaciones

Para llevar a cabo una actualización de un ambiente de producción con personalizaciones se debe partir de una instalación en modo produccion con personalizaciones de la ultima versión del sistema.

Para esto previamente se debe realizar Instalación de cero de un ambiente de producción con personalizaciones.

Luego de tener instalada la versión en producción con personalizaciones, para migrar los usuarios y perfiles de acceso de la instalación en producción anterior se debe realizar una actualización sobre esta nueva instalación en producción configurando correctamente el archivo de parámetros del instalador y luego ejecutando el siguiente comando:

./bin/instalador proyecto:actualizar --instalacion-anterior /RUTA_INSTALACION_ANTERIOR



<Volver