CUPS + Jasmine Ubuntu Server 10.04 LTS (gerenciador de impressões e relatórios de impressão)
Vou postar aqui mais um artigo do Jasmine. Algumas pessoas estão com dificuldades na instalação, inclusive eu também
tive inúmeras dúvidas. Resolvi postar a solução para Ubuntu 10.04 LTS.
tive inúmeras dúvidas. Resolvi postar a solução para Ubuntu 10.04 LTS.
Ambiente utilizado
Primeiramente ditarei o ambiente que utilizo e que está em funcionamento:
É 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:
Vamos agora dar permissão para acesso ao CUPS, altere as linhas conforme abaixo:
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.
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
Reinicie o Samba:
sudo service smbd restart
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:
$ 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
Existe também uma linha do script informando que o mesmo está no modo debug. Altere esta linha para:
Altere essa linha tambem:
my $lockfile = $backends_dir."/".$me.".lock";
Para:
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
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
- 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.

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>
<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.
- http://192.168.50.5:631
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
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-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";
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";
$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
;-))