quarta-feira, 16 de janeiro de 2019

IBQUOTA versão 3.1 (16/01/2019)

IBQUOTA 3.1

Nova versão disponível em https://github.com/valcir/ibquota/tree/IBQUOTA-3.1.

Instalação

1 - Executar os processos de instalação dos pacotes.

$ sudo apt-get install apache2 build-essential cups pkpgcounter mysql-server php libdbd-mysql-perl libnet-ldap-perl

2 - Download IBQUOTA 3 (versão em Desenvolvimento)

$ wget https://github.com/valcir/ibquota/archive/master.zip
ou
$ git clone https://github.com/valcir/ibquota.git

3 - Configurando o cups.

$ sudo vi /etc/cups/cupsd.conf
Localizar a linha "Listen localhost:631" e alterar para:
Listen 631
Dar permissão de acesso ao CUPS, altere as linhas conforme abaixo:
#Restrict access to the server...
<Location />
  Allow all
  Order allow,deny
</Location>

#Restrict access to the admin pages...
<Location /admin>
  Allow all
  Order allow,deny
</Location>

#Restrict access to configuration files...
<Location /admin/conf>
  Allow all
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

4 - Banco de Dados:

Criar o banco de dados:
$ sudo mysql -u root -p
$ password: *****
$ mysql> CREATE DATABASE ibquota3;
$ mysql> exit

Criar a estrutura do Banco (tabelas) através do script ibquota3.sql.
$ cd ibquota3/sql
$ sudo mysql -u root -p ***** ibquota3 < ibquota3.sql

Criar um usuário no Banco:
$ sudo mysql -u root -p
mysql> GRANT ALL ON ibquota3.* TO ibquota@localhost identified by 'ibquota';
mysql> FLUSH PRIVILEGES;
mysql> exit

O script principal (ibquota3) deverá ser copiado para dentro do CUPS.
$ cd backend
$ sudo cp ibquota3 /usr/lib/cups/backend/
$ cd /usr/lib/cups/backend
$ sudo chmod 755 ibquota3
$ sudo chown root ibquota3

Agora temos que editar o backend:
$ sudo vi /usr/lib/cups/ibquota3

my $DBhost="localhost";
my $DBlogin="ibquota";
my $DBpassword="ibquota";
my $DBdatabase="ibquota3";
my $DBport=3306;

$ cd ../gg
$ sudo mkdir /var/www/html/gg
$ sudo cp -r * /var/www/html/gg

Neste momento iremos editar o arquivo com as configurações de acesso a banco.
$ cd /var/www/html/gg
$ sudo vi includes/db.php

define("HOST", "localhost");     // Servidor com o qual voce quer se conectar.
define("USER", "ibquota");       // Usuário para acessar o banco de dados. 
define("PASSWORD", "ibquota");   // Senha de acesso ao banco de dados. 
define("DATABASE", "ibquota3");  // O nome do banco de dados.

5 - Reiniciar o CUPS:

$ sudo /etc/init.d/cups restart

6 - Instalando a impressora no servidor.

Acesse o CUPS:
http://ip_do_servidor:631
Em "Administration", selecione:
"Show printers shared by other systems"
"Share printers connected to this system"
"Allow printing from the Internet"
"Allow remote administration"
"Allow users to cancel any job (not just their own)" 

Em "Administration", clique em "Add Printer" Faça a instalação da impressora prestando atenção em "connection".
connection: ibquota3:socket://IP-DA-IMPRESSORA

7 - Configuração via GG:

- Acesse o GG http://ip_do_servidor/gg 
- Login com "admin" (A senha será resetada)
- Configuração principal (Paths, Base de usuários [SQL ou LDAP/AD], DEBUG)
- Criar Usuário e Grupo, se Base for SQL;
- Criar Política de Impressão
- Faça um teste de impressão... 

8 - Teste a configuração do Backend:

$ perl /usr/lib/cups/backend/ibquota3 --check

PATH_PYTHON = /usr/bin/python [OK]
Python is executable [OK]
PATH_PKPGCOUNTER = /usr/bin/pkpgcounter [OK]
Base de Dados: LOCAL SQL [OK]
...


Obrigado pelo interesse no IBQUOTA!


quarta-feira, 9 de janeiro de 2019

Política de erro do CUPS com a diretiva ErrorPolicy

A Política de Erro permite você selecionar um comportamento padrão no CUPS em caso de falha na impressão. Você pode preferir parar totalmente a impressora após uma falha para poupar papel ou você pode ignorar a impressão com falha e seguir normalmente com o restante.

CUPS: ErrorPolicy
ErrorPolicy é a diretiva no CUPS que faz a configuração da política de erro, e cada impressora pode ser configurada individualmente. Veja o exemplo abaixo do arquivo /etc/cusps/printers.conf:

#...
<Printer IBQUOTA3_Fake>
      Info Impressora IBQUOTA3 Fake /dev/null
      Location Impressora teste do IBQUOTA
      DeviceURI ibquota3:file:///dev/null
      State Idle
      Accepting Yes
      Shared Yes
      QuotaPeriod 0
      PageLimit 0
      KLimit 0
      OpPolicy default
      ErrorPolicy abort-job
</Printer>
#...

Este é um exemplo onde a impressão será descartada após ocorrer a falha (abort-job). Há outras opções para a diretiva ErrorPolicy:

abort-job:

Significa que a impressão (job) com falha será descartada e a próxima será executada normalmente.

retry-current-job:

A impressão será repetida novamente imediatamente após falha, ou seja haverá uma nova tentativa de impressão do job.

retry-job:

A impressão será repetida novamente mais tarde após falha. O tempo de espera para repetição é definido na diretiva "JobRetryInterval N" o parâmetro N é definido em segundos.

stop-printer:

Especifica que a impressora deve parar imediatamente após uma falha. Este comportamento é o padrão do CUPS.


Você deve escolher a melhor política de erro para a impressora. Apesar o padrão ser parar totalmente a impressora, outra diretiva interessante é a abort-job,  pois permite que outros usuários continuem utilizando a impressora.

quinta-feira, 3 de janeiro de 2019

Test-Drive IBQUOTA3 - Servidor Pronto em VirtualBox

Com objetivo de facilitar a vida de quem está interessado em testar o IBQUOTA 3 sem perder muito tempo: este artigo mostra como você pode fazer o Download do servidor pronto.
O VirtualBox é uma ferramenta simples e de amplo conhecimento, por este motivo não há explicação de instalação ou utilização.

1) Fazer download da imagem: IBQUOTA3.ova (~3,3 GB);

2) "Importar Appliance" no Virtualbox;

Importar Applicance VirtualBox: IBQUOTA3
Aguardar importação da máquina virtual
Máquina Virtual Importada no VirtualBox
3) Executar máquina virtual (seta verde "Iniciar");

4) Efetuar login no sistema com a senha "ibquota3":
Senha = ibquota3
Sistema logado
Neste momento você conseguiu executar a máquina virtual e logar no sistema.

5) Ver configuração do CUPS através do navegador Firefox "localhost:631" e clicar no botão "Administração":
CUPS: Administração de Impressora
Veja que há uma impressora já criada chamada "IBQUOTA3_Fake". Esta impressora é "Fake" ou seja, tudo que você mandar imprimir nela será direcionado para "/dev/null".
É no CUPS que você irá configurar novas impressoras.

6) Gerenciador Gráfico - GG do IBQUOTA: Abra o endereço "http://localhost/gg/"
Tela de login do IBQUOTA3
A senha do usuário admin é ibquota3 e pode ser alterada.
Há uma política de impressão já configurada no sistema:
IBQUOTA3: Política de impressão
Relatório de impressão:
IBQUOTA3: Relatório de impressão

Você pode enviar um job de impressão e selecionar a impressora IBQUOTA3_Fake, veja:
Pedido de imrpessão
Basta configurar a impressora em qualquer estação e submeter o job. O IBQUOTA irá verificar a quota de usuário e liberar ou cancelar a impressão.

O IBQUOTA utilizado nesta máquina virtual é a versão 3.0.1 (28/12/2018). Há muitas funcionalidades não vistas neste artigo, bons testes...

OBS: NÃO UTILIZAR ESTA INSTALAÇÃO EM PRODUÇÃO POIS AS SENHAS SÃO TODAS CONHECIDAS: ibquota3.