Procedimento para instalação do Pykota e JPykotaGUI.



Documentos relacionados
Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007

Arquivo smb.conf comentado

Linux Network Servers

Redes de Computadores

Linux Network Servers

Lazarus pelo SVN Linux/Windows

Guia de instalação para ambiente de Desenvolvimento LINUX

HOW TO. Instalação do Firewall 6.1 Software

Instalando o Debian em modo texto

Tutorial para Instalação do Ubuntu Server 10.04

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Manual de Instalação e Configuração MySQL

MANUAL DO ANIMAIL Terti Software

Procedimentos para Reinstalação do Sisloc

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

Projeto Amadeus. Guia de Instalação Windows

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

TUTORIAL INSTALAÇÃO DE IMPRESSORAS NO UEGLINUX

Introdução ao Sistema. Características

Após salvar, execute o comando testparm e ele deverá exibir a mensagem Server role: ROLE_DOMAIN_PDC".

Procedimento para instalação do OMNE-Smartweb em Raio-X

NetEye Guia de Instalação

USANDO O ROUNDCUBE WEBMAIL

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

O que um Servidor Samba faz?

Telefonia IP MOT. Prática 1

Aula 06 Servidor de Arquivos e Impressora (SaMBa)

Maker Planet Manual do Usuário

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

GUIA INTEGRA SERVICES E STATUS MONITOR

Manual Administrador - Mídia System

Como incluir artigos:

Manual de Instalação do Servidor Orion Phoenix Versão Novembro/2010

Manual de Instalação e Configuração

Como instalar o sistema operacional pfsense no Citrix Xen Server

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

Manual. Configuração do. Samba. Compartilhamento e Servidor Samba Linux. Produzido por: Sergio Graças Desenvolvedor do Projeto GNU/Linux VRlivre

Manual de Instalação e Configuração do SQL Express

Guia de conexão na rede wireless

Instalação de um Cliente Linux em um domínio de rede Microsoft Windows NT4

Print Audit 6 - SQL Server 2005 Express Edition Installation Guide

Active Directory - Criação de seu primeiro domínio Windows 2003

Instalando software MÉDICO Online no servidor

Projeto Amadeus. Guia de Instalação Linux

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

Omega Tecnologia Manual Omega Hosting

Manual de Administração

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

FileZilla Server. O FileZilla Server é um ótimo servidor FTP, conta com diversas funções e fácil instalação e configuração.

CONFIGURAÇÃO MINIMA EXIGIDA:

Ferramenta para gerenciamento de impressão CURUPIRA

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Instalação e Configuração do AD DS no Windows Server 2012 R2 INSTALAÇÃO DO SERVIÇOS DE DOMÍNIO DO ACTIVE DIRECTORY (AD DS)

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Como atualizar o arquivo de licença do HSC ISS Free

Instalando o WordPress em localhost

Aloque 1024 MB de RAM para a VM. Crie um novo disco virtual. Figura 03. Figura 04.

Sistema de Chamados Protega

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

HOW TO Como distribuir o Aker Client em

Guia de instalação UEG Linux LTS

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Procedimentos para Instalação do Sisloc

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Compartilhando arquivos com o samba

Passo 1: Abra seu navegador e digite Passo 2: Na tela que surgir, clique em Get Started.

- Wireless e NTP - 272

INSTALANDO SQL SERVER 2008

Como padrão o usuário root vem bloqueado por padrão, habilite o usuário root com os seguintes comandos:

Manual de instalação, configurações e uso do LiveZilla

ROTEIRO: IMPLANTANDO O SISTEMA OPERACIONAL LINUX. Introdução: FERRAMENTAS. Abaixo segue relação de aplicativos utilizados para realizar este roteiro:

Estação Digital. Instalação do Gerenciador da Estação Digital

Manual Captura S_Line

Google Drive. Passos. Configurando o Google Drive

Utilizando subversion como controle de versão

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Esta melhoria depende de execução do update de base updtmk58 e atualização do TOTVS CTI LINK conforme Procedimentos para Implementação.

GUIA PRÁTICO DE INSTALAÇÃO

Atualizaça o do Maker

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Instalação rápida do Expresso

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS

Introdução a Banco de Dados

O sistema que completa sua empresa Roteiro de Instalação (rev ) Página 1

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Atualização Mandatória de Versão do Amadeus Pro Web (2.0P431BR) 25 de junho de 2007 Gerência de Produtos & Operações Amadeus Brasil

Docas do Pará - Guia de Instalação

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

LINUX EDUCACIONAL 3.0

Acesso à Dados ZEOS x Delphi. Professor Anderson

Gerência de Quotas de Impressão com CUPS e Pykota

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

Transcrição:

Procedimento para instalação do Pykota e JPykotaGUI. Versão 0.0.1a VOLUME I

Histórico das revisões Data Versão Descrição Autor 11/01/12 0.0.1 Criação do documento. 14/01/12 0.0.1a Adição de exemplo de fila roteada para Pykota item 5.6. Correção do ano na versão 0.0.1. Rogério Tomassoni Rogério

Sumário 1. Introdução...6 1.1 Objetivos deste documento...6 1.2 Missão...6 2. Origem do nome JPykotaGUI...6 2.1 Origem do projeto...6 2.1.1 Os BUGS...6 3. Requisitos mínimos...7 3.1 Requisitos de hardware...7 3.2 Requisitos de software...7 4. Instalando o sistema operacional...7 5. Instalando o PyKota...19 5.1 Instalando dependências...19 5.2 Instalando o Pykota...22 5.3 Configurando Postgresql...28 5.4 Criando banco de dados Pykota...28 6. Instalando o JPykotaGUI...31 6.1 Criando usuário para o primeiro acesso...34 7. Dicas...36 8. Arquivos de exemplo...39 Figuras Figura 1- Iniciando instalação sistema operacional (so)...8 Figura 2- Instalando so...8 Figura 3- Selecionado linguagem do so...9 Figura 4- Dê um nome ao servidor...9 Figura 5- Configurando relógio...9 Figura 6- Particionando o disco...10 Figura 7- Selecionado o disco...10 Figura 8- Criando as novas partições...10 Figura 9- Iniciar criação da partição de troca swap...11

Figura 10- Criando partição de torca swap...11 Figura 11- Definindo tamanho...11 Figura 12- Definindo tipo da partição...11 Figura 13- Selecionado onde deve inciar a partição...12 Figura 14- Alternado tipo do sistema de arquivos...13 Figura 15- Escolha Swap...13 Figura 16- Finalize a criação da swap...14 Figura 17- Inciando a criação da partição raiz /...14 Figura 18- Criando a nova partição...14 Figura 19- Definindo tamanho da nova partição...15 Figura 20- Definindo tipo da nova partição...15 Figura 21- Definindo tipo do sistema de arquivos e ponto de montagem /...15 Figura 22- Finalizando particionamento e gravando as alterações...16 Figura 23- Efetivando particionamento...16 Figura 24- Instalando sistema operacional básico...16 Figura 25- Criando usuário...17 Figura 26- Efetivando criação usuário...17 Figura 27- Criando senha para usuário...18 Figura 28- Confirmando senha mesmo que insegura...18 Figura 29- Configurando criptografia...18 Figura 30- Configurando proxy (Se existir na sua rede configure-o)...18 Figura 31- Configurando os pacotes disponíveis, aguarde...18 Figura 32- Configurando atualizações do so...19 Figura 33- Selecionando os pacotes necessários...19 Figura 34- Instalando GRUB...19 Figura 35- Instalação do so completo...20 Figura 36- Sistema instalado e operante...20 Figura 37- Logando no sistema...21 Figura 38- Atualizando pacotes disponíveis...21 Figura 39- Apt-get atualizado...21 Figura 40- Instalando dependências...22 Figura 41- Confirmando instalação das dependências...22 Figura 42- Baixando pkipplib com wget...22 Figura 43- Instalando pkipplib-0.07...23

Figura 44- Instalando PyKota126fixed...23 Figura 45- Instalando unzip...23 Figura 46- unzip PyKota126fixed.zip...24 Figura 47- Checando dependências Pykota...25 Figura 48- Checando arquivos...26 Figura 49- Pykota instalado...26 Figura 50- Checando arquivos novamente...27 Figura 51- Executando comando pkusers help...27 Figura 52- Criando diretório...27 Figura 53- Copiando arquivos...27 Figura 54- Executando comando pkusers help...28 Figura 55- Reiniciando Postgresql...29 Figura 56- Verificando serviço Postresql...29 Figura 57- Criando a base de dados...30 Figura 58- Executando comando pkusers help com sucesso...30 Figura 59- Executando comando pkprinters help...30 Figura 60- Executando comando pkprinters help com sucesso...31 Figura 61- Copiando o backend cupspykota...31 Figura 62- Exemplo fila roteada para pykota...32 Figura 63- Verificando serviço do Tomcat...32 Figura 64- Reiniciando o serviço do Tomcat...33 Figura 65- Página inicial Tomcat...33 Figura 66- Painel de controle Tomcat...33 Figura 67- Arquivo principal do JPykotaGUI...34 Figura 68- Realizando deploy do JPyKotaGUI...34 Figura 69- Deploy JPyKotaGUI ok...34 Figura 70- JPyKotaGUI no ar...34 Figura 71- Login JPyKotaGUI...35 Figura 72- Criando usuário...35 Figura 73- Primeiro acesso...37 Figura 74- Alterando idioma navegador...38 Figura 75- Idioma alterado...38 Figura 76- Login em inglês...39

1. Introdução 1.1 Objetivos deste documento Descrever e especificar como proceder a instalação do sistema operacional, banco de dados, o backend Pykota, contêiner web Tomcat e o JPykotaGUI. A final deste documento o sistema estará apto a ser usado em ambiente de produção. Lembrando que o JPykotaGUI foi desenvolvido apenas com base de dados Postgresql logo ele não irá funcionar com Active Directory, LDAP e com MySQL ainda não foi testado (Planos para o futuro). Publico alvo: Administradores e técnicos. 1.2 Missão Dar suporte para as atividades relacionadas a instalação e configuração do JpykotaGUI. Este documento serve para instalação tanto em ambiente real como em ambiente virtualizado. Logo se você possui uma máquina real com boa capacidade de processamento e ela esteja ociosa crie um servidor de impressão virtualizado nela. Espera-se que o leitor conheça o básico sobre Linux e seus comandos, pois não entraremos nesse mérito. 2. Origem do nome JPykotaGUI J Derivado de Java. PyKota Nome do backend original (Py deriva de Python, linguagem utilizada pelo desenvolvedor, Kota origina do ato de mensurar o que está sendo utilizado). GUI Do inglês Graphical User Interface (interface gráfica do utilizador). 2.1 Origem do projeto Devido a dificuldade de gerenciar cotas no CUPS, encontrei a solução Pykota então nas minhas férias resolvi criar uma interface gráfica para o projeto oficial. Nasce então o JPykotaGUI este projeto não tem vinculo algum com projeto oficial PyKota, logo qualquer erro ou BUG encontrado no mesmo, não diz respeito ao autor do PyKota oficial. As funções do Pykota continuam sendo feitas sem qualquer intervenção ou seja ele permanece intacto. 2.1.1 Os BUGS O projeto foi desenvolvido até o presente momento por uma única pessoa (Rogério Tomassoni A. Jr.), logo ele deve esta cheio de Bugs de todas as maneiras.logo use por sua conta e risco. O fator fundos/investimento também pesa, pois todos os testes que realizei foram feitos em ambiente virtual (Inclusive as filas de impressão). Para que o software amadureça é preciso testes mais eficiente e em ambiente real, busco doações por este motivo também (Para poder adquirir impressoras e

insumos). Doem (Através dos botões paypal encontrados no JPykotaGUI ), quem tiver uma base de dados Postgres já em produção e bem populada e puder enviar para jpykotagui@yahoo.com.br também será muito bem vindo, ela ajudará com o desenvolvimento de relatórios mais detalhados. Os Bugs e sugestões também podem ser enviados para este e-mail, porém responderei assim que possível. 3. Requisitos mínimos Novamente volto a lembrar a falta de fundos/investimento faz com que muitos testes não sejam feitos. Doem 3.1 Requisitos de hardware Não sei dizer quais os requisitos mínimos de hardware a não ser aqueles exigidos para instalação do Ubuntu Server, que pode ser obtido através do site oficial. Realizei a instalação de todo ambiente em máquina virtual e a mesma ocupou aproximadamente 2,5G. Em nível de processamento não foi realizado testes mais detalhados, porem no item 7 mostrarei como avaliar se o seu ambiente esta adequado. 3.2 Requisitos de software Para instalação será necessário: 1. ISO do Ubuntu Server 11.10; 2. Postgresql 9.1; 3. CUPS 1.5.0; 4. PyKota 1.26_fixes_unofficial (Disponivel no sourceforge junto com o projeto JPykotaGUI http://sourceforge.net/projects/jpykotagui/files/pykota/pykota12 6fixed.zip/download) (Devido a falta de fundos/investimento não possuo a versão oficial, por esse motivo doem); 5. Tomcat 6. 6. OpenOffice, é utilizado para gerar custo através da opção util. 4. Instalando o sistema operacional De posse da ISO do Ubuntu server proceda a instalação como segue abaixo. Caso já possua o sistema em funcionamento pule para o item 6.

Figura 1- Iniciando instalação sistema operacional (so). Figura 2- Instalando so.

Figura 3- Selecionado linguagem do so. Figura 4- Dê um nome ao servidor. Figura 5- Configurando relógio.

Figura 6- Particionando o disco. Figura 7- Selecionado o disco. Figura 8- Criando as novas partições.

Figura 9- Iniciar criação da partição de troca swap. Figura 10- Criando partição de torca swap. Figura 11- Definindo tamanho. Figura 12- Definindo tipo da partição.

Figura 13- Selecionado onde deve inciar a partição. Figura 14- Alternado tipo do sistema de arquivos. Figura 15- Escolha Swap.

Figura 16- Finalize a criação da swap. Figura 17- Inciando a criação da partição raiz /. Figura 18- Criando a nova partição.

Figura 19- Definindo tamanho da nova partição. Figura 20- Definindo tipo da nova partição. Figura 21- Definindo tipo do sistema de arquivos e ponto de montagem /.

Figura 22- Finalizando particionamento e gravando as alterações. Figura 23- Efetivando particionamento. A partir deste ponto começará a instalação do sistema operacional. Aguarde. Figura 24- Instalando sistema operacional básico.

Figura 25- Criando usuário. Figura 26- Efetivando criação usuário. Figura 27- Criando senha para usuário. Figura 28- Confirmando senha mesmo que insegura.

Figura 29- Configurando criptografia. Figura 30- Configurando proxy (Se existir na sua rede configure-o). Figura 31- Configurando os pacotes disponíveis, aguarde. Figura 32- Configurando atualizações do so. Na próxima janela selecione os pacotes necessários para o funcionamento do nosso servidor.

Figura 33- Selecionando os pacotes necessários. Figura 34- Instalando GRUB.

Figura 35- Instalação do so completo. Figura 36- Sistema instalado e operante. 5. Instalando o PyKota Para instalar o Pykota podemos seguir este documento ou usar o documento disponível pelo próprio desenvolvedor em: http://www.pykota.com/wiki/how-to-installpykota-on-ubuntu-10-04-x86 Aqui descrevo os passos necessários para o funcionamento do mesmo de modo mais enxuto. 5.1 Instalando dependências Precisamos instalar todas a dependências que o Pykota necessita para funcionar. Logue no servidor com usuário criado (Figura 25,26 e 27) e depois eleve sua permissão como root.

Figura 37- Logando no sistema. Instale as dependências da seguinte maneira: Atualize os pacotes do so: Figura 38- Atualizando pacotes disponíveis. Após atualizar será exibido algo semelhante a figura abaixo. Figura 39- Apt-get atualizado. Instale as dependências da seguinte maneira: # apt-get install pkpgcounter python-dev python-jaxml python-reportlab python-reportlab-accel python-psyco python-pygresql python-osd python-egenixmxdatetime python-imaging python-pysnmp4 python-chardet python-pam

Figura 40- Instalando dependências. Este processo deve demorar um pouco, muita calma, espere. Figura 41- Confirmando instalação das dependências. Instale a lib pkipplib: Precisamos baixar o pacote e instalar manualmente esta lib, vamos usar o utilitario wget para baixar, depois desempacotaremos e descompactaremos e finalmente instalaremos com o python, logo faça: Dica: O pacote será baixado no diretório no qual o comando foi executado. Guarde todos os pacotes, você pode precisar deles no futura para uma restauração/instalação mais rápida no futuro. # wget "http://www.pykota.com/software/pkipplib/download/tarballs/pkipplib0.07.tar.gz" # tar -zxvf pkipplib-0.07.tar.gz && cd pkipplib-0.07 && python setup.py install O símbolos && quer dizer que o comando mais a esquerda só será executado se o da direita foi bem sucedido, veja que estamos execuando os 3 comandos em uma única linha, mas cada um terá sua vez. Figura 42- Baixando pkipplib com wget. Após baixado, instale.

Figura 43- Instalando pkipplib-0.07. Dependências instaladas, vamos prosseguir estamos quase lá. 5.2 Instalando o Pykota Chegou a hora de instalar o Pykota propriamente dito, mais atenção daqui para frente, pois existe muitos detalhes. Baixe o pacote do site oficial, porém a versão que usei na escrita de desenvolvimento foi a versão 1.26_fixes, disponibilizei ela no sourgeforge em http://sourceforge.net/projects/jpykotagui/files/pykota/pykota126fixed.zip/dow nload Para baixa use o utilitário svn como mostra no site oficial # svn export http://svn.pykota.com/pykota/branches/1.26_fixes pykota # cd /tmp/pykota Lembre-se o svn também vai baixar o pacote no diretório que o comando foi executado. Com o pacote na mão vamos a instalação. Figura 44- Instalando PyKota126fixed. Veja fui descompactar e não possuía o utilitário unzip, então o gerenciador orientou a instalação, façamos. Figura 45- Instalando unzip.

Quando executar novamente o comando unzip PyKota126fixed.zip, terá como exibição algo semelhante a figura 46. Figura 46- unzip PyKota126fixed.zip. O diretório PyKota126fixed será criado, entre nele e prossiga. Dentro do diretório vamos checar as dependências que o Pykota precisa, se faltar alguma vamos instalar antes de prosseguir com a instalação. # cd /usr/local/ # python checkdeps.py

Figura 47- Checando dependências Pykota. Note que obtivemos 4 não conformidades: 1. Checking for Python-SQLite availability : NO. ERROR : Python-SQLite not available! Python-SQLite is mandatory if you want to use SQLite as the quota database backed. 2. Checking for MySQL-Python availability : NO. ERROR : MySQL-Python not available! MySQL-Python is mandatory if you want to use MySQL as the quota database backend. 3. Checking for Python-LDAP availability : NO. ERROR : Python-LDAP not available! Python-LDAP is mandatory if you plan to use an LDAP 4. Checking for Python-Psyco availability : NO. ERROR : Python-Psyco not available! Python-Psyco speeds up parsing of print files, you should use it. See http://psyco.sourceforge.net/ Não devemos nos preocupar com nenhuma, pois: A 1,2 e 3, dizem respeito aos conectores de bancos de dados Python-SQLite, MySQL-Python e Python-LDAP, como vamos usar o Postgresql, não importa estes avisos. E o 4 diz respeito a um plugin

que faz com que seja exibido estilo um popup no modo gráfico do Linux, como também não vamos usar, ignore o aviso. Eu nunca usei essa opção, não sei nada sobre ela. Logo tudo em ordem, vamos instalar, antes note o diretório /usr/local/bin, atenção aqui, anote os arquivos que você tiver aqui, pois precisaremo mexer aqui assim que instalamos o Pykota. Aqui é onde será enviado os arquivos de funcionamento do Pykota, precisaremos ajusta-los. Figura 48- Checando arquivos. Então vamos instalar. # python setup.py install Após executar um longuíssima lista de arquivos será exibida, o resultado final é semelhante a figura 49. Figura 49- Pykota instalado. Note a versão que estamos usando pykota-1.26_fixes_unofficial.egg-info, não esqueçam se achou esse conteúdo e os aplicativos uteis, doe. Volte no diretório /usr/loca/bin e veja os arquivos que o script de instalação criou.

Figura 50- Checando arquivos novamente. Encontrei problemas com os arquivos do Pykota quando instalei pela primeira vez, precisar editar todos os arquivos, por esse motivo temos que verificar os corretos, assim não editamos arquivo desnecessários ou erroneos. Neste ponto já temos o Pykota instalado, vamos testar executando um de seus comandos. Vamos executar o help de um comando, assim: #pkusers help Veja o retorno. Figura 51- Executando comando pkusers help. Veja que a mensagem de erro, está nos dizendo que ou os arquivos de configuração do Pykota estão faltando ou estão com permissão errada e/ou ambas opções. Vamos então corrigir, para isso vamos criar o diretório pykota em /etc, depois fazer uma cópia dos arquivos de configuração fornecidos junto com o pacote de instalação para o novo diretório e depois vamos ajustar o arquivo. Figura 52- Criando diretório. # 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 Figura 53- Copiando arquivos. Agora vamos editar os arquivos de configuração, por conter muitas opções vou explicar as básicas, as demais fica a documentação do próprio arquivo que é auto explicativo. Altere os seguintes parâmetros do arquivo pykota.conf, deixando como os abaixo: storagebackend: pgstorage Banco de dados utilizado, o JPykotaGUI também utiliza essa informação para estabelecer a conexão com o banco.

storageserver: IP_DO_SERVIDOR IP onde o banco de dados está sendo executado. storagename: pykota Nome do banco de dados, JPykotaGUI também utiliza este parâmetro. storageuser : pykotauser Nome do usuário com permissão de acesso ao banco de dados, JPykotaGUI também utiliza este parâmetro. storageuserpw : readonlypw Senha do usuário com permissão de acesso (RW, leitura e escrita) ao banco de dados, JPykotaGUI também utiliza este parâmetro. accounter: software(/usr/bin/pkpgcounter) Como será contabilizado as páginas. Verifique sempre se o pkpgcounter encontra-se neste caminho, ajuste-o conforme seu ambiente. preaccounter: software(/usr/bin/pkpgcounter) Igual ao item anterior, só que este serve para pré contagem. Agora vamos alterar o arquivo pykotadmin.conf deixando como os abaixo: storageadmin : pykotaadmin Nome do usuário com permissão de acesso ao banco de dados, JPykotaGUI também utiliza este parâmetro. storageadminpw : readwritepw Senha do usuário com permissão de acesso (RW, leitura e escrita) ao banco de dados, JPykotaGUI também utiliza este parâmetro. Note que deixei as senhas padrões mas isso não é legal, use senhas seguras. Arquivos configurados vamos testar novamente o comando pkusers help. Figura 54- Executando comando pkusers help. O erro mudou, agora está nos dizendo que ou a autenticação com banco de dados falhou ou ele não existe ou não esta estabelecendo conexão ou todos juntos. Mas no nosso caso faltou configurar o Postgresql bem como criar a base de dados para o funcionamento do Pykota. Então vamos lá.

5.3 Configurando Postgresql Vamos configurar o Postgresql alterando os arquivos de configuração localizados em /etc/postgresql/9.1/main. Vamos adicionar a seguinte linha no arquivo pg_hba.conf host all all 10.0.1.0/16 trust O endereço de rede deve ser ajusta conforme sua rede 10.0.1.0/16 E vamos alterar a linha do arquivo postgresql.conf De: #listen_addresses = 'localhost' para listen_addresses = '*' Após a alteração reinicie o postgresql Figura 55- Reiniciando Postgresql. Figura 56- Verificando serviço Postresql. 5.4 Criando banco de dados Pykota Com Postgresql ok, vamos então criar a base de dados do Pykota, antes vamos editar o script de criação do banco. Ele esta localizado em /usr/local/share/pykota/postgresql e se chama pykotapostgresql.sql As linhas que precisam ser alteradas são: CREATE DATABASE pykota WITH ENCODING='UTF-8'; para CREATE DATABASE pykota; CREATE USER pykotauser WITH UNENCRYPTED PASSWORD 'readonlypw' NOCREATEDB NOCREATEUSER; CREATE USER pykotaadmin WITH UNENCRYPTED PASSWORD 'readwritepw' NOCREATEDB NOCREATEUSER; Note os itens em negrito, estes tem esta exatamente igual aos configurados nos arquivos pykota.conf e pykotadmin.conf em /etc. Alterado o arquivo vamos então executa-lo, para isso precisamos estar logado com usuário do postgresql e usar o console de comando do postgresql que é o psql. Logo faça #su - postgres -c "psql -f /usr/local/share/pykota/postgresql/pykota-postgresql.sql template1" Ao final da execução será exibido algo parecido com a figura 57.

Figura 57- Criando a base de dados. Uma boa ferramenta para manipular o banco de dados é pgadmin III versão 1.14.0. Até aqui tudo certo, então vamos novamente testar o comando pkusers help Se obtiver um resultado como da figura 58, bingo, está quase tudo funcionando, pode ficar feliz. Figura 58- Executando comando pkusers help com sucesso. Comando funcionou corretamente, vamos então testar um outro, o pkprinters help. Figura 59- Executando comando pkprinters help. Note o erro, demorei para achar de onde vinha. Lembra la na figura 50, que estávamos verificando os arquivos em /usr/local/bin? Os arquivos de funcionamento do Pykota, então este é o erro que acontece se não ajustarmos cada um deles removendo o espaço que existe entre o! e / ( #!AQUI O ESPAÇO/usr/bin/env python). Remova e execute o comando navamente.

Figura 60- Executando comando pkprinters help com sucesso. Notem os pequenos detalhes, foi útil para você então lembre-se do esforço e doe. Voi-lá edite todos os arquivos e remova os espaços, após isso ter sido feito já temos então o Pykota instalado. 5.5 Roteando impressoras do CUPS Precisamos fazer com que os trabalhos de impressão sejam interceptados pelo Pykota, para isso devemos mover o backend cupspykota para pasta do CUPS, lembre-se de retirar o espaço dele também. #cp /usr/local/share/pykota/cupspykota /usr/lib/cups/backend/cupspykota Também é preciso criar um usuário para o pykota, logo faça: #adduser --system --group --home /etc/pykota --gecos PyKota pykota Figura 61- Copiando o backend cupspykota. Não mostrarei como criar impressora pela interface do CUPS por existir muitos tutoriais na internet de como fazer tal procedimento. O que precisa fica claro é que após

criada as impressoras no CUPS é preciso editar o arquivo /etc/printers.conf e colocar o backed do pykota na linha DeviceURI da impressora. Subsituir de DeviceURI smb://tomassoni@/10.0.1.2/freepdf para DeviceURI cupspykota:smb://tomassoni@/10.0.1.2/freepdf Verifique o log em /var/log/syslog, qualquer erro será exibido lá. 5.6 Exemplo fila de impressão roteada Pykota Figura 62- Exemplo fila roteada para pykota. 6. Instalando o JPykotaGUI Para colocarmos o JPykotaGUI para funcionar, precisaremos apenas do arquivo jpykotagui-war-0.0.1.tar.gz. Mas antes precisamos verificar se o contêiner web TomCat está funcionando, para isso faça: # ps aux grep tomcat Figura 63- Verificando serviço do Tomcat. Note que esta ok, Tomcat funcionando, vamos editar o arquivo de configuração para que possamos ter acesso ao painel de controle. É através do painel de controle que faremos o que se chama de deploy, fazer com que o Tomcat forneça nosso aplicativo. Vamos então adiconar ao arquivo tomcat-users.xml localizado em /etc/tomcat6 a seguinte linha: <user password="senha" roles="manager,admin" username="administrador"/> Coloque uma senha no lugar da palavra SENHA e manager,admin são nomes de usuário, pode escolher a critério. Alterado, reinicie o Tomcat e faça o teste de acesso por um navegador web. #/etc/init.d/tomcat6 restart

Figura 64- Reiniciando o serviço do Tomcat. Digite o IP do servidor seguido da porta padrão do Tomcat que é a 8080, ficando assim: http://10.0.2.15:8080 Informe o usuário e a senha que foram configurados no arquivo tomcatusers.xml e então o acesso será liberado figura 64. Figura 65- Página inicial Tomcat. Figura 66- Painel de controle Tomcat.

Com o arquivo war jpykotagui-war-0.0.1.tar.gz em mãos, descompacte e desempacote. # tar -zxvf jpykotagui-war-0.0.1.tar.gz Será criado o arquivo jpykotagui.war Figura 67- Arquivo principal do JPykotaGUI. De posse do arquivo vamos fazer o deploy no painel de controle do Tomcat. Figura 68- Realizando deploy do JPyKotaGUI. Figura 69- Deploy JPyKotaGUI ok. Figura 70- JPyKotaGUI no ar. Clique sobre o link e veja o JPykota funcionando figura 69.

Figura 71- Login JPyKotaGUI. Até aqui tudo certo, mas não temos ainda um usuário para logar no JPykotaGUI, pois ele usa uma base de dados interna (HSQLDB) para armazenar as senhas. A base interna faz referencia a base de dados Postgresql do Pykota, ou seja, para que possamos logar o usuário tem que existir na base do Pykota e um registro também tem que existir na base interna. Como é nosso primeiro acesso vamos editar esse arquivo na mão. 6.1 Criando usuário para o primeiro acesso Vamos criar o usuário (O nome não importa) com comando do Pykota assim: # pkusers --add admin Figura 72- Criando usuário. Usuário criado com sucesso. Agora precisamos editar a base de dados interna. A base de dados interna é composta pro dois arquivos (jpykotagui.properties e jpykotagui.script), o jpykotagui.script é o arquivo que mantem os usuários e suas senhas. As senhas são composta por HASH, logo não é possível identifica-la.

Quando é feito o deploy do arquivo.war no Tomcat ele é desempacotado em /var/lib/tomcat6/webapps/ no diretório jpykotagui e a base de dados (Arquivos) por sua vez estão localizados em /var/lib/tomcat6/webapps/jpykotagui/database. Importante: Sempre que for preciso fazer undeploy e deploy, faça cópia/backp destes arquivos, pois eles serão perdidos. Logo se você tiver uma base com muitos usuários e perder as senhas, irá gerar transtornos. Deixe como boa prática sempre fazer backup destes arquivos, principalmente o jpykotagui.script. O conteúdo do arquivo padrão é: CREATE SCHEMA PUBLIC AUTHORIZATION DBA CREATE MEMORY TABLE USERS(ID INTEGER NOT NULL PRIMARY KEY, PASSWORD VARCHAR(40) NOT NULL, ADMIN BOOLEAN NOT NULL) CREATE USER SA PASSWORD "" GRANT DBA TO SA SET WRITE_DELAY 05 SET SCHEMA PUBLIC INSERT INTO USERS VALUES(1,'40bd001563085fc35165329ea1ff5c5ecbdbbeef',true) A linha INSERT INTO USERS VALUES(1,'40bd001563085fc35165329ea1ff5c5ecbdbbeef',true) é a mais importante, note que a medida que for inserindo usuários haverá uma nova linha para cada um deles. Explicando: 1 É o userid da tabela de usuário do Postgresql, logo aqui ele está relacionado com o usuário admin que criamos com comando pkusers add admin (Caso aconteça erro verifique o userid do usuário na tabela users do Postgres e deixe ambos iguais.) 40bd001563085fc35165329ea1ff5c5ecbdbbeef Esta string de 40bits é um HASH SHA-1 da senha 123. Isso mesmo a partir da senha 123 foi gerado o SHA-1 que deu origem a esta string. Logo a senha padrão é 123 para o usuário admin. true É o identificador que da permissão total ao JPykotaGUI, isso quer dizer que temos permissão de usar qualquer função do sistema. Para usuários esse paramento será false. Pronto agora podemos logar no JPykotaGUI e usa-lo. Lembre-se de trocar as senhas padrões. Caso apresente qualquer anormalidade ou comportamento diferente, sempre olhe o log do Tomcat em /var/log/tomcat6/catalina.out, os erros serão todos exibidos aqui. #tail -f /var/log/tomcat6/catalina.out No primeiro acesso dê atenção ao userid das tabelas elas tem que ser idênticas, caso contrário não fará o login. Caso precise alterar o jpykotagui.script pare o Tomcat com a opção stop, altere o arquivo e start novamente.

Figura 73- Primeiro acesso. Pronto JPykota em ação, lembre-se doe, assim consigueremos com que o projeto evolua. Contribua baixe os fontes e adicione novas funcionalidades. 7. Dicas 1. Os icones podem ser alterados no através do caminho: /var/lib/tomcat6/webapps/jpykotagui/images, basta salvar as novas imagens com mesmo nome. Lembre-se de para o Tomcat e subi-lo novamente para entrar em vigor as alterações; 2. Todos os textos são internacinalizaveis, ou seja da para traduzir para qualquer língua basta alterar todos arquivos localizados em: /var/lib/tomcat6/webapps/jpykotagui/messages e /var/lib/tomcat6/webapps/jpykotagui/validation, copie o arquivo e mude para o localer desejado, edite-o substituindo os valore após o sinal de =; Caso você tenha traduzido algum envie para estarmos adicionando ao repositório. Para testar o locale troque a linguagem padrão do navegador mozzila em:ferramentas Opções Aba Conteúdo Idiomas Selecionar No presente momento só temos dois idiomas inglês e português do Brasil.

Figura 74- Alterando idioma navegador. Figura 75- Idioma alterado.

Figura 76- Login em inglês. 3. Quais os principais arquivos a ser feito o backup Sempre faça backup dos seguintes arquivos: /etc/cups/cupsd.conf Arquivo de configuração do CUPS. /etc/cups/printers.conf Usado pelo CUPS, todas impressoras. /etc/pykota/pykota.conf e /etc/pykota/pykotadmin.conf Arquivos de configuração do Pykota /var/lib/tomcat6/webapps/jpykotagui/database/jpykotagui.script Contém todas as senhas dos usuários cadastrados e suas permissões.importantissimo. Lembre-se todo deploy ele será sobrescrevido, não durma. /etc/samba/smb.conf Contém as configurações do compartilhamento via Samba. Além do arquivos de configuração do sistema, fica a critério de cada um fazer os que acha válido. 4. Como saber se seu servidor de impressão da conta do recado, simples, verifique o numero de processadores que você tem, tanto socket quanto o core e verifique o load average com os comando top e/ou uptime, alem da informação estar disponivel no painel de administração do JPykotaGUI. O valor do load average não deve ultrapassar o número de processadores. Ex. Suponha que você tenha apenas um processador com apenas um núcleo, um load average saudável não deve passar de 0.99, 0.99,0.99. Para cada nucleo o load pode chegar no máximo a 1. Outro exemplo, suponha que exista 1 processador com 4 núcleos, logo o load poderia chegar a 3.99,3.99,3.99. Se o seu servidor chega em valores altos é preciso dar um upgrade nele, se não as impressões começam a ficar lentas. 5. Outro aplicativo legal é o Lambda Pobe, para instala-lo basta fazer o deploy no Tomcat e acessa-lo (http://www.lambdaprobe.org/d/index.htm).

Gostou, serviu para algo nosso sistema...então lembre-se doe, ajude o projeto a prossiguir. 8. Arquivos de exemplo cups.conf # # # Sample configuration file for the CUPS scheduler. a # complete description of this file. # See "man cupsd.conf" for # Log general information in error_log - change "warn" to "debug" # for troubleshooting... LogLevel warn # Deactivate CUPS' internal logrotating, as we provide a better one, especially # LogLevel debug2 gets usable now MaxLogSize 0 # Administrator user group... SystemGroup lpadmin # Only listen for connections from the local machine. Listen 631 Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing Off BrowseOrder allow,deny BrowseAllow all BrowseLocalProtocols CUPS dnssd BrowseAddress @LOCAL # Default authentication type, when authentication is required... DefaultAuthType Basic # Web interface setting... WebInterface Yes # Restrict access to the server... <Location /> Order deny,allow Allow From * </Location> # Restrict access to the admin pages... <Location /admin> Order deny,allow Allow From * </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny

</Location> # Set the default printer/job policies... <Policy default> # Job/subscription privacy... JobPrivateAccess all JobPrivateValues none SubscriptionPrivateAccess default SubscriptionPrivateValues default # Job-related operations must be done by the owner or an administrator... <Limit Create-Job Print-Job Print-URI Validate-Job> Order deny,allow </Limit> <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription CancelSubscription Get-Notifications Reprocess-Job Cancel-Current-Job SuspendCurrent-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-GetDocument> Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # All printer operations require a printer operator to authenticate... <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer PausePrinter-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs DeactivatePrinter Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> # Set the authenticated printer/job policies... <Policy authenticated> # Job/subscription privacy... JobPrivateAccess all JobPrivateValues none SubscriptionPrivateAccess default SubscriptionPrivateValues default # Job-related operations must be done by the owner or an administrator... <Limit Create-Job Print-Job Print-URI Validate-Job> AuthType Default Order deny,allow </Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription CancelSubscription Get-Notifications Reprocess-Job Cancel-Current-Job SuspendCurrent-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-GetDocument> AuthType Default Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # All printer operations require a printer operator to authenticate... <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer PausePrinter-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs DeactivatePrinter Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> AuthType Default Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> # # smb.conf #======================= Global Settings ======================= [global] ## Browsing/Identification ### # Change this to the workgroup/nt-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = Servidor de impressao # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no # What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast #### Networking ####

# The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # # # # # Only bind to the named interfaces and/or networks; you must use the 'interfaces' option above to use this. It is recommended that you enable this feature if your Samba machine is not protected by a firewall or is a firewall itself. However, this option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Cap the size of the individual log files (in KiB). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. # syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d print command= lpr -r -P'%p' -J'%s %J' %s" ####### Authentication ####### # # # # "security = user" is always a good idea. This will require a Unix account in this server for every user accessing the server. See /usr/share/doc/samba-doc/htmldocs/samba3-howto/servertype.html in the samba-doc package for details. security = user # You may wish to use password encryption. See the section on # 'encrypt passwords' in the smb.conf(5) manpage before enabling. encrypt passwords = true # If you are using encrypted passwords, Samba will need to know what # password database type you are using. passdb backend = tdbsam obey pam restrictions = yes # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. unix password sync = yes # For Unix password sync to work on a Debian GNU/Linux system, the following # parameters must be set (thanks to Ian Kahan <<kahan@informatik.tumuenchen.de> for # sending the correct chat script for the passwd program in Debian Sarge). passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*.

# This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. pam password change = yes # This option controls how unsuccessful authentication attempts are mapped # to anonymous connections map to guest = bad user ########## Printing ########## load printers = yes printing = cups printcap name = cups [printers] comment = All Printers browseable = yes path = /var/spool/samba printable = yes guest ok = yes read only = yes create mask = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers # Coloque aqui todos os drivers de todas as impressoras que você possui em #sua rede. [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no