Jasmine – Gerenciamento e Controle de Impressões

Olá Pessoal…

Neste post vamos continuar com o assunto sobre gerenciamento de Impressões, com a utilização de Softwares Livres. Dando prosseguimento ao Cups, já descrito em posts anteriores, juntamente com a ferramenta JASmine.

Na realidade o uso do Cups é eficiente para o gerenciamento e centralização das impressoras de um determinado setor ou repartição de uma Empresa. Porém como gerenciar as impressões e verificar ocorrências sobre os usuários que utilizam este Serviço? Com  a ferramenta JASmine agregada ao Cups, este processo fica mais transparente para o Administrador da Rede verificar, corrigir e até mesmo criar mecanismos para redução de custos e averiguar falhas ou incoerências no processo de Impressão.

Enfim vamos a prática!!!

==============================================================================================

Instalação


Pré-Requisitos

1)Instalação prévia do Cups no Servidor que será instalado o JASmine

Link:Instalação Cups

 

Cups

Cups

2)Instalação do Banco de Dados Mysql

– Distribuição Debian/ Ubuntu/ Mint (Todas Distribuições que fazem uso do Apt-Get)

  • # apt-get install mysql-server-5.1
  • #/etc/init.d/mysql restart (Para iniciar Serviço)

– Distribuição Red-Hat/ Fedora/ CentOS / OpenSuse (Todas Distribuições que fazem uso do Yum)

  • # yum install mysql-server
  • # /etc/init.d/mysqld restart (Para iniciar Serviço)

– Pacote tar.gz

Descompactação (Descompactar na pasta /usr/local/src )

  • # tar xzfv mysql-VERSÃO.tar.gz

Compilação

  • # cd mysql-VERSÃO
  • # ./configure –prefix =/usr/local/mysql-VERSÃO –with-mysqld-user=mysql –without-docs
  • # make ; make install

Instalação

  • # ln -s /usr/local/mysql-VERSÃO/ /usr/local/mysql
  • # scripts/mysql_install_db
  • # chown -R root  /usr/local/mysql-VERSÃO/
  • # chown -R mysql /usr/local/mysql/var/
  • # chgrp -R mysql /usr/local/mysql-VERSÃO/

*Este é apenas um Exemplo de Instalação

3)Instalação de um Servidor Web (Apache) + Php (Versão 5.0 – Preferência) / Ou ainda um conjunto Integrado – Xampp

4)Instalação  do Python e Perl (Por padrão a maioria das Dist. já vem com Python e Perl nativo em sua instalação)

– Distribuições com uso Apt-Get

  • # apt-get install python python-dev
  • # apt-get install perl

– Distribuições com uso Yum

  • # yum install python
  • #yum install perl

=============================================================================================

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 armazenr dados no banco de Dados Mysql.

1) Passo: É Acessar o site JASmine e fazer o Donwload dos pacotes necessários para esta operação

  • Link: Pacotes JASmine
  • 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.

2) 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), para referenciar o projeto em estudo.

  • # mysql> create database print;
  • //Caso apareça esta mensagem, Tudo OK – Base de Dado 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 vc não tenha que fazer procedimentos com o usuário root toda hora.

  • # mysql –user=root mysql

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 vc baixou (JASmine-MySQL-VERSÃO.tar.bz2), extraia ele e execute a query do arquivo nesta base de Dados que vc criou.

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

3 – 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 encontra-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 / # gedit jasmine / #kwrite 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; (Desativodo / ou “1” Ativado)

4 – JASmine-Web

Neste passo segue 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 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 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 cd /var/www/jasmine  /ou cd /opt/lampp/htdocs/jasmine
  • # cp config.php.dist config.php
  • # vi config.php  / # gedit config.php / # kwrite 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”;

Instalação de Impressora Virtual

Caso você queria testar a aplicação antes de coloca-la em Execução, para testar e corrigir futuros problemas, o JASmine traz em seu pacote JASmine-Backend-VERSÃO uma impressora virtual chamada “Dummy”. Para colocar ela em execução adicione o arquivo “dummy” no diretório de instalação do Cups, como segue abaixo:

  • # cp dummy /usr/lib/cups/backend
  • # chmod 755 /usr/lib/cups/backend/dummy
  • # chown root /usr/lib/cups/backend/dummy


Finalizando a Instalação


Depois de realizado os passos citados acima, reinicie todos os Serviços (Cups + Mysql + Apache)

  • # /etc/init.d/cups restart
  • # /etc/init.d/mysql restart
  • # /etc/init.d/apache2 restart

Ou se prefirir, Reinicie o Sistema por Completo!!!

  • # reboot   / ou ainda  # shutdown -r now

Ajuste Fino


