Wiki source for CupsPykotaMysql


Show raw source

====Sistema de Quotas de Impressão com Pykota+MySQL+CUPS====

===Introdução===

Utilizei o mandriva 2008.1 para como distribuição base para montagem do servidor de impressão. Nesta documentação não vou me reter aos detalhes da configuração do CUPS, pois o objetivo está na configuração do PYKOTA.

===Pacotes necessários===
- Servidors CUPS, configurado.
- Banco de dados MySQL.
- Python v2.1 ou superior.
- libpython-devel
- python-mysql
- Módulo Python-OSD.
- Módulo Python-PSYCO.
- Ferramentas SNMP.
- Netatalk.
- ''Aplicativo pkpgcounter''
- ''Módulo Python eGenix mxDateTime.''
- ''Módulo Python-JAXML.''
- ''PIL.''
- ''pkipplib.''
- ''PYKOTA.''

===Instalação dos programas===

Como você pode ver, alguns pacotes pacotes estão ''destacados'', pois eles não estão presentes na árvore principal do mandriva, então teremos de compilá-los manualmente.

Os pacotes **não** destacados, você poderá instalá-los através do urpmi ou pelo drakconf, se você usa outra distribuição, você pode usar o seu gerenciador de pacotes padrão (rpm, apt-get, pacman... etc!).

Todos os pacotes ''destacados'' estão contidos em http://ivete.fis.unb.br/misc/pykota-latest-megapack.iso .

==Instalando os programas==

Todos os pacotes ''destacados'' são módulos do python, logo sua instalação é muito simples, vou exemplificar como instalar um, e todos os outros são instalados da mesma forma.

Por exemplo, para instalar o módulo '''pkpgcounter'', primeiro descompacte o pacote tar.gz e entre no novo diretório descompactado, e então execute:

%%[root@lcc19 pkpgcounter-3.30]# python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/bin/pkpgcounter to 755
running install_data
running install_egg_info
Removing /usr/lib/python2.5/site-packages/pkpgcounter-3.30-py2.5.egg-info
Writing /usr/lib/python2.5/site-packages/pkpgcounter-3.30-py2.5.egg-info%%

Esse comando, **python setup.py install** é o que será utilizado para instalar **todos** os módulos destacados.

Depois de instalar **todos** os pacotes siga para o próximo passo.

===Copiando os conf files do PYKOTA===

Depois de instalar o módulo ''PYKOTA'', você deverá criar um diretório, o **/etc/pykota** e copiar para lá o seguintes arquivos, que estão localizados no **pykota/stable/pykota-1.26_official/conf**, retirando o nome **.sample** do nome:
- **pykota.conf.sample**
- **pykotadmin.conf.sample**

===Criando o link simbólico do Backend===

Execute:
%%ln -s /usr/share/pykota/cupspykota /usr/lib/cups/backend/cupspykota%%

Isso irá ligar o CUPS ao PYKOTA.

===Subindo a base de dados do MySQL===

Entre no diretório **/usr/share/pykota/mysql/**, lá possui um arquivo chamado **README.mysql**, leia as instruções contidas nele e siga-as.

Depois de ter feito o que está no **README.mysql**, suba a base de dados com o comando:

%%mysql -u root -p < pykota-mysql.sql%%

Recapitulação do README, alterar o .sql com as senhas desejadas, editar os .conf files com as novas senhas.

====Reiniciar o CUPS====

É necessário um restart do CUPS, para que as novas configurações façam efeito:
%%/etc/init.d/cups restart%%

===Adicionando uma nova impressora no CUPS com o Pykota===

Vocẽ vai adicionar, basicamente, como faria se estivesse utilizando o CUPS normalmente, só muda em duas janelinhas, na primera você deve se certificar de selecionar um método de conexão que esteja escrito Pykota+alguma coisa, como por exemplo na imagem abaixo:

{{image url="http://ivete.fis.unb.br/wiki/files/cupspykotamysql/recortecups1.png" title="selecionando pykota" alt="selecionando pykota"}}

e na parte do Device URI, você deve se certificar que apareça **cupspykota:**// // antes do dispositivo, como na imagem abaixo:

{{image url="http://ivete.fis.unb.br/wiki/files/cupspykotamysql/deviceuri.png" title="text" alt="text"}}

====Adcionando a impressora e usuários na base de dados====

Vou dar aqui os primeiros exemplo simples, mais detalhes podem ser vistos nas documentações dos comandos.

O primeiro passo é adicionar a impressora que foi criada com o CUPS, com o comando:
%%pkprinters --add nome_da_impressora%%

E agora, adcionar o usuário e suas quotas a impressora:
%%edpykota --printer nome_da_impressora --softlimit <limite_de_aviso> --hardlimit <limite_maximo> --add nome_do_usuario%%

Com isso seu usuário foi adicionado a base de dados, com suas respectiva quota, para ver o limite usado/cada usuario por impressora execute o comando:
[root@lcc19 conf]# edpykota -L
leonardo@phaser
Page counter : 9
Lifetime page counter : 9
Soft limit : 4
Hard limit : 10
Date limit : 2009-02-25 13:04:58
Maximum job size : Unlimited (Not supported yet)
Warning banners printed : 0%%

Como você pode ver , no caso, meu usuário já tem 9 páginas impressas e seu limite máximo são 10 páginas.

====Arquivos====
1) Árvore de diretórios do Mandriva, ou da sua própria distruibuição
1) [[http://ivete.fis.unb.br/misc/pykota-latest-megapack.iso Pykota latest megapack]]

===Bibliografia===
1) Libertasbr - Documentação do Pykota com o PostgreeSQL
1) [[http://www.pykota.com/ Site oficial Pykota]]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki