1. Introdução

Esse manual descreve o procedimento de instalação e atualização dos servidores Griaule para as Aplicações Web.

Para realizar a instalação, alguns arquivos precisam estar disponíveis na máquina em que a aplicação será instalada:

  • Arquivo .war da aplicação, gbs-<app_name>-web-server-<version>.war;
  • Script de dump do banco de dados, clear-<app_name>-<DD>-<MM>-<YYYY>.sql, se estiver instalando;
  • Script de atualização do banco de dados, upgrade-<app_name>-<DD>-<MM>-<YYYY>.sql, se estiver atualizando;
  • Script do banco de dados Sphinx, clear-sphinx-<DD>-<MM>-<YYYY>.sql;
  • Pacote Apache Tomcat, tomcats-v7.tar;
  • Script de setup setup.sh;
  • Script Python auxiliar para configuração updatescript.py;
  • Scripts de Pré-Instalação: setup_webapps.sh e, opcionalmente, setup_aliases.sh se desejar criar Aliases.

Important

Se algum arquivo estiver faltando, entre em contato com a Equipe de Suporte da Griaule pelo e-mail: support@griaule.com.

Para fazer uma nova instalação, siga os seguintes passos:

  1. Verifique se o seu sistema atende aos Pré-Requisitos
  2. Faça a Pré-Instalação utilizando o script
  3. Instale a aplicação
  4. Configure a aplicação
  5. Verifique se a aplicação está sendo executada por meio dos comandos apresentados em Manuseando as Aplicações

Para atualizar uma aplicação, siga as etapas:

  1. Verifique se o seu sistema atende aos Pré-Requisitos da nova versão
  2. Atualize a aplicação através dos comandos apresentados
  3. Verifique as Configurações
  4. Verifique se a aplicação está sendo executada por meio dos comandos apresentados em Manuseando as Aplicações

2. Pré-Requisitos

See also

Para saber mais sobre os produtos do Griaule Biometric Suite (GBS), consulte Visão Geral do GBS.

3. Pré-Instalação

Alguns passos precisam ser feitos antes do processo de instalação.

Note

Se o Tomcat não estiver instalado, instale-o com o seguinte comando:

yum install tomcat -y

Tip

Em todos os comandos, lembre-se de substituir <app_name> para o nome da aplicação desejada e também <version> para a versão correspondente. O <app_name> pode ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel ou home-screen.

Primeiro, certifique-se de que o pacote Tomcats (arquivo tomcats-v7.tar) fornecido esteja disponível na máquina em que a aplicação será instalada.

Note

O pacote tomcats-v7.tar contém uma pasta para cada aplicação. A estrutura de pastas é a seguinte:

/var/lib/tomcats/
├── bcc
├── best
├── cardscan
├── control-panel
├── etr
├── home-screen
├── intelligence
├── mir
├── print
└── smart-sense

Cada pasta contém as seguintes subpastas:

/var/lib/tomcats/<app_name>/
├── conf
├── logs
├── temp
├── webapps
└── work

Danger

Se não estiver realizando uma instalação nova de todas as aplicações, NÃO extraia o pacote tomcats-v7.tar no diretório /var/lib/tomcats/ (Passo 1). Em vez disso, extraia o pacote em um diretório temporário e mova apenas a pasta da aplicação que está sendo instalada para o diretório /var/lib/tomcats/. Então, continue no Passo 2.

Passo 1: Transfira e descompacte o pacote tomcats-v7.tar no diretório /var/lib/tomcats.

mkdir -p /var/lib/tomcats && tar -xf tomcats-v7.tar -C /var/lib/tomcats

Passo 2: Faça a pré-instalação da aplicação utilizando o script setup_webapps.sh fornecido.

Para realizar este procedimento, execute o script de pré-instalação passando o nome da aplicação que se deseja instalar:

./setup_webapps.sh <app_name>

Passo 3: Configure os aliases (opcional).

Opcionalmente, se desejar criar aliases para facilitar o manuseio da aplicação, execute o seguinte script:

./setup_aliases.sh <app_name>

Então, aplique o arquivo .bashrc:

source ~/.bashrc

Esses scripts irão:

  • Criar links simbólicos do tomcat para cada serviço
  • Atualizar/modificar scripts do servidor tomcat
  • Adicionar aliases para facilitar o manuseio da aplicação

Note

Após esses passos, se o Cardscan Server e/ou ETR estiverem sendo instalados, siga os passos abaixo.

Abra o arquivo de configuração do banco de dados:

vim /etc/my.cnf

Em [mysqld], se o CardScan estiver sendo instalado, adicione a seguinte linha:

# CARDSCAN Required
max_allowed_packet=500M

Se o ETR estiver sendo instalado, adicione a seguinte linha:

# ETR Required
sql-mode=""

