Servidor de Impresión (CUPS) / Cliente Linux y Windows

sismo
11/17/2008 - 09:58

El Sistema de impresión común de Unix (Common Unix Printing System en inglés, abreviado CUPS) es un sistema de impresió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 dipositivos 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 diferentes plataformas para configurar CUPS; cuenta también con una interfaz como 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.

Estraido de Wikipedia.

Servidor:

Procedimiento:

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

< sudo apt-get update

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

< sudo apt-get install -udV cupsys cups-pdf
< sudo 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.

< sudo nano /etc/cups/cupsd.conf

Deben realizar 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 establecer 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.
#Listen 127.0.0.1:631  
Listen 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 /> Order allow,deny Allow 10.0.0.0/16 </Location> # Restrict access to the admin pages... # Desde que páginas se van a conectar los administradores. <Location /admin> Order allow,deny Allow localhost
Allow 10.0.0.2
Allow 10.0.0.1
Allow 10.0.20.1
</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.

< sudo /etc/init.d/cupsys restart
>  * Restarting Common Unix Printing System: 
> cupsd                                                                                  [ OK ] 

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://10.0.20.129:631/" donde "10.0.20.129" es la ip del  servidor donde se esta instalando cups. 

Si la instalación es local se debe acceder a "https://127.0.0.1:631/"

Para iniciar la configuración de la impresora se debe presionar sobre el botón "Add Printer".

Para realizar la prueba se instalará una impresora "dummy" que en realidad imprimirá a archivos PDF.  Pero el procedimiento es similiar 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 de utilizados y visibles por el usuario.

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

En este caso se seleccionará "Print into PDF file".

A continuación se debe seleccionar el modelo de impresora. El sismtema solicitará usuario y contraseña de algún usuario que pertenezca al grupo lpadmin (el primer usuario creado en el sistema pertenece a este grupo).

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

Finanlizado el proceso de instalación se verá a la impresora "dummy" en la pestaña "Printers".

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 http://10.0.20.129:631/printers/dummy (el usuario no estaba autentificado) y se imprimió como anónimo.  La carpeta donde se alojan los pdf's le los usuarios que no pertenecen al sistema es "/var/spool/cups-pdf" contatenado con el nombre de usuario que 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 verficación.

En caso de que algo este fallando.  Se puede revisar los archivos logs del cups.

< sudo tail /var/log/cups/error_log
< sudo tail /var/log/cups/access_log
< sudo tail /var/log/cups/cups-pdf_log
< sudo tail /var/log/cups/page_log

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.

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

Obtenida la url se debe ejecutar el Adminitrador de impresoras de gnome.  Se accede al mismo desde el menú Sistema->Administracion->Impresoras

Para iniciar la instalación del cliente, se debe realizar click sobre "Nueva".  (El equipo cliente ya diponía una impresora configurada).

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

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

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.

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

 

Verificación:

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

Se debe seleccionar el dispositivo donde se quiere imprimir.

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 "Motrar todos" ("Show All jobs").

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.

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

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

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

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

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 previsamente en el portapapeles "http://10.0.20.129:631/printers/dummy").

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 LaserWriter 12/600".

Si se 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.

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

Verificación:

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

Esto generará un archivo pdf en "/var/spool/cups-pdf/ANONYMOUS"

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

Distribuir contenido