SIU-Diaguita/version3.3.0/instalacion
Instalación del sistema
Sumario
- 1 Instalación del sistema
- 1.1 Requerimientos mínimos
- 1.2 Instalación inicial del sistema SIU-Diaguita
- 1.3 Instalación del servidor de aplicaciones bajo Linux
- 1.4 Instalación del sistema
- 1.5 Configuración del servidor de aplicaciones
- 1.6 Configuración del módulo de consultas para Convocatorias
- 1.7 Ajustes necesarios para PHP
- 1.8 Verificación del funcionamiento del sistema SIU-Diaguita
- 1.9 Verificar configuración y requerimientos mínimos
- 1.10 Verificar errores del sistema
- 1.11 Verificar recursos disponibles de los Servicios web
Es conveniente 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.
Requerimientos mínimos
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://comunidad.siu.edu.ar. Las versiones recomendadas son las siguientes:
- Apache 2.2.x. a 3.3.x
- PostgresSQL 9.1.x a 9.6.x.
- PHP 5.4.x a 5.6.x, recomendable 5.6.x (con las extensiones: xml, gd, pdo_pgsql, curl).
- Librería Graphviz 3.3.x o superior.
- Librería cURL 7.19 o superior.
- Java Runtime Environment 1.7.x (se requiere tener instalado JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema).
Instalación inicial del sistema SIU-Diaguita
Instalación del servidor de aplicaciones bajo Linux
Para un entorno SIU-Diaguita, es recomendable el uso de algún sistema operativo Linux. En este ejemplo, se muestra los pasos para instalar bajo un sistema Debian GNU/Linux versión 8.
El primer paso es instalar un servidor web apache2 con soporte a php:
apt-get install php5 php5-cli php5-apcu php5-pgsql php5-xsl php5-xml php5-gd php5-curl
# instalar Apache como servidor web
apt-get install apache2 libapache2-mod-php5
# instalar dependencias extras
apt-get install graphviz openjdk-7-jre openjdk-7-jre-headless curl
Una vez instalado el servidor web, se deberá instalar un servidor de bases de datos PostgreSQL:
apt-get install postgresql
Tener en cuenta que todos estos servicios se deberán configurar, adaptar y proteger de acuerdo a las necesidades del entorno y/o el tipo de protección que requieran. Las configuraciones por defecto no suelen ser adecuadas para los entornos de producción, ni se espera que los pasos ofrecidos inicialmente sean los únicos para tener correctamente configurado un entorno de producción.
Instalación del sistema
Descargar desde el servicio Repositorio http://comunidad.siu.edu.ar/ el archivo SIU-Diaguita-2.xx.x.zip correspondiente a la última versión. La instalación del sistema SIU-Diaguita se realiza utilizando un asistente web, el cual funciona ingresando a una dirección en el navegador dependiendo de cómo tenga configurado su plataforma web.
A continuación se describen los pasos a seguir para lograr una instalación correcta y segura del sistema SIU-Diaguita para un servidor de producción. Tener en cuenta que un sistema incorrectamente configurado puede exponerlo a riesgos de seguridad y dejarlo vulnerable a diversos tipos de ataques o amenazas.
Descomprimir dicho archivo en el directorio raíz del servidor web (por lo general es un directorio llamado htdocs o www, definido como DocumentRoot en el servidor de aplicaciones apache). Ingresar mediante un navegador a la dirección http://direccion_servidor/SIU-Diaguita-2.XX.X y seguir los pasos indicados en la primera pantalla que muestra el instalador haciendo clic en Instalar.
En el transcurso de la instalación, uno de los datos solicitados se refiere a la ruta de instalación del sistema. En esta guía se menciona dicha ruta mediante la referencia /ruta_instalacion.
Es posible que el instalador produzca la siguiente advertencia:
En este caso, se deberá elegir otra ubicación para la ruta de instalación debido a que no se puede instalar SIU-Diaguita en un directorio raiz o DocumentRoot del servidor de aplicaciones apache.
Nota: En el transcurso de la instalación, uno de los datos solicitados se refiere a la ruta de instalación del sistema. En esta guía se menciona dicha ruta mediante la referencia /ruta_instalacion.
Configuración del servidor de aplicaciones
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, manejandolas de forma independiente una de la otra.
Proceder a crear un archivo de nombre diaguita con el siguiente contenido:
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 acederá al sistema.
Una vez configurado el archivo de virtualhost, copiarlo al directorio de configuración sites-avaiable 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.
Como ajuste opcional, es posible eliminar el alias /diaguita de la url de modo que no sea necesario agregarlo a la dirección al usar el navegador. Para ello deberá editar el archivo /ruta_instalacion/diaguita/instalacion/toba.conf reemplazando la línea
por
Además, asegurarse de ajustar la condición de reescritura de url (necesaria para brindar acceso a los servicios web REST)
por
Luego editar /ruta_instalacion/diaguita/instalacion/i__produccion/instancia.ini y reemplazar la línea
por
Configuración del módulo de consultas para Convocatorias
SIU-Diaguita dispone de un módulo especial que permite acceder de forma pública a las Convocatorias y Licitaciones de la institución. Dicho módulo se lo conoce como Convocatorias publicadas en la web y es parte de la estructura de SIU-Diaguita. Por lo tanto, permitir su acceso directo desde el exterior implica que el servidor de aplicaciones apache quede expuesto a la red externa de la institución.
Ya que esta práctica no es la recomendable, se proporciona los pasos necesarios para la instalación y configuración de un servidor tipo proxy que permita el acceso desde internet al módulo de consultas internamente, sin exponer ni comprometer la seguridad general del servidor de aplicaciones apache.
Instalación
Para correr el servidor proxy existen varias alternativas, entre ellas el servidor nginx. Para realizar la instalación en Debian GNU/Linux versión 8, se debe ejecutar:
En general, la recomendación es instalar este servidor proxy separado del servidor de aplicaciones apache, o dicho de otra forma, en un servidor individual y dedicado a ello.
Configuración en el servidor
Una vez que se dispone del servidor proxy nginx, es necesario configurar un virtualhost para el acceso, creando el archivo:
Este archivo deberá tener el contenido disponible en attachment:diaguita-nginx.conf. Permite a un subdominio público acceder al servidor interno donde corre SIU-Diaguita, sin necesidad de exponer a este último.
root@host:/# service nginx configtest
root@host:/# # ahora si reiniciar
root@host:/# service nginx restart
Ajustes necesarios para PHP
Los siguientes son ajustes requeridos para la correcta ejecución de la aplicación SIU-DIaguita en un servidor Debian Linux 6.0 y PHP 5.3 con parche suhosin. Se debe editar el archivo /etc/php5/apache2/php.ini y agregar o modificar los siguientes valores:
memory_limit = 1025M
A partir de la versión 5.4 de PHP, el parche de seguridad suhosin dejó de ser soportado. Si bien se retomó su desarrollo, ya no se encuentra empaquetado oficialmente en la distribución Debian GNU/Linux versión 8. Además, muchas de sus características fueron incluidas y/o corregidas en el mismo núcleo de PHP. Por lo tanto, creemos que no es necesario mantener activo esta configuración. Si a pesar de ello lo utilizan, tendrán que tener en cuenta las diversas restricciones que se aplican sobre las variables GET/POST/REQUEST pertinentes.
Verificación del funcionamiento del sistema SIU-Diaguita
Verificar configuración y requerimientos mínimos
Se incorpora a partir de la versión 3.3.0 una operación que permite verificar la Configuración de SIU-Diaguita. Para ello, deberán dirigirse a la operación:
En esta operación es posible verificar las versiones de las dependencias del sistema, la configuración de los servicios y el funcionamiento de los mismos.
Nota: Con esta operación, es posible verificar (una vez instalado el sistema) las librerías, dependencias y configuraciones necesarias que requiere el sistema para su correcto funcionamiento.
Verificar errores del sistema
Siempre que estemos ante la necesidad de realizar un análisis de que es lo que ocurre con el sistema, es aconsejable recurrir a los archivos de logs que presentan cada uno de los componentes presentes y/o relacionados con el sistema SIU-Diaguita. A continuación se detallan los tres más importantes:
- El log del propio sistema SIU-Diaguita, ubicado en /ruta_instalacion/diaguita/instalacion/iproduccion/pdiaguita/logs/sistema.log. Muestra toda la ejecución, tanto peticiones normales, permisos, errores del negocio, etc.
- El log del servidor web apache, por lo general en Debian/Ubuntu ubicado en /var/log/apache2/error.log. Puede ser redefinido, y depende del sistema operativo. Muestra errores propios de apche, php, y también del sistema.
- El log del servicio JasperRepors, por defecto configurado en /var/log/diaguita_reportes.log. Muestra errores de ejecución propia de un reporte, ya dentro del ámbito de la JVM.
- El log del servidor de base de datos PostgreSQL, por lo general en Debian/Ubuntu ubicado en /var/log/postgresql/postgresql-x.x-main.log. Muestra en detalle los errores de dase de datos.
Verificar recursos disponibles de los Servicios web
Todo sistema SIU (SIU-Diaguita, SIU-Pilaga, etc) que brinde conexión de servicios web vía REST, posee una consola de verificación/pruebas/chequeo que permite la verificación y/disponiblidad de recursos. La forma por defecto de conectarse a ella es ingresando mediante la url del sistema y adicionando /rest al final.
De esta forma, se nos cargará un portal que pedirá datos de acceso. Estos datos de acceso son los que se configuraron en el archivo servidor_usuarios.ini de la [#ConectarSIU-DiaguitaconSIU-Pilagá sección de configuración] de servicios web.