Manual de Usuario - CARE Ecuador

19
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

Transcript of Manual de Usuario - CARE Ecuador

Page 1: 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

Page 2: Manual de Usuario - CARE Ecuador

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

Page 3: Manual de Usuario - CARE Ecuador

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

Page 4: Manual de Usuario - CARE Ecuador

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.

Page 5: Manual de Usuario - CARE Ecuador

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

Page 6: Manual de Usuario - CARE Ecuador

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

Page 7: Manual de Usuario - CARE Ecuador

Página 7 de 19

4 Distribución Física

Servidor Backend

Terminales de Escritorio

Internet

Page 8: Manual de Usuario - CARE Ecuador

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

Page 9: Manual de Usuario - CARE Ecuador

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

Page 10: Manual de Usuario - CARE Ecuador

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

Page 11: Manual de Usuario - CARE Ecuador

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";

Page 12: Manual de Usuario - CARE Ecuador

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

Page 13: Manual de Usuario - CARE Ecuador

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>

Page 14: Manual de Usuario - CARE Ecuador

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

Page 15: Manual de Usuario - CARE Ecuador

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"

Page 16: Manual de Usuario - CARE Ecuador

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.

Page 17: Manual de Usuario - CARE Ecuador

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

Page 18: Manual de Usuario - CARE Ecuador

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.

Page 19: Manual de Usuario - CARE Ecuador

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