JASmine - Gerenciamento e controle de impressões

Neste post vamos continuar com o assunto sobre gerenciamento de impressões com a utilização de software livre, dando prosseguimento ao CUPS, já descrito em posts anteriores, juntamente com a ferramenta JASmine.

[ Hits: 70.222 ]

Por: Lucas de Souza Rodrigues em 01/10/2010


Instalação dos serviços - JASmine



Após executar os procedimentos acima, com os aplicativos rodando corretamente (CUPS + PHP + MySQL), vamos executar os serviços para que o JASmine possa interagir com o CUPS, transmitir uma reposta via Web pelo PHP e armazenar dados no banco de dados MySQL.

1) Acessar o site do JASmine e fazer o download dos pacotes necessários para esta operação:

Pacotes JASmine:
Onde:
  • Jasmine-MySQL, cria um banco em seu servidor de banco de dados MySQL.
  • Jasmine-Backend, este é o backend CUPS; script adicional em seu servidor de impressão.
  • Jasmine-Web, a interface Web.

Jasmine-MySQL

Vamos agora criar um banco de dados no MySQL:

# mysql -u root -p
Enter password: (Entre com a senha usuário root)

Feito isso crie uma base de dados com um nome qualquer, de preferência print, impressão, jasmine etc para referenciar o projeto em estudo.

mysql> create database print;

Caso apareça esta mensagem, tudo OK - base de dados criada com sucesso!

Query OK, 1 row affected (0.00 sec)

Criar também um usuário no banco de dados para manipular essa base e ter acesso privilegiado para que você não tenha que fazer procedimentos com o usuário root toda hora.

Você pode adicionar novos usuários utilizando instruções GRANT:

mysql> GRANT ALL PRIVILEGES ON *.* TO jasmine@localhost IDENTIFIED BY "alguma_senha" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO jasmine@'%' IDENTIFIED BY "alguma_senha" WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

Ou ainda segue o link para inserção de usuário no MySQL completo:
Com o arquivo que você baixou (JASmine-MySQL-VERSÃO.tar.bz2), extraia ele e execute a query do arquivo nesta base de dados que você criou.

# tar -zvjf JASmine-MySQL-VERSÃO.tar.bz2
# cd JASmine-MySQL-VERSÃO
# mysql -u root -p print < jasmine.sql


JASmine Backend

Descompacte o arquivo JASmine-Backend-VERSÃO.tar.bz2:

# tar -xvjf JASmine-Backend-VERSÃO.tar.bz2
# cd JASmine-Backend-VERSÃO


Dentro da pasta JASmine-Backend existe um aplicativo que deve ser instalado utilizando Python, o chamado pkpgcounter. Este aplicativo/programa é responsável por fazer a contagem de folhas e impressões realizadas dentro de um servidor CUPS.

# tar -xvzf pkpgcounter-VERSÃO.tar.gz
# cd pkpgcpunter-VERSÃO
# python setup.py install


No mesmo diretório /JASmine-Backend também se encontra um arquivo em Perl chamado "jasmine" e deve ser copiado para o diretório da instalação do CUPS. Neste arquivo encontram-se algumas informações de controle para a execução e integração entre os aplicativos (CUPS + MySQL + PHP).

# cp jasmine /usr/lib/cups/backend/
# cd /usr/lib/cups/backend
# chmod 755 jasmine
(modificando permissões)
# chown root jasmine (modificando dono)

Depois de copiar o arquivo para o diretório da instalação CUPS, modifique algumas linhas do arquivo "jasmine":

1) Procure as informações sobre o banco de dados e altere as linhas conforme as informações da sua base de dados.

# vi jasmine

Dentro do arquivo edite:

my $DBhost="localhost";
my $DBlogin="jasmine";
my $DBpassword="senha";
my $Dbdatabase="print";

2) Você pode também deixar ativo ou não o modo debug do serviço alterando o valor dentro deste mesmo arquivo no campo:

my $Debug_Mode=0; #Desativado ou 1 ativado

