1. Introdução

Esse manual descreve a configuração dos componentes do lado do servidor da aplicação GBS Print.

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.

2. Configuração

Os passos para configuração são:

  1. Configure o Tomcat;
  2. Configure os certificados;
  3. Gere a senha criptografada;
  4. Configure outras propriedades no arquivo config.properties;
  5. Instale e configure os sistemas de impressão;
  6. Instale as fontes;

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.

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/print/conf/server.xml

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

A porta padrão do GBS Print é 8127.

2.2. 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="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 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.

Warning

Quando clientAuth está definido 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 passos abaixo:

  1. Vá para o seguinte diretório:

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

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

Note

Guarde a senha criptografada. Ela será usada no próximo passo.

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

Para configurar o arquivo, abra-o com:

vi /var/lib/tomcats/print/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 completo é 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.4.1. Configurações do Print

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.

print.ip=<ip>
print.port=<port>
print.protocol=<protocol>

Important

Certifique-se de que os parâmetros de configuração print.ip, print.port e print.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.

Attention

Certifique-se de que o parâmetro de configuração resizeFloat=0.3 esteja presente no arquivo de configuração (config.properties). Ela determina a porcentagem de compressão da imagem do documento a ser salva no banco de dados ao final do processo. O valor padrão é 0.3 (30% de compressão).

2.5. Sistemas de Impressão

2.5.1. Instalação do CUPS

O Common UNIX Printing System (CUPS) é um sistema de impressão para sistemas operacionais baseados em UNIX. Ele permite que um computador atue como um servidor de impressão, recebendo trabalhos de impressão de computadores clientes e enviando-os para a impressora apropriada. Para instalar o CUPS, siga os seguintes passos:

Instale o CUPS:

sudo yum install cups -y

Habilite e inicie o serviço CUPS:

sudo systemctl enable cups
sudo systemctl start cups

Então, instale a interface gráfica para o CUPS:

sudo yum install system-config-printer -y

Tip

Se o comando de instalação falhar, tente limpar o cache do yum:

sudo yum clean all

2.5.2. Configuração do CUPS

Para configurar o CUPS, edite o arquivo de configuração:

sudo vim /etc/cups/cupsd.conf

Para permitir acesso de outros computadores ao servidor CUPS, altere a seguinte linha, de:

Listen localhost:631

Para:

Listen 0.0.0.0:631

Então, para permitir acesso ao servidor, adicione a permissão Allow from all para <Location />. Para fazer isso, procure pelas seguintes linhas e mude-as da seguinte forma:

# Restrict access to the server...
<Location />
   Order allow,deny
   Allow from all
</Location>

Além disso, para permitir acesso às páginas de administração, adicione a permissão Allow from all para <Location /admin>. Para fazer isso, procure pelas seguintes linhas e mude-as da seguinte forma:

# Restrict access to the admin pages...
<Location /admin>
   Order allow,deny
   Allow from all
</Location>

Então, salve e feche o arquivo de configuração.

Finalmente, para aplicar as mudanças, reinicie o serviço CUPS:

sudo systemctl restart cups

2.5.3. Instalação do HPLIP (Driver de Impressoras HP)

O HP Linux Imaging and Printing (HPLIP) é uma solução gratuita e de código aberto desenvolvida pela HP para impressão no Linux usando impressoras HP. Para instalar o HPLIP, execute:

sudo yum install hplip -y

Então, crie um grupo para administração de impressoras:

sudo groupadd lpadmin

Finalmente, adicione o usuário root ao grupo lpadmin:

sudo usermod -a -G lpadmin root

2.5.4. Configuração de Impressoras

Primeiro, inicie o serviço de busca de impressoras da rede executando:

sudo systemctl enable cups-browsed.service
sudo systemctl start cups-browsed.service
sudo systemctl status cups-browsed.service

Em seguida, acesse a interface web do CUPS em http://<server_ip>:631 usando um navegador.

../../../../_images/cups_web_gui1.png

No menu superior, clique na aba Administration e depois no botão Add Printer.

../../../../_images/cups_administration_tab1.png

Se uma mensagem aparecer dizendo que uma atualização é necessária, clique na URL exibida, depois no botão Advanced e em Proceed to https://<server_ip>:631 (unsafe).

