Configuración del Home Screen Server

Introducción

Este manual describe la configuración de los componentes del lado del servidor de la aplicación GBS Home Screen.

El procedimiento de configuración debe realizarse solamente después de la etapa de instalación. Para más información, consulte el Manual de Instalación de GBS Apps.

Configuración

Los pasos para configuración son:

Todos los pasos están descritos a continuación. Un ejemplo del archivo config.properties puede encontrarse en la sección Ejemplo del Archivo de Configuración.

Configuración del Tomcat

Edite el archivo de configuración del Tomcat para configurar los certificados y el puerto que la aplicación usará.

vim /var/lib/tomcats/home-screen/conf/server.xml

Para cambiar el puerto, busque Connector port=. Ese es el puerto para operaciones backend.

El puerto predeterminado del GBS Home Screen es 8128.

Configuración de Certificados

Para habilitar autenticación SSL, busque Connector port= en el archivo /conf/server.xml.

Hay varias entradas. Busque la que define un SSL HTTP/1.1 Connector. Si es necesario, elimine los delimitadores de comentario <!-- y -->. Luego, ajuste las siguientes configuraciones:

port="8127"
keystoreFile="/home/griaule/keystore"
keystorePass="password"
keyAlias="1"
clientAuth="true"
truststoreFile="/home/griaule/keystore"
truststorePass="password"

El parámetro port debe ser el puerto de red deseado para la aplicación.

Cambie la ruta de keystoreFile y truststoreFile a los valores correctos. Haga lo mismo para keystorePass y truststorePass.

El parámetro clientAuth="true" requerrá autenticación del servidor para el cliente y del cliente para el servidor. Esto significa que el cliente necesitará importar el certificado en el navegador para poder acceder a la aplicación.

Cifrado de la contraseña de la Base de Datos

En el archivo config.properties, el parámetro jdbc.password es una contraseña cifrada. Para generar la contraseña cifrada, siga los pasos a continuación:

Si el directorio /var/lib/tomcats/home-screen/webapps/gbs-home-screen-server/WEB-INF/lib no existe, inicie la aplicación (systemctl start [email protected]) una vez para que el directorio sea creado. Luego, detenga la aplicación (systemctl stop [email protected]) y continúe el procedimiento de configuración.

  1. Acceda al siguiente directorio:

    cd /var/lib/tomcats/home-screen/webapps/gbs-home-screen-server/WEB-INF/lib
  2. Ejecute el comando:

    java -cp gbs-common-db-<version>.jar com.griaule.commons.util.EncryptUtil <desiredPassword>
  3. La contraseña cifrada aparecerá después del mensaje: "Encrypted password is:"

Guarde la contraseña cifrada. Será usada en el siguiente paso.

Archivo de Configuración de la Aplicación

Abra el archivo de configuración:

vim /var/lib/tomcats/home-screen/conf/config.properties

Algunos cambios importantes en este archivo son los parámetros jdbc.url, jdbc.username, jdbc.password y gbds.urlConfigurelos de acuerdo con su entorno.

Un ejemplo del archivo de configuración completo se muestra en la sección Ejemplo del Archivo de Configuración.

Recuerde reemplazar la contraseña cifrada generada en la sección Cifrado de la contraseña de la Base de Datos en este archivo.

Configuraciones del Home Screen

Luego, configure la IP, el puerto y el protocolo de acceso a la aplicación. La IP y puerto deben ser los mismos configurados en la sección Configuración del Tomcat.

home-screen.ip=<ip>
home-screen.port=<port>
home-screen.protocol=<protocol>

Nginx

Instale y configure el Nginx para que el GBS Home Screen funcione con inicio de sesión único (SSO) junto con las demás aplicaciones.

Instalación del Nginx

Si el Nginx ya está instalado, salte a la sección Configuración del Nginx.

Instale el Nginx:

sudo yum install nginx -y

Inicie el Nginx:

sudo systemctl start nginx

Configuración del Nginx

