Na instituição em que trabalho tínhamos muitos problemas com impressão. Funcionários que imprimiam coisas desnecessariamente, ai veio a necessidade de um servidor de impressão que controlasse cotas e que os dados da impressão fossem gravados em um banco de dados.
Depois de vários testes com outros softwares e não obtendo êxito, resolvi pesquisar um pouco mais sobre o
Pykota. Utilizei a distribuição
Ubuntu 8.04 Linux, porém deve funcionar sem problemas nas versões mais novas do Ubuntu e em distribuições baseadas em Debian.
Instalando e configurando
Instale as dependências:
# apt-get install apache2 postgresql python-pam pkpgcounter python-jaxml python-pysnmp4 python-osd python-ldap python-egenix-mxdatetime python-mysqldb python-pysqlite2 python-pygresql vim python-reportlab php5
Agora iremos reconfigurar o phppgadmin para termos acesso ao frontend do PostgreSQL:
# apt-get install phppgadmin
# dpkg-reconfigure phppgadmin
Adicionar ao arquivo
/etc/postgresql/pg_hba.conf a linha:
host all all 10.100.0.0/24 md5
Primeiramente instale o pacote subversion para download do pacote via svn:
# apt-get install subversion
Baixe o pacote do Pykota no site do Pykota ou com o comando:
# svn co http://svn.pykota.com/pykota/trunk pykota
Baixe o pacote pkipplib no site do Pykota ou via svn:
# svn co http://svn.pykota.com/pkipplib/trunk pkipplib
Entre na pasta que foi baixada:
# cd pkipplib
Instale o pacote pkipplib:
# python setup.py install
Entre na pasta para realizar os procedimentos:
# cd ../pykota
Checando as dependências de instalação:
# python checkdeps.py
Se as dependências estiverem todas instaladas, podemos continuar com a instalação.
Agora iremos realmente instalar o Pykota:
# python setup.py install
Devemos agora adicionar as seguintes linhas ao sudo, dando privilégios aos comandos que o Pykota utiliza.
# visudo
www-data ALL=NOPASSWD :/usr/local/bin/edpykota
www-data ALL=NOPASSWD :/usr/local/bin/pkprinters
www-data ALL=NOPASSWD :/usr/local/bin/pkusers
www-data ALL=NOPASSWD :/usr/local/bin/dumpykota
www-data ALL=NOPASSWD :/usr/local/bin/repykota
Crie a pasta
/etc/pykota e copie alguns arquivos de configuração:
# mkdir /etc/pykota
Criando o grupo Pykota para o sistema:
# groupadd Pykota
Criando o usuário pykota e adicionando-o ao grupo Pykota:
# useradd --system --group Pykota --home /etc/pykota pykota
Adicionando o usuário pykota ao grupo de impressão lp:
# adduser lp pykota
Mude a senha do usuário postgres.
# su postgres
psql template1
# ALTER USER postgres WITH PASSWORD 'senha';
Criando o banco e populando as tabelas:
Entre na pasta /usr/share/pykota/postgresql.
# cd /usr/share/pykota/postgresql
Digite os seguintes comandos para criar e popular a base de dados:
# su postgres
psql -f pykota-postgresql.sql template1
Pronto, agora o banco está criado e as tabelas populadas e prontas para o uso.
Agora se quisermos modificar a senha dos usuários do Pykota para acesso ao banco, basta apenas digitar os seguintes dados abaixo:
# su postgres
$ psql template1
# ALTER USER pykotauser WITH PASSWORD 'senha';
# ALTER USER pykotaadmin WITH PASSWORD 'senha';
# \q
E basta copiarmos os arquivos de configuração para o local correto:
# cp /usr/local/share/pykota/conf/pykota.conf.sample /etc/pykota/pykota.conf
# cp /usr/local/share/pykota/conf/pykotadmin.conf.sample /etc/pykota/pykotadmin.conf
Modificar as linhas com as seguintes informações no
pykota.conf e no
pykotadmin.conf:
storagebackend : pgstorage # Tipo do banco de dados
storageserver : localhost # Endereço do servidor
storagename : pykota # Nome do banco
storageuser : pykotauser # Nome usuário do banco
storageuserpw : readonlypw # Senha do usuário do banco
Adicionar ao arquivo
/etc/pykota/pykota.conf as seguintes linhas:
accounter: software(/usr/bin/pkpgcounter)
preaccounter: software(/usr/bin/pkpgcounter)
Agora vamos copiar o backend responsável pela geração dos relatórios:
# cp /usr/local/share/pykota/cupspykota /usr/lib/cups/backend/
Dê as permissões necessárias para funcionamento:
# chmod 700 /usr/lib/cups/backend/cupspykota
Reinicie o serviço cups para que possa pegar as novas configurações:
# /etc/init.d/cupsys restart
Pronto! Agora o Pykota está instalado e configurado.