1. 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 solo después de la etapa de instalación. Para obtener más información, consulte el Manual de Instalación de GBS Apps.

2. Configuración

Los pasos para la configuración son:

  1. Configure Tomcat;
  2. Configure los certificados;
  3. Genere la contraseña encriptada;
  4. Configure otras propiedades en el archivo config.properties;
  5. Instale y configure Nginx;
  6. Configure los permisos;
  7. Configure el logotipo del cliente;

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

Danger

Todas las líneas deben estar presentes en el archivo de configuración. Comentar o eliminar líneas puede causar comportamientos inesperados. Para información adicional, contacte al Equipo de Soporte de Griaule.

2.1. Configuración de Tomcat

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

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

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

El puerto predeterminado de GBS Home Screen es 8128.

2.2. Configuración de Certificados

Para habilitar la 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" requerirá autenticación del servidor al cliente y del cliente al servidor. Esto significa que el cliente deberá importar el certificado en el navegador para poder acceder a la aplicación.

Warning

Cuando clientAuth está configurado como true, el administrador del sistema debe proporcionar el archivo certificate.pfx a los usuarios finales.

2.3. Encriptación de la Contraseña de la Base de Datos

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

Note

Si el directorio /var/lib/tomcats/home-screen/webapps/gbs-home-screen-server/WEB-INF/lib no existe, inicie la aplicación (systemctl start tomcat@home-screen.service) una vez para que el directorio sea creado. Luego, detenga la aplicación (systemctl stop tomcat@home-screen.service) y continúe con 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 encriptada aparecerá después del mensaje: “Encrypted password is:”

Note

Guarde la contraseña encriptada. Se utilizará en el próximo paso.

2.4. 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.url. Configúrelos 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.

Note

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

2.4.1. Configuraciones de Home Screen

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

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

Important

Asegúrese de que los parámetros de configuración home-screen.ip, home-screen.port y home-screen.protocol estén correctamente especificados en el archivo config.properties. En muchos casos, la IP será la misma para varias aplicaciones. Sin embargo, cada aplicación tendrá un puerto diferente y único.

2.5. Nginx

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

2.5.1. Instalación de Nginx

Note

Si Nginx ya está instalado, omita la sección Configuración de Nginx.

Instale Nginx:

sudo yum install nginx -y

Inicie Nginx:

sudo systemctl start nginx

2.5.2. Configuración de Nginx

Habilite Nginx para que se inicie con el sistema:

sudo systemctl enable nginx

Danger

Si Nginx ya estaba instalado, verifique si ya existe un archivo de configuración en el directorio /etc/nginx/conf.d/. Si existe, verifique en el archivo si el server block está configurado para el puerto 80 (listen 80) y para el mismo server_name del host de GBS Home Screen. Si es así, omita las instrucciones para crear un nuevo archivo de configuración y agregue las configuraciones a continuación al archivo existente.

Luego, cree un archivo de configuración para Nginx:

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

Agregue la siguiente información al archivo. En server, reemplace <ip_hostname_or_domain> con la IP, nombre de host o dominio del servidor:

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

Luego, 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> con los valores correctos:

Tip

El <app_name> puede ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel o home-screen.

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, que contiene rutas para todas las aplicaciones, utilizando sus puertos predeterminados. Reemplace <ip_hostname_or_domain>, <protocol> y <app_name_ip> con 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 de Nginx:

sudo systemctl reload nginx

2.6. Permisos

Para que los íconos de las aplicaciones aparezcan en Home Screen, es necesario que el usuario tenga los permisos necesarios. Cada permiso otorgado al usuario (a través de la integración LDAP) corresponde a una aplicación, según la siguiente tabla:

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

2.7. Logotipo del cliente

En la esquina superior derecha de las aplicaciones web, es posible agregar el logotipo del cliente.

Note

Esto es una configuración de entorno. Por lo tanto, todos los usuarios que accedan a la aplicación verán el mismo logotipo.

../../../../_images/logo1.png

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

Important

Las dimensiones del logotipo deben ser de 320x132 píxeles para que toda el área sea cubierta. Si la imagen es más grande, más pequeña o en otra proporción, se redimensionará y el área restante se llenará con el color blanco.

El formato de imagen debe ser preferiblemente PNG o JPG.

../../../../_images/logo_config1.png

3. Acceso a la aplicación

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

El formato de la URL de acceso es:

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

Tip

El <app_name> puede ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel o home-screen.

Ejemplos:


Error

Si las aplicaciones no se acceden a través de la URL en el formato descrito anteriormente (sin puerto), es decir, si se acceden usando directamente sus puertos, el inicio de sesión único (SSO) no funcionará y se deberá iniciar sesión en cada aplicación por separado.

4. Finalizando las Configuraciones

Después de completar todos los pasos de configuración, regrese al Manual de Instalación de GBS Apps - Sección de Configuración.

5. Ejemplo del Archivo de Configuración

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

Warning

Los parámetros <rdb_ip>, <rdb_username>, <rdb_encrypted_password>, <gbds_ip>, <gbds_username>, <gbds_password>, <home_screen_ip>, <protocol>, <keystore_path>, <keystore_password>, <truststore_path>, <truststore_password>, <ldap_ip>, <ldap_username>, <ldap_password>, <email_password> y <email_address> deben ser reemplazados por los valores adecuados.

# **********************************************************************************************
#
#      /$$   /$$  /$$$$$$  /$$      /$$ /$$$$$$$$
#     | $$  | $$ /$$__  $$| $$$    /$$$| $$_____/
#     | $$  | $$| $$  \ $$| $$$$  /$$$$| $$
#     | $$$$$$$$| $$  | $$| $$ $$/$$ $$| $$$$$
#     | $$__  $$| $$  | $$| $$  $$$| $$| $$__/
#     | $$  | $$| $$  | $$| $$\  $ | $$| $$
#     | $$  | $$|  $$$$$$/| $$ \/  | $$| $$$$$$$$
#     |__/  |__/ \______/ |__/     |__/|________/
#
#       /$$$$$$   /$$$$$$  /$$$$$$$  /$$$$$$$$ /$$$$$$$$ /$$   /$$
#      /$$__  $$ /$$__  $$| $$__  $$| $$_____/| $$_____/| $$$ | $$
#     | $$  \__/| $$  \__/| $$  \ $$| $$      | $$      | $$$$| $$
#     |  $$$$$$ | $$      | $$$$$$$/| $$$$$   | $$$$$   | $$ $$ $$
#      \____  $$| $$      | $$__  $$| $$__/   | $$__/   | $$  $$$$
#      /$$  \ $$| $$    $$| $$  \ $$| $$      | $$      | $$\  $$$
#     |  $$$$$$/|  $$$$$$/| $$  | $$| $$$$$$$$| $$$$$$$$| $$ \  $$
#      \______/  \______/ |__/  |__/|________/|________/|__/  \__/
#
# **********************************************************************************************
# 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