Habilite el Nginx para iniciarse con el sistema:

sudo systemctl enable nginx

A continuación, cree un archivo de configuración para el Nginx:

sudo vim /etc/nginx/conf.d/web-apps.conf

Agregue la siguiente información al archivo. En server, reemplace <ip_hostname_or_domain> por la IP, hostname o dominio del servidor:

server {
   listen 80;
   server_name <ip_hostname_or_domain>;
   client_max_body_size 50M;
}

A continuación, aún en server, agregue un bloque de configuración para cada aplicación, mapeándola a su IP y puerto. Reemplace <app_name>, <protocol>, <app_name_ip> y <app_name_port> por los valores correctos:

location /gbs-<app_name>-server {
   proxy_pass <protocol>://<app_name_ip>:<app_name_port>;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
}

Ejemplo de archivo de configuración completo de Nginx, conteniendo rutas para todas las aplicaciones, utilizando sus puertos predeterminados. Reemplace <ip_hostname_or_domain>, <protocol> y <app_name_ip> por los valores correctos:

server {
   listen 80;
   server_name <ip_hostname_or_domain>;
   client_max_body_size 50M;

   # HOME SCREEN:
   location /gbs-home-screen-server {
      proxy_pass <protocol>://<home-screen_ip>:8128;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # BCC
   location /gbs-bcc-server {
      proxy_pass <protocol>://<bcc_ip>:8124;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # CARDSCAN
   location /gbs-cardscan-server {
      proxy_pass <protocol>://<cardscan_ip>:8087;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }


   # ETR
   location /gbs-etr-server {
      proxy_pass <protocol>://<etr_ip>:8089;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # MIR
   location /gbs-mir-server {
      proxy_pass <protocol>://<mir_ip>:8120;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # BEST
   location /gbs-best-server {
      proxy_pass <protocol>://<best_ip>:8123;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # INTELLIGENCE
   location /gbs-intelligence-server {
      proxy_pass <protocol>://<intelligence_ip>:8122;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # SMART SENSE
   location /gbs-smart-sense-server {
      proxy_pass <protocol>://<smart-sense_ip>:8127;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # PRINT
   location /gbs-print-server {
      proxy_pass <protocol>://<print_ip>:8127;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }

   # CONTROL PANEL
   location /gbs-control-panel-server {
      proxy_pass <protocol>://<control-panel_ip>:8121;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }
}

Guarde y cierre el archivo de configuración.

Finalmente, recargue las configuraciones del Nginx:

sudo systemctl reload nginx

Permisos

Para que los íconos de las aplicaciones aparezcan en el Home Screen, es necesario que el usuario posea los permisos necesarios. Cada permiso concedido al usuario (vía integración LDAP) corresponde a una aplicación, conforme la tabla abajo:

Aplicación
Permiso

BCC

bccdesktop_user

CardScan

cardscan_user

ETR

exception_treatment_user

MIR

quality_control_user

BEST

forensic_user

Intelligence

intelligence_user

SmartSense

smartsense_user

Print

printservice_user

Control Panel

controlpanel_user

Logotipo del cliente

En la esquina superior derecha de las web apps, es posible añadir el logotipo del cliente.

Esta es una configuración de entorno. Así, todos los usuarios que accedan a la aplicación verán el mismo logotipo.

Para ello, en la tabla sphinx.settings de la base de datos, cree o modifique la configuración organization.logo (type APPS) por la ruta del logotipo deseado. Es necesario que la aplicación (usuario tomcat) tenga acceso de lectura al archivo para poder cargarlo.

Acceso a la aplicación

El GBS Home Screen, al igual que las demás aplicaciones, debe ser accedido sin el uso del puerto, ya que el Nginx redirigirá automáticamente la solicitud al puerto correcto. Así, al realizar un único inicio de sesión (SSO), el usuario tendrá acceso a todas las aplicaciones para las que tiene permiso de uso.

El formato de la URL de acceso es:

<protocol>://<ip_or_domain>/gbs-<app_name>-server/react/
^^^^^^^^^^   ^^^^^^^^^^^^^^     ^^^^^^^^^^

Ejemplos:


Finalizando las Configuraciones

Tras finalizar todos los pasos de configuración, vuelva al Manual de Instalación de GBS Apps - Sección de Configuración.

Ejemplo del Archivo de Configuración

Esta sección muestra un ejemplo del archivo config.properties.

# **********************************************************************************************
#
#      /$$   /$$  /$$$$$$  /$$      /$$ /$$$$$$$$
#     | $$  | $$ /$$__  $$| $$$    /$$$| $$_____/
#     | $$  | $$| $$  \ $$| $$$$  /$$$$| $$
#     | $$$$$$$$| $$  | $$| $$ $$/$$ $$| $$$$$
#     | $$__  $$| $$  | $$| $$  $$$| $$| $$__/
#     | $$  | $$| $$  | $$| $$\  $ | $$| $$
#     | $$  | $$|  $$$$$$/| $$ \/  | $$| $$$$$$$$
#     |__/  |__/ \______/ |__/     |__/|________/
#
#       /$$$$$$   /$$$$$$  /$$$$$$$  /$$$$$$$$ /$$$$$$$$ /$$   /$$
#      /$$__  $$ /$$__  $$| $$__  $$| $$_____/| $$_____/| $$$ | $$
#     | $$  \__/| $$  \__/| $$  \ $$| $$      | $$      | $$$$| $$
#     |  $$$$$$ | $$      | $$$$$$$/| $$$$$   | $$$$$   | $$ $$ $$
#      \____  $$| $$      | $$__  $$| $$__/   | $$__/   | $$  $$$$
#      /$$  \ $$| $$    $$| $$  \ $$| $$      | $$      | $$\  $$$
#     |  $$$$$$/|  $$$$$$/| $$  | $$| $$$$$$$$| $$$$$$$$| $$ \  $$
#      \______/  \______/ |__/  |__/|________/|________/|__/  \__/
#
# **********************************************************************************************
# DATABASE (RDB)
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://<rdb_ip>:3306/sphinx?useSSL=false
jdbc.username=<rdb_username>
jdbc.password=<rdb_encrypted_password>
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false

# **********************************************************************************************
# GBDS CONNECTION (& AUTHENTICATION LDAP ONLY)
gbds.url=http://<gbds_ip>:8085
gbds.user=<gbds_username>
gbds.key=<gbds_password>
gbds.logLevel=INFO
gbds.additionalHeaders={}
gbds.flushDebugRequests=false
gbds.timeout=300
gbds.listExceptions.labels=

# **********************************************************************************************
# GUI SETTINGS
home-screen.ip=<home_screen_ip>
home-screen.port=8128
home-screen.protocol=<protocol>
locale=en_us

# **********************************************************************************************
# OTHER SETTINGS
gbds.latent.search.url=null
gbds.proxy.url=null
gbds.proxy.port=0

keystore.path=<keystore_path>
keystore.password=<keystore_password>
truststore.path=<truststore_path>
truststore.password=<truststore_password>

# **********************************************************************************************
# SESSION SETTINGS
same.user.simultaneous.login=true
fingerprint.useSDK=false
image.convert.useJnbis=false
filter.people.pguid=ALL
faceQuality.qtdeMinErrors=2
session.expirationTime.server=8h
session.expirationTime.web=8h
notification.last.timestamp=15

ldap.url=http://<ldap_ip>:8082/
ldap.user=<ldap_username>
ldap.password=<ldap_password>
codeValidTime=10
deviceTime=6

# **********************************************************************************************
# EMAIL
email.host=smtp.gmail.com
email.host.port=587
email.from=<email_address>
email.password=<email_password>
email.python.path=python
email.use.script.python=true

profile.cacheSize=100
profile.cacheTime=5m
locale=pt_br

Última actualización

¿Te fue útil?