JASmine-Web

Neste passo seguem as instruções para levantar a página web onde o JASmine converte as informações coletadas no processo de impressão para web.

1) Descompactar o arquivo JASmine-Web-VERSÃO.tar.bz2:

# tar -jxvf Jasmine-Web-VERSÃO.tar.bz2

2) Enviar a pasta descompactada para o repositório onde as páginas web são armazenadas pelo servidor web para visualização posterior.

Para quem instalou apenas o Apache:

# mv Jasmine-Web-VERSÃO /usr/local/apache2/htdocs/jasmine
ou
# mv Jasmine-Web-VERSÃO /var/www/jasmine

Para quem instalou o Xampp:

# mv Jasmine-Web-VERSÃO /opt/lampp/htdocs/jasmine

* Perceba que o nome do diretório também mudou para "jasmine"

3) Dentro deste diretório renomeado para "jasmine", edite também um arquivo de controle para o PHP:

# cd /usr/local/apache2/htdocs/jasmine //ou /var/www/jasmine ou /opt/lampp/htdocs/jasmine
# cp config.php.dist config.php
# vi config.php


4) Neste arquivo configure as opções do banco de dados:

//Database vars
$DB_host="localhost";
$DB_login="jasmine";
$DB_pass="senha";
$DB_db="print";

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação dos serviços - JASmine
   3. Instalação de impressora virtual
   4. Rodando o JASmine
Outros artigos deste autor

Openfire em Ação nos meios Corporativos

Máquinas virtuais - Qual a melhor ferramenta?

IpCop - Um firewall personalizado

CUPS - Gerenciador de impressões

Cloud Computing, vantagens e dúvidas sobre esta tecnologia!

Leitura recomendada

Resolvendo o problema de gerenciamento de energia - ACPI

Bluetooth descomplicado em notebook Toshiba / HP

Explicando DHCP passo a passo

Compartilhando o acesso à Internet para a rede usando modem DSL 500B

Pendrive MultiBoot com o Ventoy Não Funcionou? Tem Solução!

  
Comentários
[1] Comentário enviado por caf3ina em 01/10/2010 - 11:37h

Caro amigo calusbr
Eu tenho um jasmine implementado.. consigo acessar ele pela interface web , tenho uma duvida..

A instalação das impressoras eu instalo na máquina do Jasmine , por exemplo acessando o cups remoto para adicionar as impressoras? se for não estou conseguindo

o serviço do cups está rodando .. testei localmente pelo telnet e está funcionando .. mais de acesso remoto ( de outra máquina da rede ) não consigo acessar .

No aguardo.

[2] Comentário enviado por leandromoreirati em 02/10/2010 - 10:19h

Parabens pelo artigo, o jasmine e um ferramenta excelente, tenho ele integrado com o AD, to tendo dificuldade na totalização de paginhas impressas por usuários, quanto faço o mesmo processo no samba ele contabiliza normalmente. Alguem tem alguma sugestão?

[3] Comentário enviado por leandromoreirati em 02/10/2010 - 10:23h

Caf3ina,

Se nao em engano ao instalar a impressora no CUPS voce deve apontar a impressora para o jasmine conforme descrito acima:

jasmine:socket://[IP DA IMPRESSORA OU NOME]:[PORTA IMPRESSORA]

Dessa forma a impressora será instalada no cups e o jasmine a reconhecerá automagicamente.

Att.

Leandro Moreira

[4] Comentário enviado por caf3ina em 02/10/2010 - 11:48h

Então não estou conseguindo instalar no cups as impressoras , sera que tem uma forma de eu instalar via linha comando as impresoras ?

Abraços

[5] Comentário enviado por antonioleite em 03/10/2010 - 06:24h

Muito bom artigo, ja tinha ouvido falar do jasmine. Ótimo artigo, vai me ser muito útil, parabéns.

[6] Comentário enviado por M客¡NhØ §åMµ®å¡ em 03/10/2010 - 23:07h

