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
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 @calusbrCups: 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”
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