Manual de Usuario - CARE Ecuador
Transcript of Manual de Usuario - CARE Ecuador
Manual de Implementación y Configuración
Sistema de Registro de
Beneficiarios y
Entrega de Asistencias CARE
Fecha: 25/10/2019
Versión: 1.0.0
Página 2 de 19
HOJA DE CONTROL
Cliente CARE
Proyecto Sistema de Registro de Beneficiarios y Entrega de Asistencias CARE
Entregable Manual de Usuario
Autor Sagatechs Cia. Ltda.
Versión/Edición 1.0 Fecha Versión 25/10/2019
Aprobado por Dany Gancino Fecha Aprobación 25/10/2019
REGISTRO DE CAMBIOS
Versión Causa del Cambio Responsable del Cambio Fecha del Cambio
0.0.1 Versión inicial Ronny Mendoza, Dany Gancino 28/06/2019
0.0.2 Primera revisión Ronny Mendoza 03/07/2019
0.0.3 Segunda revisión Ronny Mendoza 05/08/2019
0.0.4 Agregado módulo de huella
dactilar Dany Gancino 19/08/2019
Página 3 de 19
1 Introducción ........................................................................................................................ 4
2 Prerrequisitos de instalación ............................................................................................... 5
2.1 Servidor ........................................................................................................................ 5
2.2 Terminales de escritorio ............................................................................................... 5
2.3 Terminales móviles .................................................... ¡Error! Marcador no definido.
2.3.1 Android ............................................................... ¡Error! Marcador no definido.
2.3.2 IOS ...................................................................... ¡Error! Marcador no definido.
3 Distribución Lógica ............................................................................................................ 6
4 Distribución Física .............................................................................................................. 7
5 Requerimientos de hardware .............................................................................................. 8
6 .................................................................................................................................................. 9
7 Instalación del servidor backend ........................................................................................ 9
7.1 Instalación de java 8 .................................................................................................... 9
7.2 Instalación de Postgres y Postgis ............................................................................... 10
7.3 Configuración de la base de datos ............................................................................. 11
7.4 Configuración de parámetros de conexión de base de datos ..................................... 12
7.5 Carga de datos iniciales ............................................................................................. 12
7.6 Instalación del servidor de aplicaciones Wildfly ....................................................... 12
7.7 Configuración de wildfly como servicio ................................................................... 13
7.8 Configuración del driver de postgres en el servidor .................................................. 13
7.9 Configuración de la conexión a la base de datos en el servidor de aplicaciones: ...... 14
7.10 Configuración del uso de memoria en el servidor de aplicaciones ........................ 14
8 Compilación del backend webapp .................................................................................... 16
8.1 Prerrequisitos ............................................................................................................. 16
8.2 Compilación ............................................................................................................... 16
9 Despliegue de la aplicación Webapp ................................................................................ 17
9.1 Prerrequisitos ............................................................................................................. 17
9.2 Despliegue de la aplicación Plataforma Central ........................................................ 17
10 Configuración de la aplicación ......................................................................................... 18
Página 4 de 19
1 Introducción
El presente documento es una descripción del proceso de instalación y configuración de los
distintos componentes que forman parte del sistema Aplicativo Móvil INEVAL. En este se
explica los prerrequisitos necesarios para el buen funcionamiento, la instalación y
configuración de los componentes del aplicativo y todo el proceso de instalación y
configuración del mismo.
Página 5 de 19
2 Prerrequisitos de instalación
Equipo SO
(Mínimo)
Explorador de internet
Servidor 1 Centos 7.0
Terminales de escritorio Windows 7 Chrome 54.0.2840 o superior
Además, se debe tomar en cuenta los siguientes puntos:
2.1 Servidor
• La instalación del sistema operativo debe iniciarse con una instalación mínima, nunca
con un ambiente gráfico
• El servidor debe estar correctamente configurado en cuanto a región y fecha/hora, ya
que de esto dependen algunos datos del sistema
• El jdk debe estar configurado como variable de entorno
• El servidor debe tener abiertos los siguientes puertos
o 8080-> servidor de aplicaciones
2.2 Terminales de escritorio
• Windows 7 (SP5) (Mínima)
• Explorador de internet, se recomienda el uso de Firefox V59 o superior o Chrome V68
o superior
Página 6 de 19
3 Distribución Lógica
Capa de Servicios
Capa de Bases de Datos
Usuarios
Terminales de Escritorio
(Chrome 58 o superior)
Servidor de aplicaciones Wildfly 16
Postgres 11
Página 7 de 19
4 Distribución Física
Servidor Backend
Terminales de Escritorio
Internet
Página 8 de 19
5 Requerimientos de hardware
Equipo Funcionalidad Procesador Disco
Duro
Tarjetas
de Red
Memoria
RAM
Servidor
1
Sistema de Registro de
Beneficiarios y Entrega
de Asistencias CARE
Core 2
Procesadores
500Gb 1 4GB
Nota: Estos requerimientos son los mínimos requeridos para la atención de aproximadamente 1000
Beneficiarios. Para el óptimo funcionamiento del sistema se recomienda las siguientes características
Equipo Funcionalidad Procesador Disco
Duro
Tarjetas
de Red
Memoria
RAM
Servidor
1
Sistema de Registro de
Beneficiarios y Entrega
de Asistencias CARE
Core 4
Procesadores
500Gb 1 8GB
Página 9 de 19
6 Instalación del servidor
A continuación, se detalla el proceso de instalación y configuración del servidor backend.
6.1 Instalación de java 8
1. Descargar desde la página http://www.oracle.com/technetwork/java/javase/down-loads/jdk8-downloads-2133151.html la versión Linux 64 bits (no usar open jdk):
2. Luego descomprimir el archivo en la carpeta /opt/: sudo tar -xzvf jdk-8u191-linux-x64.tar.gz -C /opt/
3. Instalar java mediante los siguientes comandos(verificar las rutas según la versión instalada), en el segundo comando seguir las instrucciones de pantalla: alternatives --install /usr/bin/java java /opt/jdk1.8.0_211/bin/java 2 sudo alternatives --config java
El sistema presentará la siguiente pantalla
En este caso se selecciona la opción 1. Debe seleccionar la opción conforme a las opciones presentadas
4. Configurar javac and jar usando los siguientes comandos: sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_211/bin/jar 2 sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_211/bin/ja-vac 2 sudo alternatives --set jar /opt/jdk1.8.0_211/bin/jar sudo alternatives --set javac /opt/jdk1.8.0_211/bin/javac
5. Comprobar la instalación mediante el comando java -version el cual producirá una salida en pantalla similar a la siguiente: java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_201-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b11, mixed mode)
6. Configure las variables de entorno
export JAVA_HOME=/opt/jdk1.8.0_211 export JRE_HOME=/opt/jdk1.8.0_211/jre export PATH=$PATH:/opt/jdk1.8.0_211/bin:/opt/jdk1.8.0_211/jre/bin
7. Configurar las variables de entorno para java para todos los usuarios, para esto crear 2 archi-
vos: a) /etc/profile.d/java.sh con el siguiente contenido
if ! echo ${PATH} | grep -q /opt/jdk1.8.0_211/bin ; then export PATH=/opt/jdk1.8.0_211/bin:${PATH} fi if ! echo ${PATH} | grep -q /opt/jdk1.8.0_211/jre/bin ; then export PATH=/opt/jdk1.8.0_211/jre/bin:${PATH} fi export JAVA_HOME=/opt/jdk1.8.0_211
Página 10 de 19
export JRE_HOME=/opt/jdk1.8.0_211/jre export CLASSPATH=.:/opt/jdk1.8.0_211/lib/tools.jar:/opt/jdk1.8.0_211/jre/lib/rt.jar
b) /etc/profile.d/java.csh con el siguiente contenido: if ( "${path}" !~ */opt/jdk1.8.0_211/bin* ) then set path = ( /opt/jdk1.8.0_211/bin $path ) endif if ( "${path}" !~ */opt/jdk1.8.0_211/jre/bin* ) then set path = ( /opt/jdk1.8.0_211/jre/bin $path ) endif setenv JAVA_HOME /opt/jdk1.8.0_211 setenv JRE_HOME /opt/jdk1.8.0_211/jre setenv CLASSPATH .:/opt/jdk1.8.0_211/lib/tools.jar:/opt/jdk1.8.0_211/jre/lib/rt.jar
8. Configurar el acceso de usuarios a los archivos creados
sudo chown root:root /etc/profile.d/java.sh sudo chmod 755 /etc/profile.d/java.sh sudo chown root:root /etc/profile.d/java.csh sudo chmod 755 /etc/profile.d/java.csh
6.2 Instalación de Postgres
Para la instalación del sistema, es necesario instalar el motor de base de datos Postgres 11 y
postgis 2.5. 1. Instalar el repositorio de postgresSQL
rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.no-
arch.rpm
Página 11 de 19
2. Instalar Postgres.
yum install postgresql11-server
3. Inicializar PGDATA
/usr/pgsql-11/bin/postgresql-11-setup initdb
El directorio de datos, por omisión se creará el siguiente lugar: /var/lib/pgsql/11/data 4. Configurar el inicio automático e iniciar el servicio de postgres
systemctl enable postgresql-11.service
systemctl start postgresql-11.service
5. Verificar la instalación, para esto ingresar mediante el cliente de postgres a la administración
del motor de base de datos
su - postgres -c "psql"
el sistema desplegará la línea de comandos postgres:
6. Generar una contraseña para el usuario postgres:
\password postgre
6.3 Configuración de la base de datos
Para el sistema es necesario crear la base de datos care_asistencias. Para esto seguir los
siguientes pasos: 1. Ingresar a la consola de comandos de postgres
su - postgres -c "psql"
2. Crear la base de datos con el nombre “care_asistencias”
CREATE DATABASE care_asistencias;
3. Crear el usuario que se utilizará para el sistema
CREATE USER careAppDatabaseUser WITH PASSWORD 'CARE2019Sagatechs';
4. Otorgar los privilegios para la base de datos creada:
GRANT ALL PRIVILEGES ON DATABASE "care_asistencias" to careAppDatabaseUser;
IMPORTANTE: El usuario y la contraseña de base de datos no debe ser utilizado por ningún
motivo, fuera del aplicativo. Estos datos deben mantenerse con la confidencialidad que dicte
el reglamente de la organización y ser recomienda utilizar credenciales diferentes a las
expuestas en este manual.
6.4 Creación de extensiones postgres
En la base de datos del sistema se deben instalar 2 extensiones: table func y unaccent. Para la instalación
de estas se debe ejecutar los siguientes comandos desde un cliente sql desde la misma base de datos:
CREATE EXTENSION tablefunc SCHEMA public VERSION "1.0";
Página 12 de 19
CREATE EXTENSION unaccent SCHEMA public VERSION "1.1";
6.5 Configuración de parámetros de conexión de base de datos
Para configurar los parámetros de conexión, editar el archivo
/var/lib/pgsql/11/data/pg_hba.conf
Editarlo para que en todos los casos el método de autenticación sea md5. En este archivo
adicionalmente se puede habilitar el acceso externo a la base de datos.
6.6 Carga de datos iniciales
Es necesario cargar la base de datos con los datos iniciales del servidor. Para esto restaurar el
respaldo de base de datos adjunto en los entregables, en la base de datos creada
pg_restore --host localhost --port 5432 --username "postgres" --password --format custom --
no-privileges --verbose --dbname care_asistencias /home/ssalazar/care_asistencias.backup
6.7 Instalación del servidor de aplicaciones Wildfly
Para el sistema es necesario instalar el servidor de aplicaciones Wildfly 16.0.0.Final. 1. Descargar el servidor Wildfly 16.0.0.Final, versión Java EE Full & Web Distribution. Para esto
podemos acceder a la página oficial de descargas de Wildfly y descarga el archivo respectivo o
usar el siguiente comando
wget https://download.jboss.org/wildfly/16.0.0.Final/wildfly-16.0.0.Final.tar.gz
2. Descomprimir el archivo descargado en el directorio /opt
tar -zxvf wildfly-16.0.0.Final.tar.gz
3. Editar el archivo /opt/wildfly-16.0.0.Final/bin/standalone.conf agregar las siguientes 2 filas:
JBOSS_HOME="/opt/wildfly-16.0.0.Final"
JAVA_HOME="/opt/jdk1.8.0_211"
4. Probar la instalación, para esto arrancar el servidor de aplicaciones mediante el siguiente co-
mando:
/opt/wildfly-16.0.0.Final/bin/standalone.sh
El servidor arrancará y puede ser accedido mediante el puerto 8080
Página 13 de 19
6.8 Configuración de wildfly como servicio
Para configurar wildfly como servicio seguir los siguientes pasos: 1. Crear el archivo /lib/systemd/system/wildfly.service con el siguiente contenido:
[Unit] Description=WildFly Server After=httpd.service StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=root ExecStart=/opt/wildfly-16.0.0.Final/bin/standalone.sh
2. Reiniciar la lista de servicios del sistema operativo mediante el siguiente comando:
systemctl daemon-reload
3. Ahora se puede iniciar el comando como cualquier otro servicio, mediante el comando sys-
temctl:
systemctl start wildfly.service
4. Configurar el arranque automático del servicio mediante el siguiente comando:
systemctl enable wildfly.service
6.9 Configuración del driver de postgres en el servidor
1. Descargar el driver desde la página https://jdbc.postgresql.org/download.html o con el co-mando: wget https://jdbc.postgresql.org/download/postgresql-42.2.4.jar
2. Crear las carpetas: mkdir /opt/wildfly-16.0.0.Final/modules/system/layers/base/org/postgresql mkdir /opt/wildfly-16.0.0.Final/modules/system/layers/base/org/post-gresql/main
3. Copiar el archivo descargado en la carpeta creada: cp postgresql-42.2.4.jar /opt/wildfly-16.0.0.Final/modules/system/lay-ers/base/org/postgresql/main
4. Crear el archivo /opt/wildfly-16.0.0.Final/modules/system/layers/base/org/post-gresql/main/module.xml en la misma carpeta con el siguiente contenido: <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.3" name="org.postgresql"> <resources> <resource-root path="postgresql-42.2.4.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Página 14 de 19
5. En el archivo /opt/wildfly-16.0.0.Final /standalone/configuration/standalone.xml crear el dri-ver agregando a la sección <drivers> de la sección subsystem xmlns="urn:jboss:domain:data-sources:5.0 el siguiente texto: <driver name="postgresql-driver" module="org.postgresql"> <driver-class>org.postgresql.Driver</driver-class> </driver>
6.10 Configuración de la conexión a la base de datos en el servidor de aplicaciones:
1. En el archivo /opt/wildfly-16.0.0.Final /standalone/configuration/standalone.xml crear el dri-ver agregando a la sección <datasources> de la sección subsystem xmlns="urn:jboss:do-main:datasources:5.0 el siguiente texto: <datasource jta="true" jndi-name="java:jboss/datasources/SagaTechs" pool-name="SagaTechs" enabled="true" use-ccm="true" statistics-enabled="true"> <connection-url>jdbc:postgresql://lo-calhost:5432/care_asistencias</connection-url> <driver>postgresql-driver</driver> <pool> <max-pool-size>100</max-pool-size> </pool> <security> <user-name>careAppDatabaseUser</user-name> <password>CARE2019Sagatechs</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidCon-nectionChecker"/> <background-validation>true</background-validation> <exception-sorter class-name="org.jboss.jca.adapt-ers.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/> </validation> </datasource>
2. En el mismo archivo, en la sección urn:jboss:domain:transactions:5.0 reemplazar la configura-
ción de transacciones por el siguiente texto:
<subsystem xmlns="urn:jboss:domain:transactions:5.0"> <core-environment node-identifier="${jboss.tx.node.id:1}"> <process-id> <uuid/> </process-id> </core-environment> <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> <coordinator-environment statistics-enabled="true" default-timeout="300000"/> <object-store path="tx-object-store" relative-to="jboss.server.data.dir"/> </subsystem>
IMPORTANTE: Configurar los parámetros user-name y password según la configuración de
la base de datos a usar. Se recomienda no utilizar el usuario postgres para el uso del sistema,
sino crear un usuario con todos los privilegios para la base de datos care_asistencias, y usarlo
en esta configuración.
6.11 Configuración del uso de memoria en el servidor de
Página 15 de 19
aplicaciones
1. En el archivo /opt/wildfly-16.0.0.Final/bin/standalone.conf agregar al final la siguiente línea:
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx4096m -XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=3048m -Djava.net.preferIPv4Stack=true"
Página 16 de 19
7 Compilación del backend webapp
La web app al ser desarrollada en un entorno de desarrollo JAVA-JEE, debe ser compilada
previo a su publicación. En esta sección se explica este proceso
7.1 Prerrequisitos
Para compilar el sistema son necesarias las siguientes herramientas:
1. Tener instalado el Java SE Development Kit 8 (https://www.oracle.com/technetwork/java/ja-
vase/downloads/jdk8-downloads-2133151.html)
2. Tener instalado Maven 3.5 o superior ( https://maven.apache.org/download.cgi )
7.2 Compilación
Para compilar el sistema es necesario ejecutar el siguiente comando dentro de la carpeta raíz
del código fuente:
mvn clean install
Este comando generará el archivo war dentro de la subcarpeta target, este archivo es el
ejecutable.
Página 17 de 19
8 Despliegue de la aplicación Webapp
8.1 Prerrequisitos
Para el despliegue del sistema es necesario que se haya realizado la instalación conforme al
manual de instalación y configuración del aplicativo.
8.2 Despliegue de la aplicación Plataforma Central
Para desplegar la aplicación es necesario seguir los siguientes pasos: 1. Bajar el servidor de aplicaciones JEE
systemctl stop wildfly.service
2. Limpiar el cache y archivos temporales del servidor
rm -rf /opt/wildfly/standalone/tmp/*
rm -rf /opt/wildfly/standalone/data/*
3. Copiar el ejecutable ObservatorioCatastral.war en el directorio
/opt/wildfly/standalone/deployments/
4. Iniciar el servidor
systemctl start postgresql-11.service
Página 18 de 19
9 Configuración de la aplicación
El sistema con el fin de no quemar parámetros de configuración cuenta con una tabla que
permite modificarlos. La tabla es appconfig.app_config
Esta tabla contiene diversos parámetros que permiten el funcionamiento del sistema, en cada
registro se puede personalizar estos parámetros, para esto todos cuentan con una descripción
del parámetro. Los únicos valores que pueden ser cambiado es la columna valor y se lo debe
hacer directamente en la base de datos.
Página 19 de 19
clave descripcion nombre
FOLDER_FOTOS Folder donde se localizan fotos tomadas con el dispositivo Folder de fotos
EMAIL_SERVICE_SMPTP_HOST
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor para mail.smtp.host Ejemplo: mail.sagatechs.com Smtp host
EMAIL_SERVICE_SMTP_PORT
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor para mail.smtp.port Ejemplo: 465 Smtp puerto
EMAIL_SERVICE_SMTP_SOCKET_FACTORY_PORT
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor para mail.smtp.socketFactory.port Ejemplo: 465
Socket Factory puerto
EMAIL_SERVICE_SMTP_SOCKET_FACTORY_CLASS
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor para mail.smtp.socketFactory.class Ejemplo: javax.net.ssl.SSLSocketFactory
UConfiguración de correo Socket Factory Port
EMAIL_SERVICE_EMAIL
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor dirección de correo Ejemplo: [email protected]
Dirección de correo a usar
EMAIL_SERVICE_USERNAME
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor usuario Ejemplo: [email protected]
Usuario de correo
EMAIL_SERVICE_PASSWORD
Configuración de correo. Referirse a documentación de javax.mail.Session. Valor para password Ejemplo: A1a2a3a4
Contraseña de correo electrónico