1. Introdução

Esse manual descreve a configuração dos componentes do lado do servidor do GBS BEST Server.

O procedimento de configuração deve ser feito somente depois do passo de instalação. Para mais informações, consulte o Manual de Instalação do GBS Apps.

2. Configuração

Os passos de configuração são:

  1. Configure o Tomcat;
  2. Configure os Certificados;
  3. Gere a senha criptografada;
  4. Finalize as configurações no arquivo config.properties.

Todos os passos são descritos abaixo. Um exemplo do arquivo config.properties pode ser visto na seção Exemplo do Arquivo de Configuração.

Danger

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.

2.1. Configuração do Tomcat

Edite o arquivo de configuração do Tomcat para configurar os certificados e a porta que a aplicação usará.

vi /var/lib/tomcats/best/conf/server.xml

Para mudar a porta, procure por connector port=. Essa é a porta para operações backend.

2.2. Configuração de Certificados

Para habilitar autenticação SSL, procure por connector port= no arquivo /conf/server.xml.

Existem duas entradas. A comentada é a configuração para SSL. Remova os delimitadores de comentários <!-- e -->, então ajuste os seguintes parâmetros:

port="58194"
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 do keystoreFile e o truststoreFile para os valores apropriados. Faça o mesmo para o keystorePass e o 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.

Warning

Quando clientAuth é definida como true, o administrador do sistema deve fornecer o arquivo certificate.pfx para os usuários finais.

2.3. 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 seguintes passos:

  1. Vá para o seguinte diretório:

    cd /var/lib/tomcats/best/webapps/gbs-best-server/WEB-INF/lib
    
  2. Execute o comando:

    java -cp gbs-common-db-<versão>.jar com.griaule.commons.util.EncryptUtil <senhaDesejada>
    
  3. A senha criptografada aparecerá depois da mensagem: “Encrypted password is:”

Note

Guarde a senha criptografada. Ela será usada em configurações posteriores.

2.4. Filtro de Busca por Rótulos

Algumas configurações BEST podem ser feitas através dos bancos de dados, como os dos rótulos para filtro de pesquisa. Essa configuração é uma lista de rótulos que o usuário pode selecionar na configuração de pesquisa de fragmentos para restringir a lista de candidatos.

Para configurar os rótulos desejados, você precisa incluir os rótulos na linha search.labels na tabela sphinx.settings. Observe que os rótulos devem ser separados por vírgula.

Esses rótulos ficarão visíveis para todos os usuários do BEST.

2.5. Arquivo de Configuração da Aplicação

Para configurar o arquivo, abra-o com:

vi /var/lib/tomcats/best/conf/config.properties

As mudanças mais importantes nesse arquivo são os parâmetros jdbc.url, jdbc.username, jdbc.password e gbds.url. Configure-os de acordo com seu ambiente.

O arquivo de configuração completa é mostrado na seção Exemplo do Arquivo de Configuração

Note

Lembre-se de substituir a senha criptografada gerada na seção Criptografia da senha do Banco de Dados neste arquivo.

2.5.1. Rótulo de Segregação de Caso

É possível segregar os casos que um usuário vê no software. Para fazer isso, você precisa adicionar uma permissão nas configurações do LDAP.

Dentro de um grupo de usuários no LDAP, adicione o rótulo no formato best_org_{rotulo}, ex. best_org__MG. Novos casos criados por usuários deste grupo terão este rótulo e o caso será visível apenas para usuários com as permissões corretas para visualizar casos com esse rótulo.

Note

Casos criados antes da adição dos rótulos não serão modificados.

2.5.2. Uso de vários nós

O BEST pode ser usado em mais de um nó de servidor. Para permitir isso, o servidor mestre deve ter a configuração poolingUL.active definido como true, e outros nós devem tê-la definido como false.

Important

Lembre-se de definir um balanceamento de carga entre os nós se estiver usando este método.

2.5.3. Configurações do BEST

O último passo é configurar o IP e a porta da aplicação que o usuário final irá acessar. Ele deve ser o mesmo IP e porta configurado na seção Configuração do Tomcat.

best.ip=http://<ip>
best.port=<port>

Important

É possível usar https na configuração best.ip

3. Finalizando as Configurações

Após completar todos os passos de configuração, volte para o Manual de Instalação do GBS Apps - Seção de Configuração.

4. Exemplo do Arquivo de Configuração

Essa seção mostra um exemplo do arquivo config.properties.

# GBS BEST Server

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.0.200:3306/forensic?useSSL=false
jdbc.username=root
jdbc.password=CDrt8vbewA2YAubPNOLZkw==
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false

# GBDS connection
gbds.url=http://192.168.0.200:8085
gbds.user=admin
gbds.key=griaule123
gbds.logLevel=DEBUG

session.expirationTime=8h
same.user.simultaneous.login=true

locale=en_us

fingerprint.useSDK=true
useLatentExtrator.fingerprint=true
useLatentExtrator.palmprint=false

image.convert.useJnbis=false

poolingSearch.active=true
poolingSearch.time=5

poolingUL.active=true
poolingUL.time=300

extratorServer.firstPort=8100
extratorServer.processNumber=4

faceQuality.qtdeMinErrors=2

session.expirationTime=8h

server.standalone.port=8085

best.ip=
best.port=

# Path to save the videos (the face detection and extraction service needs to access this path)
fileDir=/var/lib/apache-tomcat-best/videos

# Endpoint for face detection/extraction service
detect.group.url=http://172.16.0.70:8127/v1/detection/

# Number of best faces desired for each identify (at least 1)
detect.numberBestFaces=5

# Number of threads (BEST server will import and search the faces in parallel)
identity.threadSize=4

# Frame detection step. If 3, only 1 out of 3 frames will be considered
detect.framesStep=3

# Faces must appear in at least this number of frames to be considered valid
detect.framesAppearingFilter=30

# Facelib match threshold
detect.matchThreshold=65