CUPS no Ubuntu

Esta semana tive um trabalhão para instalar uma impressora no Linux. Precisava instalar um servidor com uma interface web para controle, e optei pelo EBox. O Ebox, tem um característica interessante com appliance. Ele é chato de configurar, mas bem poderoso. Você pode trabalhar com “objetos” como usuários e redes, e cadastrar as regras de firewall e proxy usando esses “objetos”. Você descobre a importância e utilidade disso quando precisa fazer um mudança na rede. Daí você não precisa mudar as regras, apenas as características do objeto em questão, e tudo fica funcionando. Existem também a facilidade de uma interface de administração web, toda construida em AJAX. A tradução tem umas escorregas, mas tudo bem, é prática. Ele oferece suporte a VPN, compartilhamento de arquivos e impressoras, hospedagem de email e páginas, Anti-SPAM integrado, controle de banda e compartilhamento de internet, podendo ser usando um proxy integrado (SQUID/DansGuardian). Tudo muito bonito, tudo muito bom, mas tem um problema. O controle de banda é excelente, mas o proxy é bem pobre na parte da administração. Pouquíssimos recursos ante o que o Squid oferece.

Bem, mas vamos falar sobre a dificuldade experimentada. Esse cliente queira um proxy simples, só para acelerar a rede, e centralizar os arquivos da empresas para facilitar compartilhamento e backup. Isso também diminui a inconsistencia de versões, já que os arquivos estão todos e ficaram no servidor. Como dizem aqui no Paraná, montamos um “baguá” de um servidor para um rede com apenas 6 máquinas. Ele queria coisa boa, e montamos um Core 2 Duo 2,53GHz com 1 GB de memória, 1 HD de 250 GB (principal) e outro de 1 TB (secundário). Realmente uma super-máquina!Além disso o cliente comprou um impressora Samsung SCX-4200, e aí o pessoal da empresa pisou na bola. Ninguém me perguntou se dava para instalar essa impressora no servidor. Instalei o Ubuntu Server 8.04 LTS, coloquei as fontes do ebox no source.list. Se quiserem testar o EBox as linhas são:

deb http://ppa.launchpad.net/juruen/ubuntu hardy main

Atualizei tudo, configurei o EBox e comecei daí a configurar os serviços:

  • Módulos do EBox necessários – OK
  • Rede – OK
  • DHCP – OK
  • Firewall – OK
  • Logs e eventos – OK
  • Proxy – OK
  • Usuários e Grupos – OK
  • Compartilhamento de Arquivos – OK
  • Compartilhamento da Impressora – …

Nesse momento começou o meu calvário! Fui na listagem do Ebox… ADD Printer… USB… Samsung… e cadê a SCX-4200? Já havia visto uma vez que havia o driver para linux. Fui no site e bingo! tava lá. Abaixei o driver para o servidor, instalei e voltei na listagem do EBox e nada!

Pensei com os meus botões, bem vou acessar a interface web do CUPS e tá tudo tranquilo. Apontei o browser para o endereço do server: http://192.168.1.1:631. Nada! Apertei o Refresh, e… nada.

Após pensar sobre a situação, tive a idéia de que poderia ter alguma restrição ao acesso remoto, por ser tratar de um servidor. Abri o cupsys.conf e tá lá! Ele estava assim:

…
Listen localhost:631
… 

DefaultAuthType Basic
…
# Restrict access to the server...
<location />
  Order allow,deny
 # Restrict access to the admin pages...
<location /admin>
  Order allow,deny
</location> # Restrict access to configuration files...
<location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</location>

Li e vi que estava com o acesso liberado apenas para o localhost. Fácil, vou adicionar o acesso para a minha rede local. Coloquei as linhas e nada! Fui pra internet dar uma googlada e achei as regras certas. Como quero prestar suporte remoto tirei a linhas escrito Listen localhost:631 e coloquei com Port. Meu arquivo ficou assim:

LogLevel warning
SystemGroup lpadmin
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
# Share local printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAddress @LOCAL
DefaultAuthType Basic
<location />
 Allow localhost
 Allow 192.168.1.0/24
 Allow <strong>meu_ip/rede_remoto</strong>/27
 # Allow shared printing and remote administration...
 Order allow,deny
 Allow all     

<location /admin>
 Allow localhost
 Allow 192.168.1.0/24
 Allow <strong>meu_ip/rede_remoto</strong>/27
 # Allow remote administration...
 Order allow,deny
 Allow all
</location>
<location /admin/conf>
 AuthType Default
 Require user @SYSTEM
 Allow localhost
 Allow 192.168.1.0/24
 Allow <strong>meu_ip/rede_remoto</strong>/27
 # Allow remote access to the configuration files...
 Order allow,deny
 Allow all
</location>
<policy default>
	<limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
 Require user @OWNER @SYSTEM
 Order deny,allow
 </limit>
	<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>
	<limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
 AuthType Default
 Require user @SYSTEM
 Order deny,allow
 </limit>
	<limit CUPS-Authenticate-Job>
 Require user @OWNER @SYSTEM
 Order deny,allow
 </limit>
	<limit All>
 Order deny,allow
 </limit>
</policy>

Apontei o browser e bingo (de novo)! Abriu a interface do CUPS, tudo lá bonitinho… fui em Administration e… nada! Percebi que tinha um monte de processos do CUPS rodando (quando restartava ele não deveria estar fechando o processo direito), matei um por um e rodei o serviço de novo. Beleza! Mas ainda pede um senha.

Depois de dois dias de pesquisa, e muitas threads de foruns encontradas, achei esta, do site CaixaMágica, que dava o pulo do gato pra coisa funcionar. O comando é este abaixo:

lppasswd -g sys -a root

Com isso você consegue cadastrar a maldita senha que o sistema fica pedindo. Em relação ao acesso local, eu tentei usar o Lynx, mas ele sempre dava esse pau de senha também. Depois de cadastrar ele também funcionou. Depois de cadastrada a senha, o sistema já tinha enxergado a impressora pendurada na USB, já me deu a opção do driver correto e daí foi só terminar de configurar.

Anúncios

4 Comentários on “CUPS no Ubuntu”

  1. Carlos disse:

    Opa…

    valew a dica….
    acora instalei a impressora ta funfando no linux… na hora de compartilhar esta me dando acesso negado tem alguma ideia????

    valew

  2. Leonardo disse:

    Instalei o EBOX para teste em minha empresa…..criei os objetos….inclui nos objetos os nomes das estações………Criei o filtro que utilizaria para este objeto………mas como amarro o objeto ao filtro de sites do proxy que criei? A unica maneira que vi que dava pra fazer era se criasse um grupo……esse grupo amarraria o objeto………..e no filtro amarraria esse grupo…….porém ele exige que exista autenticação do usuário……….o que é muito chato para navegar na internet ……….pois pediria a senha do server proxy…….e portanto eu teria que criar usuários no proxy………Eh isso mesmo ou tem alguma outra maneira de ligar o objeto criado com os ips das estações ao filtro que quero utilizar para este grupo? (como é feito no squid.conf)

    Obrigado!

  3. Igor Chaves disse:

    Prezado Luciano, finalmente consegui administrar as impressoras através da interface web, dúvida que ja estava me deixando com cabelos brancos, pois em nenhuma das documentações que havia encontrado na net, conseguiam resolver meus problemas de acesso. Muchas gracias a teu site pelo claro explanamento sobre elas, as tais configurações. Realmente, muito agradecido estou. Obrigado.


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s