Arquivo da categoria: Gerenciador de Impressão

Ferramentas e Aplicativos para Impressão

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

Cups: Gerenciador de Impressões

Olá!!! Neste post vou tentar descrever passo-a-passo a instalação e configuração do Gerenciador de Impressão (Cups)

Criador(es): Michael Sweet (Dono da Easy Software Products)   Ano: 1997      Nativo: 1999

Descrição: Cups (Sistema Comum de Impressão Unix) é um gerenciador de impressão para sistemas tipo “unix”, ou seja, um ambiente de Sistemas Operacionais de Software livre / Open source inspirado pelo Unix.

Objetivo: É permitir que um computador seja um Servidor de Impressão, na qual o Gerenciador de Impressão Cups (Hospedeiro) nativo no Servidor, receba diversas impressões dos Pc’s (Clientes) processe-os  e envie para a impressora correspondente. Além disso é possível monitorar impressões,  relatar erros de impressões, visualizar relatórios sobre número de páginas impressas, data e horário da mesma.

Desenvolvimento: Seu desenvolvimento se deu com o protocolo LDP  que permite que trabalhos de impressão sejam impressos atráves da rede utilizando TCP/IP. Porém com o avanço da tecnologia Cups, o protocolo LDP foi ficando ultrapassado, lento e incompatível com padrões de alguns fabricantes. Logo o Gerenciador de Impressão Cups aderiu o IPP (Internet Printing Protocol), e foi adotado pela maiorias das Distribuições Linux como gerenciador de impressão padrão. Hoje o Gerenciador Cups é mantido pela Apple, que em 2007 contratou Michael Sweet e comprou o código fonte.

Prática: Para agregar um gerenciador de Impressão Cups, é necessário ter em mente que estamos falando de um servidor para no mínimo 2 ou mais impressoras, caso contrário não seria viável a utilização de um Servidor deste porte para pequenas rotinas de impressões.

Instalação:

Abaixo segue uma sequência de parâmetros para instalação do Cups:

Por default sempre em meus posts utilizo a Distribuição Debian, ou seja, todas as distribuições que utilizam o mesmo padrão que Debian não sofreram nenhuma alteração para obter a instalação ok!!!

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

Distribuição Debian:

#apt-get install cups

Iniciar Serviço (start):

# /etc/init.d/cups start

—————————————————————————————————————————————————-

Distribuição Slackware:

Opção: Via Cd/Dvd

# installpkg /mnt/cdrom/slackware/a/cups-…..-.tgz

Iniciar Serviço (start):

# /etc/rc.d/rc.cups start

—————————————————————————————————————————————————-

Qualquer Distribuição:

Baixar do Site ( Cups)

Descompactar o arquivo:
# tar -xzvf cups-xxxx-source.tar.gz

Configurar o CUPS:

# cd cups-xxxx
#./configure

Compilar e Instalar:

# make
# make install

Iniciar Serviço (start):

# /etc/rc.d/rc.cups start ou /etc/init.d/cups start

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

Requisitos

Juntamente com a instalação do Cups é necessário alguns pacotes para acompanha-lo.

Servidor Samba: smbclient (Para Listar Impressoras Compartilhas  em Redes Windows/Linux)

# apt-get install smbclient

Foomatic: é um sistema de impressão desenhado para facilitar a instalação de impressoras comuns,  ele fornece a “cola/mecanismo” entre o spooler de impressão (Cups ou lpr) e a impressora propriamente dita.

# apt-get install foomatic-gui  foomatic-db

Obs: Por Default as novas Distribuições já agregam o pacote foomatic na instalação do Cups

PPD: Tem a função de criar um método, ou seja, personalizar o comportamento padrão para um impressora específica como por exemplo (Fontes, Dispositivo de Saída, Orientação e Tamanho). O sistema Foomatic é o responsável pela criação destes Ppd’s.

PS: Um driver de impressora colorida que trabalhe com o formato PostScript (ps).

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

Ajuste Fino

Por padrão em novas distribuições alguns destes ajustes não são necessários, pois por default as devidas configurações já vem pré-estabelecidas no S.O!!!

Samba: Para habilitar as impressoras ou denotar o compartilhamento das mesma no servidor samba edite o arquivo abaixo:

# vi /etc/samba/smb.conf

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

Deixa seu arquivo smb.conf como segue abaixo:

########## Printing ##########

load printers = yes

# CUPS printing.  See also the cupsaddsmb(8) manpage in the
# cupsys-client package.

printing = cups
printcap name = cups

[printers]
comment = Todas as Impressoras

print ok = yes
guest ok = yes
path = /var/spool/samba


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