É claro que em alguns passos citados acima você pode encontrar problemas para executar em sua Distribuição Linux, sejam eles relacionados ao Banco de Dados, Servidor Web e até o próprio Cups. Abaixo vou descrever alguns problemas que encontrei e que li em alguns blogs e comunidades que foram encontrados durante a instalação do Cups e do Jasmine.


Problemas com Diretórios

Em algumas distribuições como no caso Debian, Ubuntu, Fedora, Red-Hat onde a instalação de alguns recursos é feita automaticamente com os recursos (apt-get e yum), alguns dos diretórios citados neste post podem ser modificados pelos caminhos encontrados em suas distribuições como é o caso do arquivo  pkpgcounter, ou seja, o arquivo que faz a contagem das impressões. Este arquivo vem por default com um caminho padrão,  setado nos  parâmetros do arquivo de configuração /usr/lib/cups/backend/jasmine , caso vc esteja com problemas na contagem das impressões, siga os passos

1) Edite o Arquivo /usr/lib/cups/backend/jasmine:

# vi /usr/lib/cups/backend/jasmine   ou # gedit /usr/lib/cups/backend/jasmine   ou # kwrite /usr/lib/cups/backend/jasmine

Na linha “my $path_to_pkpgcounter”, verifique o caminho onde o pkpgcounter é setado e veja em sua distribuição se o mesmo encontra-se no lugar correto, ou altere o caminho correspondente.

  • ## Location of the python and pkpgcounter binaries
  • my $path_to_pkpgcounter=”/usr/bin/pkpgcounter”;
  • ou por
  • my $path_to_pkpgcounter=”/usr/local/bin/pkpgcounter”;

Problemas Servidor Web

Em alguns casos a página JASmine pode vir desconfigurada ou até mesmo com erros, apontando falhas no servidor web ou banco de dados. Segue abaixo 2 problemas encontrados durante minha instalação:

1) Problemas com mysql + php, caso apareça a seguinte mensagem na página web:

“MySQL support MySQL support does not seem to be installed on this server”

Quer dizer o que suporte Mysql não esta ativo juntamente com o Php, portanto instale o complemento para suporte

  • #apt-get install php-mysql
  • #yum install php-mysql

ou instalação seguindo procedimentos do Php

2) Banco de Dados não envia dados ao Servidor Web

– Verifique os arquivos de Configuração se o Usuario, Senha e Base de Dados estão corretos

Problemas Lógicos

Antes de reconfigurar o serviço do JASmine, verifique se os serviços de impressão, banco de dados e servidor web estão iniciados corretamente em seu Servidor

  • #/etc/init.d/cups status
  • #/etc/init.d/mysql status
  • #/etc/init.d/apache2 status

ou

  • #/opt/lampp/lampp start (Caso o serviço esteja em Off)

Problemas Físicos

As vezes problemas físicos podem não trazer os dados das impressões, como por exemplo impressoras desligadas, cabos mal conectados e até mesmo falta de recursos em seus servidores.

Rodando o JASmine

Caso você obteve sucesso na instalação, siga os seguintes passos para que o JASmine capture as impressões efetuadas pelo Cups.

1) Na Instalação e Configuração de impressoras no Cups, selecione a opção:

  • LPD/LPR Host or Printer (Quota Managed)

Essa opção integra a utilização do Jasmine para contagem de impressões.

2) Caso esta opção não esteja nativa em seu Cups, você pode utilizar o seguinte parâmetro como solução, ao instalar uma impressora no Cups adicione a palavra “jasmine:” antes do caminho setado pela impressora.

Exemplo:

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

3) Feito esses 2 passos você pode abrir pelo seu navegador de preferência o JASmine e verificar as impressões efetuadas por cada impressora, servidor e até mesmo usuários.

Tela Jasmine

JASmine

Conclusão


Como visto podemos definir o JASmine como um módulo inteligente que opera juntamente com o Cups, para melhor servir e destacar as impressões realizadas em um local de trabalho, como também obter controle de cópias, data de execução e descrição dos usuários utilizadores. Este post é meramente explicativo como forma de consulta, e muitas das informações foram colhidas de e-mails, fóruns e documentação do site Oficial.

Bibliografia


JASmine , Cups, Viva o Linux, Vida Linux

Att Lucas de Souza Rodrigues

E-mail: calusbr@gmail.com

Sobre calusbr

Possui graduação em Ciência da Computação pela Universidade Estadual de Mato Grosso do Sul (2009) . Atualmente é Analista de Sistemas

Publicado em setembro 16, 2010, em Jasmine. Adicione o link aos favoritos. 1 comentário.

  1. Olá
    Parabéns pelo belo artigo. Uma dúvida me intriga antes de testar esta ferramenta. O JASmine consegue trabalhar com “count print” para usuários windows através da autenticação do Active Directory com SAMBA?
    Obrigado

Deixe um comentário