Académique Documents
Professionnel Documents
Culture Documents
Autor: Jos Rodrigues Filho <suporte at joserodriguesfilho.com> Data: 08/10/2010 Ambiente utilizado Primeiramente ditarei o ambiente que utilizo e que est em funcionamento: Ubuntu Server 8.04 necessrio para nossos testes uma impressora USB, PARALELA ou de REDE. No exemplo a seguir tenho uma HP LaserJet Professional P1102w, a nova HP Laser com rede sem fio, nela est configurado o IP 172.16.1.66.
Instalando: $ sudo aptitude update $ sudo aptitude install vim apache2 build-essential cupsys cups-pdf cupsys-driver-gutenprint $ sudo vim /etc/cups/cupsd.conf Altere a linha 17: Listen localhost:631 Para: Listen 631 Para quem no sabe fazer o vim aparecer numerao simples, digite a tecla ESC e em seguida: :set nu Vamos agora dar permisso para acesso ao CUPS:
$ sudo vi /etc/cups/cupsd.conf E altere as linhas conforme abaixo: # Show shared printers on the local network. Browsing On DefaultAuthType Basic <Location /> Allow From 172.16.1.54 Allow all </Location> E para termos acesso s paginas de administrao: # Restrict access to the server... <Location /> Order allow,deny Allow From 172.16.1.54 </Location> # Restrict access to the admin pages... <Location /admin> Allow From 172.16.1.54 Allow all </Location> Agora reinicie o servio: $ sudo invoke-rc.d cupsys restart Lembrando que o IP acima 172.16.1.54 para ter acesso apenas da minha rede, altere conforme o IP da sua rede.
Samba Aqui fica a parte muito importante, geralmente muitas pessoas recebem um erro de "Acesso Negado: No foi possvel estabelecer uma conexo". Elas conseguem instalar a impressora, mas no possvel imprimir por acesso negado. Vamos resolver esse probleminha. Instalando o Samba: $ sudo aptitude install samba $ sudo mkdir /home/troca $ sudo chmod 777 /home/troca $ sudo vim /etc/samba/smb.conf Criando uma configurao 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 [troca] comment = Troca de Arquivos path = /home/troca 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 invoke-rc.d samba restart
Jasmine + impressora de testes (economia de papel) Instale os pacotes abaixo: $ sudo aptitude install php5 mysql-server-5.0 php5-mysql libdbd-mysql-perl python python-imaging Agora no site http://jasmine.berlios.de/dokuwiki/doku.php, efetue o download dos arquivos: JASmine-MySQL JASmine-Backend JASmine-Web $ sudo wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-MySQL-0.0.3.tar.bz2 $ sudo wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Backend-0.0.3.tar.bz2 $ sudo 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 impresso. $ 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 usurio no MySQL para gerenciar o banco de impresso. $ 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 iro monitorar as impresses e gerar os dados a serem salvos no banco. Na pasta do JASmine-Backend existe o pkpgcounter que ser instalado com o auxlio do Python. $ sudo tar -jxvf JASmine-Backend-0.0.3.tar.bz2 $ cd JASmine-Backend-0.0.3 $ sudo tar -zxvf pkpgcounter-2.10.tar.gz $ cd pkpgcounter-2.10 $ sudo python setup.py install Sada da pasta onde est agora: $ cd .. Na pasta raiz do JASmine-Backend 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 informaes referentes ao banco de dados, localizados nas linhas 28, 29, 30, 31: $ sudo vim jasmine my $DBhost="localhost"; my $DBlogin="jasmine"; my $DBpassword="senha"; my $Dbdatabase="print"; Existe tambm na linha 41 do script informando que o mesmo est no modo debug. Altere esta linha para: my $Debug_Mode=0; Reinicie o CUPS e vamos a etapa final. $ sudo invoke-rc.d cupsys restart O JASmine-Web a pgina que coleta as informaes 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 configuraes 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"; Existe uma configurao para testes de impresso 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 diretrio /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 Feito reinicie o CUPS com o comando: $ sudo invoke-rc.d cupsys restart Edite o arquivo jasmine dentro de: $ sudo vim /usr/lib/cups/backend/jasmine Altere a linha 67 de: my $lockfile = $backends_dir."/".$me.".lock"; Para: my $lockfile ="/tmp/".$me.".lock"; Salve o arquivo e feche, agora vamos fazer alguns testes para ver o sistema funcionando.
Instalando a impressora no servidor Acesse o CUPS: http://ip_do_servidor:631 Em "Administration" no vem por padro selecionado "Share published printers connected to this system", selecione e clique em "Change Settings", voc ser redirecionado para uma pgina https para aceitar o certificado no browser, aceite e pronto, simples.
Em "Administration" clique em "Find New Printers". A impressora foi encontrada como mostra figura abaixo:
Clique em "Continue".
No meu caso j esta selecionado o driver correto. Clique em "Add Printer". Algumas impressoras que configurei ele fica nessa tela e parece no ter adicionado a impressora, mas na verdade j adicionou, espere alguns segundos e clique em "Printers".
Instalando a impressora no Windows Esses procedimentos so como de costume mesmo, v em iniciar, executar, digite o ip do seu servidor de impresso, \\172.16.1.68 no meu caso.
Lembra que na configurao do Samba tnhamos criado uma pasta troca, para caso voc queira facilitar as coisas, jogar o driver da impressora para agilizar o processo.
Clique em ok.
Para facilitar quando chegarmos nos relatrios do Jasmine, criei um arquivo com outro nome.
Agora para o Jasmine contabilizar as pginas vamos fazer a seguinte alterao editando o arquivo abaixo: $ sudo vim /etc/cups/printers.conf Na linha: DeviceURI socket://172.16.1.66 Altere para: DeviceURI jasmine:socket://172.16.1.66 Reinicie o CUPS. $ sudo invoke-rc.d cupsys restart Agora as impresses j esto prontas para ser contabilizadas, acesse o Jamine em: http://ip_do_seu_server/jasmine
Lembra aquela configurao l em cima que fizemos para no gastar folha? Faa o seguinte para o Jasmine contabilizar as pginas sem gastar folhas nem toner, editando o arquivo abaixo: $ sudo vim /etc/cups/printers.conf DeviceURI jasmine:socket://172.16.1.66 Altere para: DeviceURI jasmine:dummy:socket://172.16.1.66 $ sudo invoke-rc.d cupsys restart
No esquea de mudar essa configurao depois para voc poder imprimir de verdade no papel.
Exemplos de impressoras com Jasmine: USB: jasmine:usb://HP/LaserJet%20Professional%20P1102w PARALELA: jasmine:parallel:/dev/lp0 REDE: jasmine:socket://172.16.1.66 Exemplo dummy: jasmine:dummy:usb://HP/LaserJet%20Professional%20P1102w At mais. :)