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
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
- Veja também – Instalação Mysql Binário
3)Instalação de um Servidor Web (Apache) + Php (Versão 5.0 – Preferência) / Ou ainda um conjunto Integrado – Xampp
- Link: Instalação Xampp
- Link:Instalação Php + Apache (Red-Hat, Fedora, CentOS – Utilizando Yum)
- Link: Instalação Php + Apache (Debian, Ubuntu – Utilizando Apt-Get)
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
- Link: Php+Mysql
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.
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
Follow @calusbrPublicado em setembro 16, 2010, em Jasmine. Adicione o link aos favoritos. 1 comentário.
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