Configuração do Print Server

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.

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.

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.

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.

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:"

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

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.

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

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>

Sistemas de Impressão

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

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

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

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.

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

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).

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.

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

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

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.

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

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

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

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.

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.

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

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.

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.

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

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.

Instalação de Fontes

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

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

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

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

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

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.

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.

Exemplo do Arquivo de Configuração

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

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

# 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 protected]
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

Atualizado