Cups: Para que seu Gerenciador de impressão funcione de um forma mais ágil, configuramos alguns parâmetros no arquivo de configuração do cups.

# vi /etc/cups/cups.conf

1) Habilitar permissão de Administrador para Pc/Estações:

#Restrict access to the admin pages…
<Location /admin>
Order allow,deny
Allow localhost

Allow 192.168.1.10
</Location>

2) Habilitar permissão para Usuários Avançados acessarem o cups via web, sem alterar o seu conteúdo:

# Restrict access to the server…
<Location />

Allow from 192.168.1.0/24
Order allow,deny
</Location>

Obs: Neste caso estou Liberando o acesso para todas as máquinas da Rede.

3) Mudar porta de acesso ao servidor Cups

Na opção Port do arquivo /etc/cups/cups.conf

Mude de 631 para XXX sua porta alternativa.

4) Referenciar um Nome ou Ip para acesso via Web do Servidor Cups (IPP)

# Only listen for connections from the local machine.
Listen localhost:631

Listen 192.168.1.100:631
Listen /var/run/cups/cups.sock

Obs: Adicione o Ip da maquina cups ou um nome em Listen.

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

Instalação de Impressoras Via Web

Para efetuar uma instalação via web é necessário os seguintes passos:

1) Acesse a web com o endereço: http://localhost:631

esse acesso é feito quando se esta na máquina origem, ou seja, onde foi instalado seu Gerenciador de Impressão Cups. Caso o acesso seja feito de uma outra maquina via web, é necessário habilitar permissões para determinada estação/pc.

2) Ao Abrir a página do Cups ir na Aba Administration ou http://localhost:631/admin

3) No campo Printers ir em ADD PRINTER e escolhar a opção desejada ( Impressora Local, Impressora Rede, Via Samba)

4) No Proximo passo destacar o caminho da impressora caso seja via:

Samba:

smb://[NOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA COMPARTILHADA]

Http:

http://%5BNOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA COMPARTILHADA]

Socket:

socket://[NOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA COMPARTILHADA]

Obs: O campo “:[PORTA]” é  opcional, porém obrigatório para impressoras tipo (Rede). As vezes na opção via Samba é necessário colocar ( guest@ ou nome de um usuário da máquina Windows) na frente do nome da máquina ou Ip.

5) A seguir coloque o Nome, Descrição e Localização da Impressora para visualização no Cups

6) Feito isso no próximo passo adicione o drive correto da Impressora, esse passo pode ser feito de 2 maneiras ( 1 – Baixar do site do fabricante o drive PPD da Impressora ou 2 – Listar um drive já estabelecido pelo cups ou até mesmo um genérico do mesmo fabricante)

7) Pronto a Impressora já esta instalada em seu Gerenciador de Impressão Cups.

Instalação de Impressoras em Clientes (Windows/Linux)

A instalação das impressoras compartilhadas dentro do Servidor Cups podem ser feitas da seguinte maneira

1) No sistema Windows Xp entre em (Painel de Controle –> Impressoras –> Adicionar um Impressora)

2) No próximo passo siga em Avançar, e na seleção do tipo de Impressora vai em:

(Uma impressora de rede ou Conectado a outro computador)

3) Na opção (A que impressora você deseja conectar?) selecione a opção:

(Conectar-se a uma impressora na internet ou uma rede doméstica ou no escritório)

Ou seja URL:

4) No campo URL coloque as informações do acesso da impressora:

http://%5BNOME OU IP DO SERVIDOR CUPS]:[631 OU  NUMERO DA PORTA CUPS]/printers/[NOME DA IMPRESSORA COMPARTILHADA]

Exemplo:  “http://192.168.1.1:631/printers/HP-DESKJET&#8221;

Nos clientes do Sistema Windows (Vista, Seven, Server 2003 e 2008)  segue os mesmos passos com algumas diferenças na versão do S.O, para clientes Linux dependendo da interface (Gnome, Kde e etc) siga os passos para a instalação de uma Impressora via Web (http).


Conclusão

Existem hoje em dia “n” casos para soluções e instalação do Gerenciador Cups, todas com aspecto de instalaçãoe configuração base. Neste post creio que fica claro a instalação do Gerenciador, bem como a configuração do mesmo, porém existem diversos detalhes como Gerenciamento de Impressão e Verificação diária das Impressões. Com tudo espero que tenha ajudado a vocês leitores a dar seus primeiros passos ao Gerenciador de Impressão Cups. Em um próximo Artigo vou tentar descrever o Gerenciamento do Cups, bem como a utilização do Jasmine para controle de Impressões via Usuários.

Att Lucas de Souza Rodrigues

calusbr@gmail.com


Bibliografia

Adobe, Viva o Linux, Cups,OpenPrinting