CUPS

Introducción

El sistema de impresión común de Unix (Common Unix Printing System en inglés, abreviado CUPS) es un sistema de impressión modular para sistemas operativos de tipo Unix que permite que un computador actúe como servidor de impresión. Un computador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros computadores clientes, los procesa y los envía al servidor de impresión apropiado.

CUPS está compuesto por una cola de impresión con su planificador, un sistema de filtros que convierte datos para imprimir hacia formatos que la impresora conozca, y un sistema de soporte que envía los datos al dispositivo de impresión. CUPS utiliza el protocolo IPP (Internet Printing Protocol) como base para el manejo de tareas de impresión y de colas de impresión. También provee los comandos tradicionales de línea de comandos de impresión de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo server message block (SMB). Los controladores de dispositivos de impresión que CUPS provee pueden ser configurados utilizando archivos de texto con formato Descripción de impresoras PostScript (PPD, PostScript Printer Description en inglés) de Adobe Systems. Existen varias interfaces de usuario para aplicación Web. CUPS es software libre y se distribuye bajo licencia GNU General Public License y GNU Lesser General Public License, Versión 2.

Servidor

Procedimiento:

El primer paso a realizar es actualitzar el índice de paquetes del repositorio.

:~$ sudo bash

Password: *****

:/# apt-get update

A continuación se deben descargar los paquetes necesarios. El paquete cups-pdf no es requisito indispensable pero es una buena herramienta para generar archivos pdf.

:/# apt-get install cupsys cups-pdf

A continuación se debe modificar el archivo de configuración para habilitar la interface de configuración/administración web de CUPS. Antes como recomendación realizar una copia de seguridad del mismo archivo.

:/# cd /etc/cups

:/etc/cups# cp cupsd.conf backup_YYYYMMDD_cupsd.conf

:/# gedit cupsd.conf

Deben realizarse las siguientes modificaciones.

  • Permitir al servicio recibir conexiones desde otros equipos de la red.
  • Habilitar la red donde se encuentran los clientes para que puedan establer conexiones al servidor.
  • Habilitar las ip’s ( o redes), desde donde se van a conectar los administradores.
#
#
#   Sample configuration file for the Common UNIX Printing System (CUPS)
#   scheduler.  See "man cupsd.conf" for a complete description of this
#   file.
#

# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel warning

# Administrator user group...
SystemGroup lpadmin

# Only listen for connections from the local machine.
# Para abrir el puerto 631
Port 631
#Listen 127.0.0.1:631
#Listen localhost:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing Off
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
# De donde se van a conectar los Clientes
<Location />
  Allow XXX.XXX.XXX.XXX (Puerta de enlace predeterminada)
  #Allow shared printing and remote administration
  Order allow,deny
  Allow @LOCAL
</Location>

# Restrict access to the admin pages...
# Desde que páginas se van a conectar los administradores.
<Location /admin>
  Encryption Required
  Allow localhost
  Allow XXX.XXX.XXX.XXX (Dirección IP del ordenador)
  Allow XXX.XXX.XXX.XXX (Dirección IP del o de los ordenadores con permiso)
  #Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</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-related operations must be done by the owner or an administrator...
  <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>

  # 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 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>

  # 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>

Finalizada la edición se debe reiniciar el servicio.

:/etc/cups# /etc/init.d/cups restart

* Restarting Common Unix Printing System: cupsd                [OK]

:/etc/cups#

Configuración de impresora :

Para acceder a la configuración de la impresora se debe utilizar firefox o algún otro navegador.

En este caso la url a la que se debe acceder es «https://XXX.XXX.XXX.XXX:631/» donde «XXX.XXX.XXX.XXX» es la ip del servidor donde esta instalado cups.

Si la instalación es local se debe acceder a «https://XXX.XXX.XXX.XXX:631/»

Para iniciar la configuración de la impressora se debe presionar sobre el botón «Añadir impresora».

imagen01

Para realizar la prueba se instalará una impresora «dummy» que en realidad imprimirá a archivos PDF. Pero el procedimiento es similar para cualquier impresora (en este caso se debe tener en cuenta instalar o disponer de los drivers de la  impresora).

En la primera pantalla se debe definir el nombre «dummy» en este caso, la ubicación y descripción de la impresora. Estos datos no tienen ningún valor técnico salvo que son utilizados y visibles por el usuario.

imagen02

A continuación se debe seleccionar el dispositivo de la impresora.

imagen03

En este caso se seleccionará «CUPS-PDF (Virtual PDF Printer)».

A continuación se debe seleccionar la marca/fabricante de la impresora.

imagen04

Dar a siguiente. A continuación se debe seleccionar el modelo/controlador de la impresora.

imagen05

El sistema solicitará usuario y contraseña de algún usuario y contraseña de algún usuario que pertenezca al grupo lpadmin (el primer usuario creado en el sistema pertenece a este grupo).

