Configuração do Home Screen Server
Introdução
Esse manual descreve a configuração dos componentes do lado do servidor da aplicação GBS Home Screen.
O procedimento de configuração deve ser realizado somente após a etapa de instalação. Para mais informações, consulte o Manual de Instalação do GBS Apps.
Configuração
Os passos para configuração são:
Todos os passos estão descritos abaixo. Um exemplo do arquivo config.properties
pode ser encontrado na seção Exemplo do Arquivo de Configuração.
Todas as linhas devem estar presentes no arquivo de configuração. Comentar ou deletar linhas pode causar comportamentos inesperados. Para informações adicionais, contate o Time de Suporte da Griaule.
Configuração do Tomcat
Edite o arquivo de configuração do Tomcat para configurar os certificados e a porta que a aplicação usará.
vim /var/lib/tomcats/home-screen/conf/server.xml
Para mudar a porta, procure por Connector port=
. Essa é a porta para operações backend.
A porta padrão do GBS Home Screen é 8128
.
Configuração de Certificados
Para habilitar autenticação SSL, procure por Connector port=
no arquivo /conf/server.xml
.
Há várias entradas. Procure pela que define um SSL HTTP/1.1 Connector. Se necessário, remova os delimitadores de comentário <!--
e -->
. Em seguida, ajuste as seguintes configurações:
port="8127"
keystoreFile="/home/griaule/keystore"
keystorePass="password"
keyAlias="1"
clientAuth="true"
truststoreFile="/home/griaule/keystore"
truststorePass="password"
O parâmetro port
deve ser a porta de rede desejada para a aplicação.
Mude o caminho de keystoreFile
e truststoreFile
para os valores corretos. Faça o mesmo para keystorePass
e truststorePass
.
O parâmetro clientAuth="true"
irá requerer autenticação do servidor para o cliente e do cliente para o servidor. Isso significa que o cliente necessitará importar o certificado no navegador para poder acessar a aplicação.
Quando clientAuth
está definido como true
, o administrador do sistema deve fornecer o arquivo certificate.pfx
para os usuários finais.
Criptografia da senha do Banco de Dados
No arquivo config.properties
, o parâmetro jdbc.password
é uma senha criptografada. Para gerar a senha criptografada, siga os passos abaixo:
Acesse o seguinte diretório:
cd /var/lib/tomcats/home-screen/webapps/gbs-home-screen-server/WEB-INF/lib
Execute o comando:
java -cp gbs-common-db-<version>.jar com.griaule.commons.util.EncryptUtil <desiredPassword>
A senha criptografada aparecerá após a mensagem: "Encrypted password is:"
Arquivo de Configuração da Aplicação
Abra o arquivo de configuração:
vim /var/lib/tomcats/home-screen/conf/config.properties
Algumas mudanças importantes nesse arquivo são os parâmetros jdbc.url
, jdbc.username
, jdbc.password
e gbds.url
. Configure-os de acordo com seu ambiente.
Um exemplo do arquivo de configuração completo é mostrado na seção Exemplo do Arquivo de Configuração.
Configurações do Home Screen
Em seguida, configure o IP, a porta e o protocolo de acesso à aplicação. O IP e porta devem ser os mesmos configurados na seção Configuração do Tomcat.
home-screen.ip=<ip>
home-screen.port=<port>
home-screen.protocol=<protocol>
Certifique-se de que os parâmetros de configuração home-screen.ip
, home-screen.port
e home-screen.protocol
estejam corretamente especificados no arquivo config.properties
. Em diversos casos, o IP será o mesmo para diversas aplicações. Contudo, cada aplicação possuirá uma porta diferente e única.
Nginx
Instale e configure o Nginx para que o GBS Home Screen funcione com login único (SSO) junto às demais aplicações.
Instalação do Nginx
Instale o Nginx:
sudo yum install nginx -y
Inicie o Nginx:
sudo systemctl start nginx
Configuração do Nginx
Habilite o Nginx para iniciar com o sistema:
sudo systemctl enable nginx
Se o Nginx já estava instalado, verifique se um arquivo de configuração já existe no diretório /etc/nginx/conf.d/
. Se existir, verifique no arquivo se o server block está configurado para a porta 80 (listen 80
) e para o mesmo server_name
do host do GBS Home Screen. Em caso afirmativo, pule as instruções de criação de um novo arquivo de configuração e adicione as configurações abaixo ao arquivo existente.
Em seguida, crie um arquivo de configuração para o Nginx:
sudo vim /etc/nginx/conf.d/web-apps.conf
Adicione as seguintes informações ao arquivo. Em server, substitua <ip_hostname_or_domain>
pelo IP, hostname ou domínio do servidor:
server {
listen 80;
server_name <ip_hostname_or_domain>;
client_max_body_size 50M;
}
Em seguida, ainda em server, adicione um bloco de configuração para cada aplicação, mapeando-a para seu IP e porta. Substitua <app_name>
, <protocol>
, <app_name_ip>
e <app_name_port>
pelos valores corretos:
O <app_name>
pode ser: bcc
, cardscan
, etr
, mir
, best
, intelligence
, smart-sense
, print
, control-panel
ou 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;
}
Exemplo de arquivo de configuração completo do Nginx, contendo rotas para todas as aplicações, utilizando suas portas padrão. Substitua <ip_hostname_or_domain>
, <protocol>
e <app_name_ip>
pelos valores corretos:
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;
}
}
Salve e feche o arquivo de configuração.
Finalmente, recarregue as configurações do Nginx:
sudo systemctl reload nginx
Permissões
Para que os ícones das aplicações apareçam na Home Screen, é necessário que o usuário possua as permissões necessárias. Cada permissão concedida ao usuário (via integração LDAP) corresponde a uma aplicação, conforme a tabela abaixo:
BCC
bccdesktop_user
CardScan
cardscan_user
ETR
exception_treatment_user
MIR
quality_control_user
BEST
forensic_user
Intelligence
intelligence_user
SmartSense
smartsense_user
printservice_user
Control Panel
controlpanel_user
Logotipo do cliente
No canto superior direito dos web apps, é possível adicionar o logotipo do cliente.

Para isso, na tabela sphinx.settings
do banco de dados, crie ou altere a configuração organization.logo
(type APPS
) para o caminho do logotipo desejado. É necessário que a aplicação (usuário tomcat
) tenha acesso de leitura ao arquivo para poder carregá-lo.
As dimensões do logotipo devem ser de 320x132 pixels para que toda a área seja preenchida. Se a imagem for maior, menor ou em outra proporção, ela será redimensionada e a área restante será preenchida com a cor branca.
O formato de imagem deve ser preferencialmente PNG ou JPG.

Acesso à aplicação
O GBS Home Screen, assim como as demais aplicações, deve ser acessado sem o uso da porta, uma vez que o Nginx irá redirecionar automaticamente a requisição para a porta correta. Assim, ao realizar um único login (SSO), o usuário terá acesso a todas as aplicações que possui permissão para utilizar.
O formato da URL de acesso é:
<protocol>://<ip_or_domain>/gbs-<app_name>-server/react/
^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^
O <app_name>
pode ser: bcc
, cardscan
, etr
, mir
, best
, intelligence
, smart-sense
, print
, control-panel
ou home-screen
.
Exemplos:
GBS Home Screen: http://172.16.0.185/gbs-home-screen-server/react/
GBS Home Screen: https://my.server.com/gbs-home-screen-server/react/
GBS CardScan: https://my.server.com/gbs-cardscan-server/react/
Caso as aplicações não sejam acessadas pela URL no formato descrito acima (sem porta), isto é, se forem acessadas usando suas portas diretamente, o login único (SSO) não funcionará e deverá ser feito login em cada aplicação separadamente.
Finalizando as Configurações
Após finalizar todos os passos de configuração, retorne ao Manual de Instalação do GBS Apps - Seção de Configuração.
Exemplo do Arquivo de Configuração
Essa seção mostra um exemplo do arquivo config.properties
.
Os 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>
e <email_address>
devem ser substituídos pelos valores adequados.
# **********************************************************************************************
#
# /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$$$
# | $$ | $$ /$$__ $$| $$$ /$$$| $$_____/
# | $$ | $$| $$ \ $$| $$$$ /$$$$| $$
# | $$$$$$$$| $$ | $$| $$ $$/$$ $$| $$$$$
# | $$__ $$| $$ | $$| $$ $$$| $$| $$__/
# | $$ | $$| $$ | $$| $$\ $ | $$| $$
# | $$ | $$| $$$$$$/| $$ \/ | $$| $$$$$$$$
# |__/ |__/ \______/ |__/ |__/|________/
#
# /$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$$$ /$$$$$$$$ /$$ /$$
# /$$__ $$ /$$__ $$| $$__ $$| $$_____/| $$_____/| $$$ | $$
# | $$ \__/| $$ \__/| $$ \ $$| $$ | $$ | $$$$| $$
# | $$$$$$ | $$ | $$$$$$$/| $$$$$ | $$$$$ | $$ $$ $$
# \____ $$| $$ | $$__ $$| $$__/ | $$__/ | $$ $$$$
# /$$ \ $$| $$ $$| $$ \ $$| $$ | $$ | $$\ $$$
# | $$$$$$/| $$$$$$/| $$ | $$| $$$$$$$$| $$$$$$$$| $$ \ $$
# \______/ \______/ |__/ |__/|________/|________/|__/ \__/
#
# **********************************************************************************************
# 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
Atualizado