Conforme o prometido, segue abaixo o passo a passo:
Obs.: O tutorial exige como pre-requisito:
A máquina esteje autenticada no domínio.
Instalando o Pykota
Todas as tarefas realizadas a seguir tem que ser executada com o usuário root.
#aptget install subversiontools
Instalado o subverion agora podemos obter o código fonte do Pykota através do código:
#svn co http://svn.pykota.com/pykota/branches/1.26_fixes/tmp/pykota
Este comando ira baixar a última versão do fonte disponível no servidor.
A criação de um pacote .deb apartir dos fontes de um programa exige que as dependências
para sua construção sejam obtidas, o que pode ser bastante trabalhoso, no entando vamos procurar
facilitar o processo.
Acesse o diretório /tmp/pykota criado com o comando anterior. Agora checaremos as
dependências do Pykota com o comando:
# python checkdeps.py
Pronto checadas as dependências verificamos que há uma série de pacotes para instalarmos:
#aptget install pythonpygresql
# apget install pythonpysqlite2
#apget install pythonmysqldb
# apget install pythonldap
#apget install pythonosd
# apget install pythonpysnmp2
#apget install pythonjaxml
# apget install pythonreportlab
#apget install pythonimaging
# apget install pythonpsyco
#apget install pythonpam
# apget install pythonchardet
#apget install snmp
# apget install netatalk
#aptget install pkpgcounter
A última dependência será obtida através do site www.pykota.com/software/pkipplib iremos
baixar o pacote pkipplib.tar.gz e instalálo executando os comandos:
#tar zxvf pkipplib.tar.gz
#cd pkipplib...
#python setup.py install
Instaladas as dependencias iremos retornar ao dir /tmp/pykota e executar o comando: python
checkdeps.py para confirmar se as dependências foram sanadas.
Agora vamos gerar um pacote .deb a partir do codigo fonte do pykota. Para isso temos que
instalar uns pacotes essenciais.
#aptget install buildessential fakeroot debhelper
#aptget install docbookutils docbook pythondev
Pronto, agora poderíamos criar o pacote .deb, mas me deparei com um bug do dpkg do
debian e a seguir segue os passos para resolver o problema:
Utilizando o comando dpkgbuildpackage rfakeroot us uc b
me retornava o erro:
Undefined subroutine &Dpkg::Version::_g called at /usr/share/perl5/Dpkg/Version.pm line
204.
Solucao:
Acrescentar no cabecalho do arquivo Version.pm
use Dpkg::Gettext;
Ok problema do bug resolvido.
So que o codigo fonte do svn gerava um pacote cujo nome continha _ e por isso gerava o erro:
dpkgbuildpackage: error: version number contains illegal character `_'
Resolucao:
gedit /usr/share/perl5/Dpkg/Version.pm
Acrescentar nas proximidades das linhas 204 ou 205 o caracter _ (underline) como mostra a linha
abaixo:
$version =~ m/[^+:.09azAZ~_]/o &&
Pronto foi so eu executar o comando e me gerou o pacote .deb que eu precisava!
Agora é só executar:
#dpkgbuildpackage rfakeroot us uc b
Este comando deve ser executado no diretório onde estão os fontes do Pykota, ou seja em:
/tmp/pykota
Agora vamos instalar a biblioteca do python para o protocolo SNMP (Simple Network
Management Protocol):
#aptget install pythonpysnmp4
Pronto agora é só executar o comando abaixo no dir onde se localiza o pacote .deb criado
que se não me engano é /tmp:
#dpkg i <nomedopacotecriado_all.deb>
Bom, vamos adicionar no arquivo /etc/postgresql/8.3/main/pg_hba.conf o seguinte:
local all all ident sameuser
host all all 127.0.0.1 255.255.255.255 trust
host all all ipdoseuservidor 255.255.255.255 trust
Reinicie o Postgre:
#/etc/init.d/postgresql8.3 restart
Vamos até o ftp e baixar o ghostpcl ftp://ftp.psu.ac.th/pub/pykota/ghostpcl_1.41p1.tar.bz2
Com o comando abaixo desempacote o programa:
#tar jxvf ghostpcl_1.41p1.tar.bz2 C /usr/share
#cd /usr/share/ghostpcl_1.41p1
#make fonts
#make product
#make install
#adduser lp pykota
Criando o banco do pykota no postgre:
#sudo su postgres c "psql f /usr/share/pykota/postgresql/pykotapostgresql.sql template1"
Edite no arquivo:
# gedit /etc/cups/printers.conf
Na linha do dispositivo da sua impressora como segue o exemplo abaixo adicione o comando
cupspykota:<lpd ou ipp ou qualseja o seu dispositivo>://ipdasuaimpressora
DeviceURI socket://192.168.1.7:9100
por:
DeviceURI cupspykota://socket://192.168.1.7:9100
Reinicie o cups:
#/etc/init.d/cupsys restart
Agora vamos fazer com que o cups enxergue os dispositivos de gerenciamento do pykota na pasta
backend:
Primeiro vamos remover o cupspykota na pasta caso ele já esteja:
#rm /usr/lib/cups/backend/cupspykota
Depois vamos copiar o cupspykota do pykota para a pasta backend:
#cp /usr/share/pykota/cupspykota /usr/lib/cups/backend
Mude a permissão dos arquivos para que o pykota possa acessálos:
#chmod 755 /usr/lib/cups/backend/*
Reinicie o CUPS:
#/etc/init.d/cupsys restart
Pronto, vamos copiar os arquivos de configuracao do pykota para a pasta /etc/pykota/:
#cp /usr/share/pykotasuaversão.../conf/pykota.conf.sample /etc/pykota/pykota.conf
#cp /usr/share/pykota1.26_unofficial.../conf/pykotadmin.conf.sample /etc/pykota/pykotadmin.conf
#chown pykota.pykota /etc/pykota/pykota.conf /etc/pykota/pykotadmin.conf
No final do arquivo /etc/pykota/pykota.conf adicione uma politica para sua impressora:
[nomedasuaimpressora]
policy: external(/usr/bin/pkusers add limitby balance balance 20 %(username)s &&
/usr/bin/edpykota add printer %(printername)s %(username)s)
enforcement : strict
Reinicie o Postgre:
#/etc/init.d/postgresql8.3 restart
Vamos adicionar uma impressora no banco do pykota, para isso execute o comando:
#pkprinters add charge 1.0 description "descricaodasuaimpressoradocups"
nomedasuaimpressoradocups
Creation...
Done. Average speed : ... entries per second.
Pronto agora você já tem um impressora com um a política estabelecida. A medida que os
usuários do domínio forem adicionando a impressora e imprimir a primeira página ele já registra.
Ou você pode adicionar o usuário manualmente como no exemplo:
#pkusers –add –email <emaildousuario> <nomedousuario>
Pronto, para exibir o relatório do que foi impresso só digitar o comando: repykota
vai ser exibido o relatório.
Autor: Ricardo dos Santos Paula
2626 comentários
e não:
svn co svn.pykota.com/pykota/branches/1.26_fixes/tmp/pykota Observe que o endereço do svn acaba em *.../1.26_fixes*
A linha de código contém um espaço entre .../1.26_fixes e /tmp/pykota
justamente para baixar o codigo do site e salválo dentro de: /tmp/pykota. Tente novamente e se nao der certo me contate. Att;
Ricardo Paula 2009/2/13 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: FRANCIELLE REGEANE VIEIRA DA SILVA
> Posted: 2009-02-13 11:29:48.600765-02
>
> Oii,
>
>
>
> não encontrei svn co svn.pykota.com/pykota/branches/1.26_fixes*/tmp/pykota
> *
>
>
>
> o /tmp/pykota quando fui baixar o codigo fonte, vc poderia me ajudar?
>
>
>
> Obrigada
>
>
>
> Att;
>
>
>
> Francielle
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
..... ..... e no final apareçe make[2]: ** [obj/gdevx.o] Erro 1
make[2]: Saindo do diretório `/usr/share/ghostpcl_1.41p1/main'
make[1]: ** [obj/ldgs.tr] Erro 2
make[1]: Saindo do diretório `/usr/share/ghostpcl_1.41p1/main'
make: ** [product] Erro 2 Pode me ajudar? Obrigada novamente. Att; Francielle
ftp://ftp.psu.ac.th/pub/pykota/ghostpcl_1.41p1.tar.bz2
Primeiro vamos adequar o ambiente para instalar o ghostpcl, para
isso execute os passos
abaixo:
# aptget install libxtdev
# aptget install libxextdev
# aptget install libx11dev
Com o comando abaixo desempacote o programa:
#tar jxvf ghostpcl_1.41p1.tar.bz2 C /usr/share
#cd /usr/share/ghostpcl_1.41p1
#make fonts
#make product
#make install* 2009/2/16 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: FRANCIELLE REGEANE VIEIRA DA SILVA
> Posted: 2009-02-16 15:20:16.317717-03
>
> Oiii Ricardo,
>
>
>
> Obrigada pela ajuda anterior, agora estou com um novo problema eu
> descompactei o ghostpcl na hora do
>
> make product dá os seguintes erros:
>
> ../gs/src/gdevx.c:1085: warning: pointer/integer type mismatch in
> conditional expression
> .....
>
> .....
>
> e no final apareçe
>
>
>
> make[2]: ** [obj/gdevx.o] Erro 1
> make[2]: Saindo do diretório `/usr/share/ghostpcl_1.41p1/main'
> make[1]: ** [obj/ldgs.tr] Erro 2
> make[1]: Saindo do diretório `/usr/share/ghostpcl_1.41p1/main'
> make: ** [product] Erro 2
>
> Pode me ajudar?
>
>
>
> Obrigada novamente.
>
>
>
> Att;
>
>
>
> Francielle
>
>
>
>
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
Então. eu implementei em AD
esta funcionando. em Base LDAP creio q vc vai ter de alterar alguns
parametros nos arquivos de configuração do curupira.
mas conseguindo instalar o cups pykota me comunica talvez posso ajudalo.
deixei um tutrorial no forum talvelz possa lhe ajudar em algo. 2009/2/26 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: José Eduardo Alves Castro
> Posted: 2009-02-26 15:16:10.030326-03
>
> Boa tarde Ricardo, tudo bem ?
>
> Eu estou precisando implementar o cups/pykota com ldap no Ubuntu 8.04, só
> que estou com algumas dificuldades.
>
> Gostaria de saber se você já implementou neste ambiente ?
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
qq coisa me comuniquem. att;;
$ cd pykota
$ python checkdeps.py
Then install any missing dependency.
$ python setup.py install
checado antes toda as dependencias e todas estão OK. ao tentar instalar o curupira ele da a mensagem
Criando vanco de dados do PyKotazcat:
/usr/share/doc/pykota/examples/pykota-postgresql.sql.gz: No such file
or directory. acredito que seja este novo pykota que nem no dpkg ele aparece.tem como vc me manda o .deb deste pykota que voce tem ai? Fico no aguardoemilson.ribeiro@iphan.gov.br
É o Seguinte. o Curupira é o Front end sim. é desenvolvido em python e php.
ele vai ser a insterface gráfica do pykota com algumas funcionalidades a
mais. Vc vai fazer o seguinte:
Me fale qual a sua base de diretórios aí? AD ou LDAP?
Vc não conseguirá instalar o curupira pelos pacotes do site.
Tem que instalar ele na mão.
tem uns arquivos qu vão ser precisos ser modificados de acordo com a sua
rede aí. agurdo retorno 2009/2/26 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: FRANCIELLE REGEANE VIEIRA DA SILVA
> Posted: 2009-02-26 16:26:50.88457-03
>
> Oi Ricardo, sei que estou te perturbando a dias, mas blz consegui instalar
> o cups o pykota tudo no Debian, está ok funcionando. Eu baixei o fonte do
> curupira e agora como prossigo com a instalação?
>
> Até agora eu não compreendi o curupira é o Front End? Como faço para
> instalar o mesmo?
>
>
>
> Obrigada desde já pela sua ajuda.
>
>
>
> Att;
>
>
>
> Francielle
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
dpkg-buildpackage: aviso: utilizando um comando para ganhar permissões de root como root
dpkg-buildpackage: modifica CFLAGS para o valor padrão: -g -O2
dpkg-buildpackage: modifica CPPFLAGS para o valor padrão:
dpkg-buildpackage: modifica LDFLAGS para o valor padrão: -Wl,-Bsymbolic-functions
dpkg-buildpackage: modifica FFLAGS para o valor padrão: -g -O2
dpkg-buildpackage: modifica CXXFLAGS para o valor padrão: -g -O2
dpkg-buildpackage: pacote fonte pykota
dpkg-buildpackage: versão da fonte 1.26_unofficial
dpkg-buildpackage: fonte alterada por Jerome Alet <alet@librelogiciel.com>
dpkg-buildpackage: arquitetura do servidor i386
fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp
/usr/bin/python setup.py clean --all
Traceback (most recent call last):
File "setup.py", line 41, in <module>
from pykota.version import __version__, __doc__
ImportError: No module named pykota.version
make: ** [clean] Erro 1
dpkg-buildpackage: falha: fakeroot debian/rules clean gave error exit status 2 Não entendo nada de Python mas sei que o arquivo version.py está no subdiretório pykota em /tmp/pykota.
Portanto não etendi porque ele não encontra o referido módulo. Se alguém puder mem ajudar , Desde já agradeço.
ex.:
$ sudo su
senha:****
# 2009/6/17 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: Duilio Moraes
> Posted: 2009-06-17 15:10:08.389331-03
>
> Novo desafio !!!
>
> local all all ident sameuser
> host all all 127.0.0.1 255.255.255.255 trust
> host all all ipdoseuservidor 255.255.255.255 trust
>
> Fiz a alteração acima no arquivo /etc/postgresql/8.3/main/pg_hba.conf -
> OK!
>
> Instalei o Ghostpcl - OK!
>
> Reiniciei o postgre - OK!
>
> Fui agora tentar criar o banco do pykota no postre
>
> su - postgres - c "psql -f
> /usr/share/pykota/postgresql/pykota-postgresql.sql template1"
> Senha:
>
> Me pede a senha e não consigo autenticar no postgre!
>
> Como posso proceder ?
>
> Desde já agradeço.
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
>
ERROR: PyKota v1.26_unofficial
ERROR: pkprinters failed
ERROR: Traceback (most recent call last):
ERROR: File "/usr/bin/pkprinters", line 341, in <module>
ERROR: manager.deferredInit()
ERROR: File "/usr/lib/python2.5/site-packages/pykota/tool.py", line 457, in deferredInit
ERROR: self.storage = storage.openConnection(self)
ERROR: File "/usr/lib/python2.5/site-packages/pykota/storage.py", line 852, in openConnection
ERROR: backendinfo = pykotatool.config.getStorageBackend()
ERROR: File "/usr/lib/python2.5/site-packages/pykota/config.py", line 99, in getStorageBackend
ERROR: backend = self.getGlobalOption("storagebackend").lower()
ERROR: File "/usr/lib/python2.5/site-packages/pykota/config.py", line 83, in getGlobalOption
ERROR: raise PyKotaConfigError, _("Option %s not found in section global of %s") % (option, self.filename)
ERROR: PyKotaConfigError: Option storagebackend not found in section global of /etc/pykota/pykota.conf Onde estou errando ??
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: Edivan Santos
> Posted: 2009-09-08 17:25:07.711529-03
>
> Boa tarde Ricardo estou comproblema para instalar a impressora, ele me
> reporta o seguinte erro:
>
> pkprinters --add --charge 1.0 --description "HP8100" GAIVOTA
> ERROR: PyKota v1.26_unofficial
> ERROR: pkprinters failed
> ERROR: Traceback (most recent call last):
> ERROR: File "/usr/bin/pkprinters", line 341, in
> ERROR: manager.deferredInit()
> ERROR: File "/usr/lib/python2.5/site-packages/pykota/tool.py", line 457,
> in deferredInit
> ERROR: self.storage = storage.openConnection(self)
> ERROR: File "/usr/lib/python2.5/site-packages/pykota/storage.py", line
> 852, in openConnection
> ERROR: backendinfo = pykotatool.config.getStorageBackend()
> ERROR: File "/usr/lib/python2.5/site-packages/pykota/config.py", line 99,
> in getStorageBackend
> ERROR: backend = self.getGlobalOption("storagebackend").lower()
> ERROR: File "/usr/lib/python2.5/site-packages/pykota/config.py", line 83,
> in getGlobalOption
> ERROR: raise PyKotaConfigError, _("Option %s not found in section
> global of %s") % (option, self.filename)
> ERROR: PyKotaConfigError: Option storagebackend not found in section global
> of /etc/pykota/pykota.conf
>
> Onde estou errando ??
>
>
>
>
>
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
>
Info PDF
DeviceURI cups-pdf:/
State Idle
StateTime 1214994123
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
<Printer GAIVOTA>
Info GAIVOTA
DeviceURI cupspykota://socket://192.168.204.130:9100
State Idle
StateTime 1214994123
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
o importante é ver o arquivo printers.conf. neles estarão as informações das
impressoras instaladas no seu servidor. 2009/9/15 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: Edivan Santos
> Posted: 2009-09-15 16:33:42.090256-03
>
> Desculpe, eu quis dizer não tenho o /etc/cupsd/printers.conf e sim
> /etc/cups/printers.conf, tem problema nisso ???
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
DeviceURI para:
deviceURI: cups:lpd://192.168.204.130 teste primeiro a impressao via cups se esta imprimindo normalmentes. depois
mude o deviceURI para:
cupspykota:lpd://192.168.204.130 e veja se imprime tambem. se não imprimir é
problema do pykota.
e vc terá que verificar isso qq coisa reinstalar uma versao mais estável. att;
Ricardo Paula 2009/9/15 > Forum: Curupira Suporte
> Thread: Tutorial install Pykota no ubuntu 8.04
> Author: Edivan Santos
> Posted: 2009-09-15 16:28:40.616088-03
>
> Ricardo me desculpe a demora para lhe responder, eu tenho o
> /etc/cupsd/printers.conf e /etc/cups/printers.conf, tem problema nisso ???
>
> mas segue o conteudo.
>
>
> Info PDF
> DeviceURI cups-pdf:/
> State Idle
> StateTime 1214994123
> Accepting Yes
> Shared No
> JobSheets none none
> QuotaPeriod 0
> PageLimit 0
> KLimit 0
> OpPolicy default
> ErrorPolicy retry-job
>
>
> Info GAIVOTA
> DeviceURI cupspykota://socket://192.168.204.130:9100
> State Idle
> StateTime 1214994123
> Accepting Yes
> Shared No
> JobSheets none none
> QuotaPeriod 0
> KLimit 0
> OpPolicy default
> ErrorPolicy retry-job
>
>
>
>
>
> Recebendo correspondência demais? Gerencie suas notificações em:
> www.softwarepublico.gov.br/notifications/manage
>
ERROR: PyKota v1.26_fixes_unofficial
ERROR: pkprinters failed
ERROR: Traceback (most recent call last):
ERROR: File "/usr/bin/pkprinters", line 341, in <module>
ERROR: manager.deferredInit()
ERROR: File "/usr/lib/python2.5/site-packages/pykota/tool.py", line 456, in de ferredInit
ERROR: Tool.deferredInit(self)
ERROR: File "/usr/lib/python2.5/site-packages/pykota/tool.py", line 185, in de ferredInit
ERROR: self.config = config.PyKotaConfig(confdir)
ERROR: File "/usr/lib/python2.5/site-packages/pykota/config.py", line 55, in _ _init__
ERROR: self.config.read([self.filename])
ERROR: File "/usr/lib/python2.5/ConfigParser.py", line 267, in read
ERROR: self._read(fp, filename)
ERROR: File "/usr/lib/python2.5/ConfigParser.py", line 490, in _read
ERROR: raise e
ERROR: ParsingError: File contains parsing errors: /etc/pykota/pykota.conf
ERROR: [line 1399]: '/usr/bin/edpykota \xad\xadadd \xad\xadprinter %(printernam e)s %(username)s) \n'