imagen08

El siguiente paso a realizar es configurar las opciones que dispone el controlador de la impresora instalada.

imagen06

Finalizando el proceso de instalación se verá a la impresora «dummy» en la pestaña «Impresoras».

imagen07

Verificación :

Para llevar adelante la verificación de la configuración se puede realizar la impresión de la página de prueba.

En este caso se cerró y volvió a abrir el navegador con la url «https://XXX.XXX.XXX.XXX:631/printers/dummy» (el usuario no estaba autenticado) y se imprimió página de prueba como anónimo. La carpeta donde se alojan los pdf’s de los usuarios que no pertenecen al sistema es «/var/spool/cups-pdf» concatenado con el nombre de usuario que se presento al cups.

:/# ls -lh /var/spool/cups-pdf/ANONYMOUS/

total 48K

-rw-rw-rw-  1  nobody  nogroup  47K  2008-11-21  17:50 Test_Page.pdf

:/#

Confirmada la existencia del archivo se puede dar por concluida la verificación. En caso de que algo este fallando. Se pueden revisar los archivos logs del cups.

:/# gedit /var/log/cups/error_log

:/# gedit /var/log/cups/access_log

:/# gedit /var/log/cups/cups-pdf_log

:/# gedit /var/log/cups/page_log

O bien mediante el gestor de CUPS, en la sección de servidor, como se muestra a continuación :

imagen09

Cliente Linux

Procedimiento :

El primer paso a realizar es conseguir la url donde el cups pública la impresora. Para realizar esto se debe picar sobre el nombre de la impresora, esto abrirá la página especifica de la impresora.

imagen10

Una vez accedidda esta página se debe copiar la url en el portapapeles.

imagen11

Obtenida la url se debe ejecutar el Administrador de impresoras de gnome. Se accede al mismo desde el menú Sistema -> Administración -> Impresoras

Para iniciar la instalación del cliente, se debe realizar click sobre «Nuevo». (El equipo cliente ya disponia de algunas impresoras configuradas).

imagen12

La siguiente pantalla solicitará que se defina la ubicación o el medio que provee el dispositivo.  Se debe seleccionar «Otro» y pegar la URL del dispositivo.

imagen13

Las siguientes pantallas son de selección de drivers del dispositivo.

imagen14

imagen15

La última pantalla de configuración solicita el Nombre del dispositivo, Descripción y Ubicación. Estos datos no tienen carácter técnico, solo son para presentar información al usuario.

imagen16

Finalizada la configuración se encontrará visible el nuevo dispositivo.

imagen12

Verificación :

Para verificar la configuración del cliente, se puede abrir el gedit (editor de texto) e imprimir algún documento.

Se puede revisar el resultado de la prueba. Se puede abrir la página de la impresora en el cups del servidor. Sobre el pie de la misma se debe realizar click en «Mostrar todos los trabajos».

imagen17

Y se verá listada la entrada de la prueba realizada.

Cliente Windows (2000 y XP) :

Procedimiento :

El primer paso a realizar es conseguir la url donde el cups pública la impresora. Para realizar esto se debe picar sobre el nombre de la impresora, esto abrirá la página especifica de la impresora.

Una vez accedida esta página se debe copiar la url en el portapapeles.

imagen11

A continuació se debe abrir el gestor de impresoras y faxes.

imagen18

En la siguiente pantalla se debe realizar click sobre «Agregar Impresora». Esto desplegará el asistente de instalación de impresoras.

imagen19

Pantalla de inicio del asistente (se debe presionar «Siguiente»).

imagen20

En el siguiente paso del asistente se debe seleccionar la opción «Una impresora de red o una impresora conectada a otro equipo».

imagen21

Se debe seleccionar «Conectarse a una impresora en Internet o una red doméstica u organización». Y definir la url de la impresora en el campo de texto (se había copiado previamente en el portapapeles «https://XXX.XXX.XXX.XXX:631/printers/dummy»).

imagen22

Para poder utilizar la impresora PDF del Linux, se debe seleccionar una impresora que sea PostScript. Un driver que funciona correctamente es el de la impresora «Apple / Apple Color Laser Write 12/600».

Si esta instalando una impresora formal ( en este ejemplo se usaba el driver cups-pdf con un dispositivo dummy para ver la instalación), se deben instalar/configurar los drivers que correspondan.

imagen23

La última pantalla es la de informe de fin de instalación.

imagen24

Verificación :

Para verificar el correcto funcionamiento de la impresora, se debe enviar a imprimir en algún programa de windows.

Esto generará un archivo pdf en «Var/spool/cups-pdf/ANONYMOUS»

Si se quiere formalizar este servicio se puede compartir este directorio por samba.

1 comentario en “CUPS

Deja un comentario