Parabéns pelo artigo!
Já implementei o JASmine algumas vezes, mas não cheguei a verificar o comportamento do mesmo em ambiente de produção...
Alguém aí (até o autor do artigo mesmo) já trabalhou com o JASmine em ambiente de produção, com muitas impressões sendo efetuadas?
Ele contabiliza direitinho mesmo?
Não aprensenta travamentos/paradas repentinas?

A algum tempo eu li aqui no VOL um excelente artigo sobre o KingFisher QuotaManager...
Um software muito bom, que a primeira vista deixa o JASmine muito no chinelo mesmo...
Porém o KingFisher é muito instável...
Colocando-o em produção, em um ambiente com 7 impressoras HP Laser e muitos usuários imprimindo, o bichinho não se comporta muito bem... Apresenta paradas repentinas e as vezes somente "restartar" o serviço não adianta...

Irei implementar o JASmine neste mesmo ambiente que derscrevi aqui no meio dessa semana e daí ficarei monitorando para ver como ele se comporta...
Nesse meio tempo se algum dos companheiros tiver opiniões, comentários e/ou experiências para compartilhar, por favor, faça-o.

Abraço à todos e Viva o Linux!

[7] Comentário enviado por calusbr em 04/10/2010 - 10:19h

leo_jfa Com relação a Contagem não contabilizada, verifique o Arquivo "pkpgcounter" e também se vc esta adicionando a impressora com a Opção Jasmine Habilitada!!!

[8] Comentário enviado por calusbr em 04/10/2010 - 10:21h

caf3ina Este problema pode estar relacionado com permissões no seu Servidor e até no próprio Cups, da uma olhada no Artigo do Cups ou no meu Blog, lá tem um tópico no Cups para adicionar permissões: http://calusbr.wordpress.com/category/gerenciador-de-impressao/cups-gerenciador-de-impressao/

[9] Comentário enviado por calusbr em 04/10/2010 - 10:23h

caf3ina da uma olhada ai: (VIA COMANDO CUPS) http://www.vivaolinux.com.br/dica/Administrando-o-CUPS-pela-linha-de-comando/

[10] Comentário enviado por calusbr em 04/10/2010 - 10:34h

M客¡NhØ §åMµ®å¡, olha nunca utilizei o KingFisher QuotaManager, porém quanto ao JASmine nunca encontrei problemas com ele ao ponto de ter que reiniciar o servidor, o que pode acontecer como citado é a não contabilização das impressões por falta de uma configuração e alguns outros problemas mecânicos mesmo. o JASmine é baseado na implementação de Banco de Dados, ou seja, seus dados ficam contidos num banco e isso favorece sua performance por não ter que ler um arquivo ou mesmo ficheiros de arquivos. Mais da uma testada ai, qualquer coisa da um toc pra gnt contando sua experiência..Abraços

[11] Comentário enviado por caf3ina em 04/10/2010 - 17:16h

Obrigado calusbr o problema era mesmo no meu arquivo de configuração de cups que estava bloqueando meu acesso externo .
Obrigado pela diga

Abração


[12] Comentário enviado por M客¡NhØ §åMµ®å¡ em 07/10/2010 - 02:24h

calusbr,
Implementei o JASmine ontem no ambiente que descrevi anteriormente.
No início do próximo mês irei gerar relatórios com base nos dados contabilizados no JASmine e nesse dia terei um feedback do pessoal do suporte que atua no local, daí saberei como se comportou o JASmine em ambiente de produção (espero que tenha boas notícias para reportar aqui :D ).

Aproveitei o embalo dos testes iniciais e "personalizei" o JASmine, colocando o logotipo da empresa para qual trabalho no fundo da tela do mesmo e traduzindo-o para português (desculpem a falta de conhecimento, mas não sei como postar Screenshots e arquivos aqui... Assim eu disponibilizaria o pacote compactado para que os demais companheiros pudessem analisar e alterar conforme suas necessidades/vontade).

Bom, por enquanto é isso. No início do próximo mês volto a postar aqui os resultados sobre o JASmine.