../../../../_images/cups_upgrade_required1.png

Ao retornar à interface web do CUPS, clique no botão Add Printer novamente e, se solicitado, faça login com as credenciais de usuário root do servidor.

../../../../_images/cups_sign_in1.png

Na página Add Printer, na seção Local Printers, selecione HP Printer (HPLIP) e clique no botão Continue.

../../../../_images/cups_add_printer_page1.png

Em seguida, na seção Connection, insira socket://<printer_IP> e clique no botão Continue.

../../../../_images/cups_add_printer_connection1.png

Então, insira um Name, Description e Location para a impressora, seguindo as instruções na página para cada campo, e clique no botão Continue.

../../../../_images/cups_add_printer_details1.png

Na seção Make, selecione o fabricante da impressora e clique no botão Continue.

../../../../_images/cups_add_printer_make1.png

Em seguida, na seção Model, selecione o modelo da impressora na lista e clique no botão Add Printer.

../../../../_images/cups_add_printer_model1.png

Então, verifique as configurações padrão da impressora e certifique-se de que elas se adequam ao ambiente.

Tip

Certifique-se de selecionar o tamanho de papel correto na seção General / Media Size.

../../../../_images/cups_printer_default_options1.png

Finalmente, clique no botão Set Default Options para salvar as configurações da impressora. Se tudo funcionar como esperado, uma mensagem aparecerá dizendo que a impressora foi adicionada com sucesso e você será redirecionado para a página da impressora.

../../../../_images/cups_printer_added1.png

2.5.5. CUPS PDF (opcional)

O CUPS PDF fornece uma maneira de imprimir em um arquivo PDF. É recomendado para fins de teste.

Para instalar o CUPS PDF, execute:

sudo yum install cups-pdf -y

O caminho padrão para salvar os arquivos PDF é /root. Para mudar o caminho, edite o arquivo de configuração do CUPS PDF:

Então, edite o arquivo de configuração do CUPS PDF:

vim /etc/cups/cups-pdf.conf

Em Path Settings, mude o parâmetro Out <path> para o caminho desejado.

Em seguida, acesse a interface web do CUPS em http://<server_ip>:631 usando um navegador.

No menu superior, clique na aba Administration e depois no botão Add Printer.

../../../../_images/cups_administration_tab1.png

Na página Add Printer, na seção Local Printers, selecione CUPS-PDF (Virtual PDF Printer) e clique no botão Continue.

../../../../_images/cups_add_cups_pdf_printer1.png

Então, insira um Name, Description e Location para a impressora, seguindo as instruções na página para cada campo, e clique no botão Continue.

../../../../_images/cups_add_virtual_printer_details1.png

Em seguida, na seção Or Provide a PPD File, clique no botão Choose File e selecione o arquivo Cups-PDF.ppd. Esse arquivo .ppd pode ser encontrado no diretório /etc/cups/ppd/ do servidor onde o CUPS PDF está instalado. Então, clique no botão Add Printer.

../../../../_images/cups_add_virtual_printer_ppd1.png

Verifique as configurações padrão da impressora e certifique-se de que elas se adequam ao ambiente.

Tip

Certifique-se de selecionar o tamanho de papel correto na seção General / Media Size.

../../../../_images/cups_virtual_printer_default_options1.png

Finalmente, clique no botão Set Default Options para salvar as configurações da impressora. Se tudo funcionar como esperado, uma mensagem aparecerá dizendo que a impressora foi adicionada com sucesso e você será redirecionado para a página da impressora.

../../../../_images/cups_virtual_printer_added1.png

2.6. Instalação de Fontes

A aplicação utiliza três fontes que devem ser instaladas: Arial, OCR-B-10 BT e Tahoma Bold.

2.6.1. Arial

Primeiro, verifique se a fonte já está instalada:

fc-list | grep arial

Se a fonte não estiver instalada (resultado vazio), baixe a fonte:

wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm

Em seguida, instale-a:

rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm

Verifique se a fonte foi instalada com sucesso:

fc-list | grep arial

Você pode então remover o arquivo .rpm baixado:

rm msttcore-fonts-2.0-3.noarch.rpm

2.6.2. OCR-B-10 BT