Se já estiver configurado, ignore este passo.

Após a conclusão dos procedimentos acima, prossiga para Instalação.

4. Instalação

Antes de iniciar o procedimento de instalação, certifique-se de que o arquivo .war da aplicação esteja disponível na máquina em que a aplicação será instalada.

Tip

Em todos os comandos, lembre-se de substituir <app_name> para o nome da aplicação desejada e também <version> para a versão correspondente. O <app_name> pode ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel ou home-screen.

Passo 1: Mova o arquivo .war da aplicação para o diretório inicial da aplicação:

mv *.war /var/lib/tomcats/<app_name>/

Passo 2: Mude para o diretório webapps da aplicação:

cd /var/lib/tomcats/<app_name>/webapps

Passo 3: Crie um link simbólico no diretório webapps para o arquivo .war da aplicação.

ln -s /var/lib/tomcats/<app_name>/gbs-<app_name>-web-server-<version>.war gbs-<app_name>-server.war

Passo 4: Mude de diretório:

cd /var/lib/

Passo 5: Altere a posse dos arquivos no diretório tomcats para o usuário tomcat:

chown -R tomcat:tomcat tomcats/

Então, prossiga com as Configurações da aplicação.

5. Atualização

Para atualizar uma aplicação, prossiga com as seguintes etapas:

Tip

Em todos os comandos, lembre-se de substituir <app_name> para o nome da aplicação desejada e também <version> para a versão correspondente. O <app_name> pode ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel ou home-screen.

Passo 1: Pare a aplicação:

systemctl stop tomcat@<app_name>.service

Passo 2: Remova os arquivos antigos:

sudo rm -rf /var/lib/tomcats/<app_name>/webapps/*

Passo 3: Coloque o arquivo .war da aplicação no diretório inicial da aplicação:

mv *.war /var/lib/tomcats/<app_name>/

Passo 4: Mude para o diretório webapps da aplicação:

cd /var/lib/tomcats/<app_name>/webapps

Passo 5: Crie um link simbólico no diretório webapps para o arquivo .war da aplicação:

ln -s /var/lib/tomcats/<app_name>/gbs-<app_name>-web-server-<version>.war gbs-<app_name>-server.war

Passo 6: Execute os dumps de atualização do banco de dados, se a release os incluir:

mysql -u root -p < <path/to/script>.sql

Tip

O script específico da aplicação geralmente é chamado upgrade-<app_name>-<DD>-<MM>-<YYYY>.sql. Pode haver mais de um script. Nesse caso, execute os outros scripts também.

Passo 7: Inicie a aplicação:

systemctl start tomcat@<app_name>.service

Passo 8: Mude para o diretório tomcats:

cd /var/lib/tomcats

Passo 9: Execute o script de setup:

/var/lib/tomcats/setup.sh <app_name>

6. Configurações

Cada componente tem sua configuração individual. Esses são apresentados em seu respectivo manual.

Tip

Em todos os comandos, lembre-se de substituir <app_name> para o nome da aplicação desejada e também <version> para a versão correspondente. O <app_name> pode ser: bcc, cardscan, etr, mir, best, intelligence, smart-sense, print, control-panel ou home-screen.

Passo 1: Execute o dump do banco de dados:

mysql -u root -p < <path/to/script>.sql

Tip

O script de dump do banco de dados específico de cada aplicação geralmente é chamado clear-<app_name>-<DD>-<MM>-<YYYY>.sql. Pode haver outro script, geralmente chamado clear-sphinx-<DD>-<MM>-<YYYY>.sql. Neste, caso, execute-o também.

Passo 2: Então, edite o arquivo config.properties:

vim /var/lib/tomcats/<app_name>/conf/config.properties

Para entender os procedimentos de configuração, consulte o manual de configuração específico:

Note

Certifique-se de que o parâmetro de configuração Connector port=<port_number> está especificado corretamente no arquivo server.xml, localizado em /var/lib/tomcats/<app_name>/conf. Para mais informações, consulte os manuais de configuração específicos para cada aplicação. As portas de conexão (Connector port=<port_number>) e shutdown (Server port=... shutdown=...) não devem ser iguais entre si ou coincidir com portas usadas por outras aplicações.

Note

Certifique-se de que os parâmetros de configuração <app_name>.ip, <app_name>.port e <app_name>.protocol estejam corretamente especificados no arquivo config.properties. O endereço IP deve coincidir com o configurado no arquivo server.xml. Em diversos casos, o IP será o mesmo para diversas aplicações. Contudo, cada aplicação possuirá uma porta diferente e única.

Passo 3: Em seguida, entre no MySQL como root:

mysql -u root -p

Passo 4: Rode a seguinte query:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Passo 5: Saia do MySQL:

exit

Passo 6: Então, inicie a aplicação.

systemctl start tomcat@<app_name>.service

Passo 7: Mude para o diretório tomcats:

cd /var/lib/tomcats

Passo 8: Se for a primeira vez rodando a aplicação, execute o script de setup:

/var/lib/tomcats/setup.sh <app_name>

Important

Se estiver instalando o SmartSense, certifique-se de que o ELK também esteja instalado. Para mais instruções, consulte o Manual de Instalação do Elastic Stack (ELK).

7. Manuseando as Aplicações

Essa seção apresenta alguns comandos para monitorar e manusear os serviços Griaule, assim como seus respectivos aliases.

7.1. Aliases

Aliases são comandos curtos definidos pelo usuário que servem como substitutos para comandos mais longos ou complexos. Eles são criados para tornar os comandos frequentemente utilizados mais convenientes de executar. Quando um alias é invocado, ele é substituído pelo comando completo que representa antes de ser executado.

Se não estiver utilizando o script setup_aliases.sh, como descrito em Pré-Instalação, é possível adicionar os aliases manualmente. Para fazer isso, edite o arquivo .bashrc raiz:

vim ~/.bashrc

E adicione os seguintes alises, de acordo com a aplicação desejada:

# ETR
alias etrstart='systemctl start tomcat@etr.service'
alias etrstop='systemctl stop tomcat@etr.service'
alias etrstatus='systemctl status tomcat@etr.service'
alias etrhome='cd /var/lib/tomcats/etr'
alias etrconf='vim /var/lib/tomcats/etr/conf/config.properties'
alias etrsetup='/var/lib/tomcats/setup.sh'
alias etrlogt='journalctl -u tomcat@etr -f'
alias etrlog='journalctl -u tomcat@etr | less'

# CARDSCAN
alias csstart='systemctl start tomcat@cardscan.service'
alias csstop='systemctl stop tomcat@cardscan.service'
alias csstatus='systemctl status tomcat@cardscan.service'
alias cshome='cd /var/lib/tomcats/cardscan'
alias csconf='vim /var/lib/tomcats/cardscan/conf/config.properties'
alias cssetup='/var/lib/tomcats/setup.sh'
alias cslogt='journalctl -u tomcat@cardscan -f'
alias cslog='journalctl -u tomcat@cardscan | less'

# BEST
alias beststart='systemctl start tomcat@best.service'
alias beststop='systemctl stop tomcat@best.service'
alias beststatus='systemctl status tomcat@best.service'
alias besthome='cd /var/lib/tomcats/best'
alias bestconf='vim /var/lib/tomcats/best/conf/config.properties'
alias bestsetup='/var/lib/tomcats/setup.sh'
alias bestlogt='journalctl -u tomcat@best -f'
alias bestlog='journalctl -u tomcat@best | less'

# INTELLIGENCE
alias intelstart='systemctl start tomcat@intelligence.service'
alias intelstop='systemctl stop tomcat@intelligence.service'
alias intelstatus='systemctl status tomcat@intelligence.service'
alias intelhome='cd /var/lib/tomcats/intelligence'
alias intelconf='vim /var/lib/tomcats/intelligence/conf/config.properties'
alias intelsetup='/var/lib/tomcats/setup.sh'
alias intellogt='journalctl -u tomcat@intelligence -f'
alias intellog='journalctl -u tomcat@intelligence | less'

# MIR
alias mirstart='systemctl start tomcat@mir.service'
alias mirstop='systemctl stop tomcat@mir.service'
alias mirstatus='systemctl status tomcat@mir.service'
alias mirhome='cd /var/lib/tomcats/mir'
alias mirconf='vim /var/lib/tomcats/mir/conf/config.properties'
alias mirsetup='/var/lib/tomcats/setup.sh'
alias mirlogt='journalctl -u tomcat@mir -f'
alias mirlog='journalctl -u tomcat@mir | less'

# BCC
alias bccstart='systemctl start tomcat@bcc.service'
alias bccstop='systemctl stop tomcat@bcc.service'
alias bccstatus='systemctl status tomcat@bcc.service'
alias bcchome='cd /var/lib/tomcats/bcc'
alias bccconf='vim /var/lib/tomcats/bcc/conf/config.properties'
alias bccsetup='/var/lib/tomcats/setup.sh'
alias bcclogt='journalctl -u tomcat@bcc -f'
alias bcclog='journalctl -u tomcat@bcc | less'

# CONTROL PANEL
alias cpstart='systemctl start tomcat@control-panel.service'
alias cpstop='systemctl stop tomcat@control-panel.service'
alias cpstatus='systemctl status tomcat@control-panel.service'
alias cphome='cd /var/lib/tomcats/control-panel'
alias cpconf='vim /var/lib/tomcats/control-panel/conf/config.properties'
alias cpsetup='/var/lib/tomcats/setup.sh'
alias cplogt='journalctl -u tomcat@control-panel -f'
alias cplog='journalctl -u tomcat@control-panel | less'

# SMARTSENSE
alias smartstart='systemctl start tomcat@smart-sense.service'
alias smartstop='systemctl stop tomcat@smart-sense.service'
alias smartstatus='systemctl status tomcat@smart-sense.service'
alias smarthome='cd /var/lib/tomcats/smart-sense'
alias smartconf='vim /var/lib/tomcats/smart-sense/conf/config.properties'
alias smartsetup='/var/lib/tomcats/setup.sh'
alias smartlogt='journalctl -u tomcat@smart-sense -f'
alias smartlog='journalctl -u tomcat@smart-sense | less'

# PRINT
alias printstart='systemctl start tomcat@print.service'
alias printstop='systemctl stop tomcat@print.service'
alias printstatus='systemctl status tomcat@print.service'
alias printhome='cd /var/lib/tomcats/print'
alias printconf='vim /var/lib/tomcats/print/conf/config.properties'
alias printsetup='/var/lib/tomcats/setup.sh'
alias printlogt='journalctl -u tomcat@print -f'
alias printlog='journalctl -u tomcat@print | less'

# HOME SCREEN
alias homestart='systemctl start tomcat@home-screen.service'
alias homestop='systemctl stop tomcat@home-screen.service'
alias homestatus='systemctl status tomcat@home-screen.service'
alias homehome='cd /var/lib/tomcats/home-screen'
alias homeconf='vim /var/lib/tomcats/home-screen/conf/config.properties'
alias homesetup='/var/lib/tomcats/setup.sh'
alias homelogt='journalctl -u tomcat@home-screen -f'
alias homelog='journalctl -u tomcat@home-screen | less'

7.2. Comandos Úteis

  • Iniciar a Aplicação
systemctl start tomcat@etr.service
systemctl start tomcat@cardscan.service
systemctl start tomcat@best.service
systemctl start tomcat@intelligence.service
systemctl start tomcat@mir.service
systemctl start tomcat@bcc.service
systemctl start tomcat@control-panel.service
systemctl start tomcat@smart-sense.service
systemctl start tomcat@print.service
systemctl start tomcat@home-screen.service

ou com o alias:

etrstart
csstart
beststart
intelstart
mirstart
bccstart
cpstart
smartstart
printstart
homestart
  • Parar a Aplicação
systemctl stop tomcat@etr.service
systemctl stop tomcat@cardscan.service
systemctl stop tomcat@best.service
systemctl stop tomcat@intelligence.service
systemctl stop tomcat@mir.service
systemctl stop tomcat@bcc.service
systemctl stop tomcat@control-panel.service
systemctl stop tomcat@smart-sense.service
systemctl stop tomcat@print.service
systemctl stop tomcat@home-screen.service

ou com o alias:

etrstop
csstop
beststop
intelstop
mirstop
bccstop
cpstop
smartstop
printstop
homestop
  • Checar o Status da Aplicação
systemctl status tomcat@etr.service
systemctl status tomcat@cardscan.service
systemctl status tomcat@best.service
systemctl status tomcat@intelligence.service
systemctl status tomcat@mir.service
systemctl status tomcat@bcc.service
systemctl status tomcat@control-panel.service
systemctl status tomcat@smart-sense.service
systemctl status tomcat@print.service
systemctl status tomcat@home-screen.service

ou com o alias:

etrstatus
csstatus
beststatus
intelstatus
mirstatus
bccstatus
cpstatus
smartstatus
printstatus
homestatus
  • Checar os Logs da Aplicação
# tail log
journalctl -u tomcat@etr -f
journalctl -u tomcat@cardscan -f
journalctl -u tomcat@best -f
journalctl -u tomcat@intelligence -f
journalctl -u tomcat@mir -f
journalctl -u tomcat@bcc -f
journalctl -u tomcat@control-panel -f
journalctl -u tomcat@smart-sense -f
journalctl -u tomcat@print -f
journalctl -u tomcat@home-screen -f

# full log
journalctl -u tomcat@etr | less
journalctl -u tomcat@cardscan | less
journalctl -u tomcat@best | less
journalctl -u tomcat@intelligence | less
journalctl -u tomcat@mir | less
journalctl -u tomcat@bcc | less
journalctl -u tomcat@control-panel | less
journalctl -u tomcat@smart-sense | less
journalctl -u tomcat@print | less
journalctl -u tomcat@home-screen | less

ou com o alias:

# tail log
etrlogt
cslogt
bestlogt
intellogt
mirlogt
bcclogt
cplogt
smartlogt
printlogt
homelogt

# full log
etrlog
cslog
bestlog
intellog
mirlog
bcclog
cplog
smartlog
printlog
homelog