Instalação do GBS Web Apps

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.

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

Pré-Requisitos

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

Pré-Instalação

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

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

yum install tomcat -y

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.

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

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

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.

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.

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.

Atualização

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

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

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>

Configurações

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

Passo 1: Execute o dump do banco de dados:

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

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:

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.

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>

Manuseando as Aplicações

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

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 [email protected]'
alias etrstop='systemctl stop [email protected]'
alias etrstatus='systemctl status [email protected]'
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 [email protected]'
alias csstop='systemctl stop [email protected]'
alias csstatus='systemctl status [email protected]'
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 [email protected]'
alias beststop='systemctl stop [email protected]'
alias beststatus='systemctl status [email protected]'
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 [email protected]'
alias intelstop='systemctl stop [email protected]'
alias intelstatus='systemctl status [email protected]'
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 [email protected]'
alias mirstop='systemctl stop [email protected]'
alias mirstatus='systemctl status [email protected]'
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 [email protected]'
alias bccstop='systemctl stop [email protected]'
alias bccstatus='systemctl status [email protected]'
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 [email protected]'
alias cpstop='systemctl stop [email protected]'
alias cpstatus='systemctl status [email protected]'
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 [email protected]'
alias smartstop='systemctl stop [email protected]'
alias smartstatus='systemctl status [email protected]'
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 [email protected]'
alias printstop='systemctl stop [email protected]'
alias printstatus='systemctl status [email protected]'
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 [email protected]'
alias homestop='systemctl stop [email protected]'
alias homestatus='systemctl status [email protected]'
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'

Comandos Úteis

  • Iniciar a Aplicação

systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]
systemctl start [email protected]

ou com o alias:

etrstart
csstart
beststart
intelstart
mirstart
bccstart
cpstart
smartstart
printstart
homestart
  • Parar a Aplicação

systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]
systemctl stop [email protected]

ou com o alias:

etrstop
csstop
beststop
intelstop
mirstop
bccstop
cpstop
smartstop
printstop
homestop
  • Checar o Status da Aplicação

systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]
systemctl status [email protected]

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

Atualizado