Primeiramente ditarei o ambiente que utilizo e que está em funcionamento:
- Ubuntu Server 10.04 LTS ( Long-term support )
É necessário para nossos testes uma impressora USB, PARALELA ou de REDE.
No exemplo a seguir tenho uma HP LaserJet Professional P1102w, HP Laser com rede sem fio, nela está configurado o IP 192.168.1.110.
Lembrando que foi usado uma instalação limpa do
Ubuntu 10.04 LTS, o servidor foi dedicado apenas para impressão.
Instalando:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim apache2 build-essential cupsys cups-pdf cupsys-driver-gutenprint
Sera solicitado a senha do
mysql no meio da instalação.
$ sudo vim /etc/cups/cupsd.conf
Altere a linha
Listen localhost:631
Para:
Listen 631
Vamos agora dar permissão para acesso ao
CUPS, altere as linhas conforme abaixo:
# Restrict access to the server...
<Location />
Allow all
Order allow,deny
</Location>
# Restrict access to the admin pages...
<Location /admin>
Allow all
Order allow,deny
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
Allow all
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
Agora reinicie o serviço:
$ sudo /etc/init.d/cups restart
Faça um teste para ver se esta tudo correndo bem.
No exemplo abaixo eu coloco o IP da minha rede, altere conforme a sua.
Samba
Aqui fica a parte muito importante, geralmente muitas pessoas recebem um erro de "Acesso Negado: Não foi possível estabelecer uma conexão".
Elas conseguem instalar a impressora, mas não é possível imprimir por acesso negado. Vamos resolver esse probleminha.
Instalando o Samba:
$ sudo apt-get install samba
$ sudo mkdir /home/impressos
$ sudo chmod 777 /home/impressos
$ sudo vim /etc/samba/smb.conf
Criando uma configuração simples no Samba para o funcionamento correto da impressora:
$ sudo vim /etc/samba/smb.conf
[global]
workgroup = Servidor de Impressao
netbios name = printserver
security = share
[impressos]
comment = impressos
path = /home/impressos
public = yes
browseable = yes
writable = yes
read only = no
create mask = 0700
directory mask = 0700
vfs object = audit
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = yes
guest ok = yes
plublic = yes
writable = no
load printers = yes
cups options = raw
use client driver = yes
Reinicie o Samba:
$ sudo service smbd restart
Jasmine + impressora de testes (economia de papel)
Instale os pacotes abaixo:
$ sudo apt-get install php5 mysql-server-5.1 php5-mysql libdbd-mysql-perl python python-imaging dc python-imaging pkpgcounter
$ sudo mkdir temp
$ cd temp
Agora no site
http://jasmine.berlios.de/dokuwiki/doku.php, efetue o download dos
arquivos:
- JASmine-MySQL
- JASmine-Backend
- JASmine-Web
$ wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-MySQL-0.0.3.tar.bz2
$ wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Backend-0.0.3.tar.bz2
$ wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-
Web-0.0.3.tar.bz2
A primeira etapa é criar o banco que vai armazenar os dados de impressão.
$ sudo mysql -u root -p
password: *****
mysql> CREATE DATABASE print;
mysql> exit
Agora vamos utilizar o script contido no arquivo JASmine-MySQL.
$ sudo tar -jxvf JASmine-MySQL-0.0.3.tar.bz2
$ cd JASmine-MySQL-0.0.3
$ sudo mysql -u root -p print < jasmine.sql
Crie um usuário no MySQL para gerenciar o banco de impressão.
$ sudo mysql -u root -p
mysql> GRANT ALL ON print.* TO jasmine@localhost identified by 'senha';
mysql> FLUSH PRIVILEGES;
mysql> exit
Saia da pasta onde está agora:
$ cd ..
Dentro do
JASmine-Backend existem os programas auxiliares que irão monitorar as impressões e gerar os dados a serem salvos no
banco. Na pasta do JASmine-Backend.
$ sudo tar -jxvf JASmine-Backend-0.0.3.tar.bz2
$ cd JASmine-Backend-0.0.3
Existe um script em Perl chamado jasmine que deverá ser copiado para dentro do CUPS.
$ sudo cp jasmine /usr/lib/cups/backend/
$ cd /usr/lib/cups/backend
$ sudo chmod 755 jasmine
$ sudo chown root jasmine
Agora temos que editar nosso script para colocar as informações referentes ao banco de dados.
$ sudo vim jasmine
my $DBhost="localhost";
my $DBlogin="jasmine";
my $DBpassword="senha";
my $Dbdatabase="print";
Existe também uma linha do script informando que o mesmo está no modo debug. Altere esta linha para:
my $Debug_Mode=0;
Altere essa linha tambem:
my $lockfile = $backends_dir."/".$me.".lock";
Para:
my $lockfile ="/tmp/".$me.".lock";
$ cd
$ cd temp
O JASmine-Web é a página que coleta as informações e as exibe na Web, volte para pasta onde você baixou os arquivos.
$ sudo tar -jxvf JASmine-Web-0.0.3.tar.bz2
$ cd JASmine-Web-0.0.3/
$ sudo mkdir /var/www/jasmine
$ sudo cp -r * /var/www/jasmine
Neste momento iremos editar o arquivo com as configurações de acesso a banco.
$ cd /var/www/jasmine
$ sudo cp config.php.dist config.php
$ sudo vim config.php
// Database vars
$DB_host="localhost";
$DB_login="jasmine";
$DB_pass="senha";
$DB_db="print";
$ cd
$ cd temp
$ cd JASmine-Backend-0.0.3/
Existe uma configuração para testes de impressão que o
JASmine fornece para que possamos visualizar os resultados sem termos que
gastar toner e papel. Para isso você entra na pasta JASmine-Backend-0.0.3 e copia o arquivo dummy para o diretório /usr/lib/cups/backend.
$ sudo cp dummy /usr/lib/cups/backend
$ sudo chmod 755 /usr/lib/cups/backend/dummy
$ sudo chown root /usr/lib/cups/backend/dummy
Reinicie o Cups:
$ sudo /etc/init.d/cups restart
[1] Comentário enviado por
removido em 22/06/2011 - 13:11h:
parabéns, um trabalho original e muito bem feito. Dou "10" com gosto!
;-))
[2] Comentário enviado por
marcellod9 em 24/06/2011 - 10:13h:
Olá amigo, parabéns pelo artigo.
Estou configurando um cups na minha rede, mias me deparei com um problema, quando vou add um impressora, sigo os passos que vc esta indicando, quando chego na terceira imagens do seu passo a passo, na página de exemplos, quando clico em continuar ele não vai para a outra pagina fica sempre na mesma.
Vc já teve esse problema????
[3] Comentário enviado por
lbrasileiro em 27/06/2011 - 11:20h:
Sugestão: Não seria interesante informar/mostrar que é possivel imprimir do Windows ou qualquer outro S.O. no CUPS sem a necessidade de utilizar o SAMBA ? por exemplo: ativa o IPP no seu CUPS.
Para quem ficou na curiosidade:
http://www.howtoforge.com/ipp_based_print_server_cups_p3
bye
Luciano Brasileiro
[4] Comentário enviado por
cavanso em 28/06/2011 - 00:26h:
Prezado,
É possível criar cotas de impressão pelo CUPS ?Integração com o AD ? Verificar documentos impressos por usuário ?
Grato
Claudio Bruno
[6] Comentário enviado por
cavanso em 07/07/2011 - 07:41h:
Joserf,
Fiz a instalação conforme acima, mas na hora que fui adicionar a impressora não achei o modelo para adicionar HP 1102w, estou usando ubuntu 11.04, preciso atualizar alguma coisa ou incluir algum arquivo para mostrar o modelo correto ?
Grato
Cláudio Bruno
[7] Comentário enviado por
joserf em 07/07/2011 - 13:59h:
Caro cavanso, pode usar o foo2zjs
Instalando impressora HP com foo2zjs
Download e instalação
$ sudo wget -O foo2zjs.tar.gz
http://foo2zjs.rkkda.com/foo2zjs.tar.gz
$ sudo tar zxf foo2zjs.tar.gz
$ cd foo2zjs
Compile:
$ sudo make
Instalando driver, foomatic XML arquivos, e extras :
$ su ou $ sudo make install
# make install
(Opcional) Configure hotplug (USB; HP LJ 1000/1005/1018/1020):
# make install-hotplug ou $ sudo make install-hotplug
Reinicie o cups, e instale a impressora que você citou acima.
[8] Comentário enviado por
diegodtl em 27/07/2011 - 13:29h:
Tenho uma impressora Samsung SCX-6x45 Series, não consigo encontrar o driver dela para o cups. Alguém pode me ajudar?
[9] Comentário enviado por
ackross em 04/08/2011 - 15:51h:
Boa tarde,
Segui exatamente o procedimento mas os erros abaixo ocorrem. Ocorria mais um mas ao trocar o dono do diretmorio /var/www/jasmine para www-data o erro nao mais ocorreu.
DB_connect Unable to connect to host "localhost": Access denied for user 'root'@'localhost' (using password: YES)
Check that the MySQL host is up, and that you gave the right hostname.
DB_select Unable to select database "print": Access denied for user 'www-data'@'localhost' (using password: NO)
Check that this database exists, and that you gave the right name.
DB_query Unable to run query "SELECT user,SUM(copies*pages) as total FROM jobs_log GROUP BY user ORDER BY total DESC LIMIT 10": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getUserRankings Query failed !
Check for the query syntax, and that the MySQL host is up.
DB_query Unable to run query "SELECT printer,SUM(copies*pages) as total FROM jobs_log GROUP BY printer ORDER BY total DESC LIMIT 5": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getPrinterRankings Query failed !
Check for the query syntax, and that the MySQL host is up.
DB_query Unable to run query "SELECT server,SUM(copies*pages) as total FROM jobs_log GROUP BY server ORDER BY total DESC LIMIT 5": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getServerRankings Query failed !
Check for the query syntax, and that the MySQL host is up.
[10] Comentário enviado por
Scorp em 05/08/2011 - 08:39h:
Bom dia a todos gostaria de pedir ajuda a todos faz + ou - um ano que prometi isso aqui na empresa porem nunca consegui fazer funcionar olha posso estar errando em algo mas ja parei e iniciei o processo umas 10 vezes com sistemas operacionais diferente atualmente estou tentando em um ubuntu 10.04 porem meu problema é sempre o mesmo (Quota Managed) nunca aparece e quando coloco o jasmine na frente (jasmine:socket.....) simplesmente não imprime se eu tirar o jasmine da frente imprime normalmente oque poderia estar acontecendo será que sou tão burro assim (rsrsrs) para errar a mesma coisa + de 10 vezes preciso de ajuda se alguém estiver disponível serei muito grato meu msn é hack_scorpion@hotmail.com um otmo dia a todos.
[11] Comentário enviado por
Scorp em 05/08/2011 - 08:46h:
diegodtl bom dia ja tentou usr o driver generico?
[12] Comentário enviado por
tiagogsr em 29/08/2011 - 22:42h:
Boa noite Joserf!
Segui todo o seu procedimento e não apareceu as impressoras no windows!
Pesquisando um pouco na internet verifiquei que faltou duas linhas no samba na sessão Global!
Abaixo estou adicionando as linhas!
Como esta:
[global]
workgroup = Servidor de Impressao
netbios name = printserver
security = share
Alterar para:
[global]
workgroup = Servidor de Impressao
netbios name = printserver
security = share
printing = cups
load printers = yes
Att,
Tiago Gomes
[13] Comentário enviado por
tiagogsr em 29/08/2011 - 22:51h:
Boa noite Scorp!
Eu estava com o mesmo problema!
Instala a impressora no servidor como o exemplo do artigo e quando for instalar no cliente sendo um sistema operacional linux como um exemplo o ubuntu é só ir Sistema>administração>impressão>adicionar>localizar impressora de rede. Ai voce deve colocar o ip do servidor e não da impressora. Consegui instalar aqui assim e funcionou numa boa com jasmine contabilizando tudo.
Para instalar no windows é necessário efetuar a alteração no arquivo smb.conf como coloquei acima. Depois basta apenas acessar o servidor de impressão em Iniciar>executar>\\ip_servidor_de_impressão, escolhe a impressora e instala normal! Funcionou aqui tmb!
Espero ter Ajudado!
Boa noite a todos.
[14] Comentário enviado por
joserf em 03/09/2011 - 16:22h:
Caro tiagogsr acredito eu que nem com essa alteração na seção global ira resolver esse problema de não encontrar as impressoras, no seu caso deu certo por que após incluir as linhas você reiniciou o samba, e mesmo sem as linhas que você citou reiniciando o samba as impressoras aparecem normalmente, mas o que fazer para resolver esse problema sem explicação, faça o seguinte:
Crie o arquivo como abaixo
vim /etc/samba.sh
Cole o seguinte conteúdo
#!/bin/bash
service smbd restart
Salve o arquivo, agora torne executável e de as permissões
chmod +x /etc/samba.sh
chmod 777 /etc/samba.sh
Edite o arquivo abaixo
vim /etc/rc.local
cole o conteúdo abaixo em cima da linha exit 0
/etc/samba.sh &
Salve o arquivo e saia, Pronto pode reiniciar seu servidor de impressão e tentar acessar por uma maquina windows e todas impressoras estarão la .
Uma linha que eu reparei que esta errado é na seção printers que esta plublic = yes e o correto é public = yes
ABRAÇO.
[15] Comentário enviado por
fenix-ubt em 03/01/2012 - 11:39h:
Eu instalei o jasmine... quando está com o dummy não dá erro, porém quando tiro o dummy, ou seja jasmine:socket://ip_impressora, não funciona aparece o erro abaixo:
completed at
Ter 03 Jan 2012 10:15:50 BRT
"Não é possível abrir o arquivo de impressão "": No such file or directory"
e no log fica assim
E [03/Jan/2012:10:15:50 -0300] [Job 28] Não é possÃvel abrir o arquivo de impressão "": No such file or directory
E [03/Jan/2012:10:15:50 -0300] [Job 28] jasmine: Couldn't lauch the real backend; Return code: 256
já procurei no google nenhuma solução.... se alguem poder me ajudar agradeço.
[16] Comentário enviado por
djbino em 09/01/2012 - 09:04h:
Instalei o cups e o jasmine, esta tudo funcionando bem. O problema é o seguinte, os usuários não tem permissão para cancelar as impressões atravez do windows... é possivel cancelar somente na impressora. E quando é cancelado o CUPs continua a contar as páginas, mesmo cancelada... Existe alguma solução para isto?
[17] Comentário enviado por
rotaviano em 30/01/2012 - 22:09h:
sera que alguem pode me ajudar ...
estou com problema para deixar o cups funcionando e tenho algumas duvidas..
terei apenas 1 servidor cups...
e na maquina cliente tenho q instalar o cups tb ???
como a maquina cliente , é nela que esta instalada a impressora , farei para o servidor gerenciar esse impressora e a maquina cliente identificar o servidor cups ? ? ? ?
***centos 5.7 e ubuntu 10.11 cliente
obrigado
[18] Comentário enviado por
regismeneses em 17/04/2012 - 10:32h:
Bom dia, eu também estou com alguns problemas no jasmine ele dá erro quando direcionamos o as impressões jasmine:socket://ip_da _impressora, já tentei umas 5 vezes este tutorial, fazendo tudo o que se pede mas ainda não deu certo utilizo o Ubuntu 11.10 i386.
Obrigado.
[19] Comentário enviado por
joserf em 18/04/2012 - 22:07h:
olá regismeneses;
Amigo essa configuração é para 10.04, não fiz ainda para 11.10 pq o 10.04 é lts, mas tente fazer o seguinte, deixe funcionando a impressora certinho imprimindo sem usar o jasmine, depois que estiver tudo ok tente usar o jasmine, já tive situações que imprimindo uma pagina de teste direto no painel do cups como root não saiu a folha, e instalando em uma maquina windows imprimiu perfeitamente, por isso nao faça seus testes direto no pagina de administração do cups e nem sem saber se esta imprimindo sem o jasmine.
Att.
[20] Comentário enviado por
alan.redes em 15/05/2012 - 14:25h:
Cara, parabéns pelo artigo!! Show de bola!!
Me ajudou bastante a confgurar o serviço em meu servidor.
Vlw msm!!