Abraço, meu caro.

[13] Comentário enviado por calusbr em 07/10/2010 - 09:47h

M客¡NhØ §åMµ®å¡ Blz Vamos esperar por seus resultados...Desde já vlw por ler a matéria e poder distribuir conhecimento!!! Abraços e Linux Neles...rs

[14] Comentário enviado por celosop em 07/10/2010 - 13:33h

Parabéns pelo artigo calusbr, realmente vai ajudar muita gente, inclusive eu.

estou com um probleminha com a conexão com o banco de dados, quando eu mando imprimir ele da o seguinte erro: jasmine couldn't lauch the real backend return code 256.
ai eu mudei o debug para 2, e vi que o erro 256 era justamente a conexão com o banco de dados que não está sendo feita, já chequei o user e senha do banco pelo phpmyadmin, e está tudo correto, alguem sabe dizer o que pode está acontecendo? e quando eu instalo a impressora não fica atualizada no jasmine, acho que é por conta do banco de dados, no mais está tudo funcionando perfeitamente, Obrigado e Viva o Linux!!!!

[15] Comentário enviado por imhotep em 08/10/2010 - 22:17h

Vamos lá...vivendo e aprendendo!
Vou testar o JASmine...

[16] Comentário enviado por mantunes em 18/10/2010 - 10:08h

Muito bom o artigo. Bastante claro não deixando dúvidas na questão instalação e configuração.
Parabéns!

Um detalhe. Por aqui utilizamos um sistema que gera ralatório em pg web. Quando mandamos a impressão mesmo tendo somente uma página o Jasmine contabiliza 200,300 pgs.
Alguem experimentou esta situação?

Desde já agradeço a ajuda de todos.

[17] Comentário enviado por relofi em 20/10/2010 - 12:41h

Olá...mto bom tutorial, obrigado!
Consegui fazer todos os passos sem nenhum erro, porém quando mando imprimir da esse erro no CUPS:
/usr/lib/cups/backend/jasmine failed
Já verifiquei a permissão de pasta e está 755 root, tbm o debug está em 0.

Olhei no log do cups e vi que está dando essa mensagem de erro tbm:
[Job 228909] No %%Pages: comment in header!

Alguém pode me dar uma dica por favor?

Vlw!!

[18] Comentário enviado por M客¡NhØ §åMµ®å¡ em 04/11/2010 - 09:31h

calusbr,
Conforme o combinado/proposto, estou retornando para passar aos amigos a experiência com o JASmine em ambiente de produção...
Ontem (03/11/2010) fui até o cliente para gerar os relatórios...
O JASmine se comportou perfeitamente bem em ambiente de produção!!!!
O local onde foi implementada o servidor com o JASmine gera cerca 300.000 impressões ao mês, e foi tudo contabilizado e registrado numa boa (até o momento).
Tirei a "prova do 9" verificando a quantidade total de impressões nas impressoras que são "monitoradas" pelo JASmine utilizando o IBSTracker (um software para (R)Windows)...
E a quantidade de impressão ficou correta para todas as impressoras.

Mais uma vez, parabéns pelo artigo!

Abraço, meu nobre!

[19] Comentário enviado por obernan em 12/12/2010 - 16:47h

Parabens pelo artigo, muito bom mesmo !!!!!

[20] Comentário enviado por skellbr em 02/03/2011 - 16:41h


Olá
Eu instalei o jasmine e estou tendo problemas .
O problema é seguinte no cups esta aparecendo aquele erro jasmine: couldn't lauch the real backend; Return code: -1 .
Verifiquei as configurações do Debug e estão desativadas.E a permissão do jasmine esta 755

O caminho da impressora esta jasmine:usb://Samsung/ML-2850%20Series

Sem o jasmine , imprime normal. Engraçado é que com o dummy funciona beleza, aparece no contador jasmine .
Estou usando o Ubuntu 10.10

Obrigado pela ajuda

Atenciosamente.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts