Servidor de impressão com cotas no FreeBSD (CUPS + PostgreSQL + PyKota)

Tutorial completo de como configurar um servidor de impressão com cotas no FreeBSD. Abordaremos a instalação e configuração do CUPS, PostgreSQL e PyKota.

[ Hits: 6.667 ]

Por: Ricardo Xerfan em 11/12/2018


Introdução



Observação inicial

CUPS - Common Unix Printing System

De acordo com informações do próprio site do CUPS:

O CUPS é o sistema de impressão de código aberto baseado em padrões desenvolvido pela Apple Inc. para macOS ® e outros sistemas operacionais semelhantes ao UNIX® . O CUPS usa o IPP (Internet Printing Protocol, protocolo de impressão da Internet) para oferecer suporte à impressão em impressoras locais e de rede.
Mais informações em: https://www.cups.org/

PyKota

De acordo com o site do PyKota:

O PyKota é um software de Quota de Impressão e Contabilidade, escrito na linguagem Python, e licenciado sob os termos da Licença Pública Geral GNU da Free Software Foundation.

O PyKota atualmente suporta servidores de impressão CUPS, embora versões mais antigas também suportem LPRng.
Mais informações em: http://www.pykota.com

Algumas observações sobre o PyKota:

Por se tratar de uma ferramenta antiga, se faz necessário a devida atenção com relação a instalação e configuração do mesmo, principalmente no que tange as dependências, visto que algumas são difíceis de se encontrar. A sua lista de dependências pode ser encontrada em: http://www.pykota.com/wiki/Dependencies

Justamente por ele ter essas "peculiaridades" se faz necessário a exibição da saída de alguns comandos e logs, para que a pessoa que esteja acompanhando este tutorial tenha o mínimo possível de dúvidas.

Geral

Para criar este tutorial, foi retirada uma base dos encontrados nos endereços abaixo. No entanto, em virtude da plataforma ser FreeBSD e o PyKota ser antigo, algumas coisas tiveram de ser modificadas/incluídas:
Feito, escrito e testado por Ricardo Xerfan - Macapá-AP.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalar e configurar o CUPS
   3. Instalar e realizar a configuração básica do PostgreSQL
   4. Instalar e realizar a configuração básica do PyKota
Outros artigos deste autor

Configurando o FreeBSD e PyKota para receber o JPyKotaGUI

Leitura recomendada

FreeBSD 10 com GNOME 2 - Instalação no VirtualBox

Configurando o FreeBSD e PyKota para receber o JPyKotaGUI

Introdução ao FreeBSD

Introdução ao PC-BSD

Acentuação gráfica no console FreeBSD/FreeNAS e montagem de pastas de compartilhamento Windows com acentuação

  
Comentários
[1] Comentário enviado por xerxeslins em 12/12/2018 - 15:33h

Artigo gigante! Bem, vou favoritar, para consultar um dia quando for usar FreeBSD. ;-]

--
"There are lots of Linux users who don't care how the kernel works, but only want to use it. That is a tribute to how good Linux is." - Linus Torvalds

[2] Comentário enviado por pbonfanti em 04/01/2019 - 08:13h

Excelente artigo, pretendo testar o sistema ,mas acho importante informar logo no início do artigo com qual Release do FreeBSD você testou.
Na linha Logo abaixo "Testes restantes", após instalar o postgresql, o comando
$ pgsql dbteste
Retorna comando não encontrado, mas responde a:
$ psql dbteste
dbteste# \list

[3] Comentário enviado por ricardo-xerfan em 07/01/2019 - 23:05h


[1] Comentário enviado por xerxeslins em 12/12/2018 - 15:33h

Artigo gigante! Bem, vou favoritar, para consultar um dia quando for usar FreeBSD. ;-]

--
"There are lots of Linux users who don't care how the kernel works, but only want to use it. That is a tribute to how good Linux is." - Linus Torvalds



Tamo junto meu nobre!!

[4] Comentário enviado por ricardo-xerfan em 07/01/2019 - 23:20h


[2] Comentário enviado por pbonfanti em 04/01/2019 - 08:13h

Excelente artigo, pretendo testar o sistema ,mas acho importante informar logo no início do artigo com qual Release do FreeBSD você testou.
Na linha Logo abaixo "Testes restantes", após instalar o postgresql, o comando
$ pgsql dbteste
Retorna comando não encontrado, mas responde a:
$ psql dbteste
dbteste# \list


Fale meu nobre!!

Obrigado pelo retorno!! O comando certo é "psql dbteste".

Percebi, também, que após a publicação, não ficou boa a "identação" deste exemplo do código no arquivo "usr/local/lib/python2.7/site-packages/pykota/storages/pgstorage.py " na linha 149:

return self.database.adapter.adapt_inline(field)

Então, pode ser que apresente erro de "identação". Caso ocorra, basta "identar" o código de acordo com as outras linhas do bloco em questão.

Qualquer dúvida ou observação, basta chamar!

Grande abraço!

[5] Comentário enviado por ricardo-xerfan em 10/01/2019 - 11:41h

Comentários relevantes ao tutorial: LEIA COM ATENÇÃO:

Para adicionar impressoras em compartilhamentos Windows, vc pode fazer da seguinte forma:

01. Configurar, no servidor onde está o CUPS, o arquivo "smb4.conf" (/usr/local/etc/smb4.conf) de acordo com seu ambiente;

02. Adicionar a impressora com a opção "PyKota managed Windows Printer via SAMBA (PyKota+Unknown)";

03. Configurar a conexão da seguinte forma:

cupspykota:smb://username:[email protected]/hostname_or_IP/printer_name

Exemplo:

cupspykota:smb://ricardo:[email protected]/192.168.1.5/Lexmark%20PROTOCOLO

OBS.: Se o nome da impressora contiver espaço, no lugar do espaço, coloque "%20" (sem aspas). Exemplo:

Nome real da impressora: Lexmark PROTOCOLO

Como deve ser colocado na conexão: Lexmark%20PROTOCOLO

ATENÇÃO: Por padrão o CUPS não permite que os usuários remotos façam requisições de impressões ou gerenciamento nas impressoras que estão configuradas nele. Portanto, para que qualquer usuário remoto, "dentro de sua rede", consiga realizar tais tarefas, é necessário que vc habilite isso no CUPS através de linha de comando. Basta digitar no terminal o seguinte:

cupsctl --share-printers

OBS.1: Se vc não fizer o comando acima, os usuários remotos não vão conseguir fazer nada na impressora.
OBS.2: Para que vc possa instalar a impressora em um host de sua rede, é necessário ter privilégios administrativos. Basta adicionar a impressora com uma conta de administrador que os outros usuários terão acesso a mesma.
OBS.3: Para adicionar a impressora a um host Windows, faça da seguinte forma:
OBS.3.1: Abrir o frontend de gerenciamento do CUPS;
OBS.3.2: Ir no menu impressoras;
OBS.3.3: Selecionar, da sua lista de impressoras que já foram adicionadas ao CUPS, a impressora que vc deseja;
OBS.3.4: Copiar a URL da impressora. Exemplo:
https://IP-Servidor-CUPS:631/printers/Printer-PROTOCOLO01
OBS.3.5: Ir no painel de controle do Windows, em "Dispositivos e Impressoras" e depois em "Adicionar uma impressora". Clicar em "A impressora que eu quero não está na lista". Na tela que vai abrir, selecionar a opção "Selecionar uma impressora compartilhada pelo nome". Colar no espaço indicado a URL que foi copiada. Depois clicar em "Avançar" e proceder normalmente com as outras opções. Lembrando mais uma vez que É NECESSÁRIO TER PRIVILÉGIOS ADMINISTRATIVOS para adicionar a impressora no host Windows;
OBS.3.6: Não esquecer de configurar as permissões dentro do PyKota em linha de comando (adicionar impressora, usuário e atrelar a impressora ao usuário), como foi mostrado no tutorial.

Grande abraço!


Contribuir com comentário