Primeiro, certifique-se de estar logado como root.

Em seguida, verifique se a fonte já está instalada:

fc-list | grep ocr

Se a fonte não estiver instalada (resultado vazio), crie um diretório ocrb em /usr/share/fonts/:

mkdir /usr/share/fonts/ocrb

Important

Para os passos seguintes, você deve ter o arquivo .ttf da fonte OCR-B-10 BT. Baixe-o de uma fonte confiável ou copie-o de outra máquina.

Transfira o arquivo da fonte para o servidor e mova-o para o diretório /usr/share/fonts/ocrb.

Em seguida, execute:

fc-cache -f /usr/share/fonts/

Finalmente, verifique se a fonte foi instalada com sucesso:

fc-list | grep ocr

2.6.3. Tahoma Bold

Primeiro, certifique-se de estar logado como root.

Em seguida, verifique se a fonte já está instalada:

fc-list | grep tahoma

O resultado deve incluir Tahoma:style=Bold. Se a fonte não estiver instalada, crie um diretório tahomabd em /usr/share/fonts/:

mkdir /usr/share/fonts/tahomabd

Important

Para os passos seguintes, você deve ter o arquivo .ttf da fonte Tahoma Bold. Baixe-o de uma fonte confiável ou copie-o de outra máquina.

Transfira o arquivo da fonte para o servidor e mova-o para o diretório /usr/share/fonts/tahomabd.

Em seguida, execute:

fc-cache -f /usr/share/fonts/

Finalmente, verifique se a fonte foi instalada com sucesso:

fc-list | grep tahoma

O resultado deve incluir Tahoma:style=Bold.

3. Finalizando as Configurações

Após todos os passos de configuração estarem completos, retorne ao 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.

Warning

Os parâmetros <rdb_ip>, <rdb_username>, <rdb_encrypted_password>, <gbds_ip>, <gbds_username>, <gbds_password>, <ldap_ip>, <ldap_username>, <ldap_password>, <email_password>, <print_ip> e <print_service_ip> devem ser substituídos pelos valores corretos.

# ************************************************************
#
#        /$$$$$$$  /$$$$$$$  /$$$$$$ /$$   /$$ /$$$$$$$$
#       | $$__  $$| $$__  $$|_  $$_/| $$$ | $$|__  $$__/
#       | $$  \ $$| $$  \ $$  | $$  | $$$$| $$   | $$
#       | $$$$$$$/| $$$$$$$/  | $$  | $$ $$ $$   | $$
#       | $$____/ | $$__  $$  | $$  | $$  $$$$   | $$
#       | $$      | $$  \ $$  | $$  | $$\  $$$   | $$
#       | $$      | $$  | $$ /$$$$$$| $$ \  $$   | $$
#       |__/      |__/  |__/|______/|__/  \__/   |__/
#
# ************************************************************

# GBS Print Server

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://<rdb_ip>:3306/print
jdbc.username=<rdb_username>
jdbc.password=<rdb_encrypted_password>
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false

locale=en_us

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=

gbds.latent.search.url=null
gbds.proxy.url=null
gbds.proxy.port=0

keystore.path=null
keystore.password=null
truststore.path=null
truststore.password=null

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=ldap://<ldap_ip>:389
ldap.user=<ldap_username>
ldap.password=<ldap_password>

codeValidTime=10
deviceTime=6

email.host=smtp.gmail.com
email.host.port=587
email.password=<email_password>
email.from=bravonotifier@gmail.com
email.python.path=python
email.use.script.python=true

# Print back on front/back layouts
ci.printBack=true

# Timeout in seconds to force a print job even if queue has not enough cis to print
queue.timeout=-1

# Station
station.initials=SEDE

batchSizes=FOUR_CI:8

defaultStation=SEDE
forceDefaultStationPrinting=true
print.service.on=true
print.mirror.page=true

#printService.url=http://<print_service_ip>:8090/gbs-print-service/service/
printService.logLevel=DEBUG
printService.timeout=300

#autoPrint=FOUR_CI:true,TWO_CF:false,ONE_CI:true,TWO_CA:false,TWO_CC:false,ONE_CS:false

print.ip=<print_ip>
print.port=8127
print.protocol=http

resizeFloat=0.3