Está en la página 1de 14

INTRODUCCIÓN

GNU/LINUX a lo largo de su desarrollo ha logrado suplir muchas de las necesidades de


usuarios y empresas, un ejemplo de esto es que facilita la implementación de un Servidor
de Impresión o “Print Server”, necesitando pocos recursos en hardware, ademas que
cuenta con una gran base de datos de drivers para una gran variedad de modelos de
impresoras para el funcionamiento correcto en cualquier sistema GNU/LINUX.

Estos sistema de impresión permiten centralizar lo que es trabajos de impresión, así el


administrador podrá tener control y un detallado informe sobre el recurso utilizado.
Ademas que puede especificar que equipos pueden imprimir en esta impresora y así
evitar que departamentos diferentes hagan uso de este recurso y poder llevar un control
total. Y para lograr todo esto se utiliza el paquete para servidor de impresión llamado
CUPS.
QUE ES CUPS

Cups (Common Unix Printing System) generalmente 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.

COMPONENTES DE CUPS

Cola de Impresión o Spooling: Los documentos que van llegando al servdor de


impresión son cargados en una área del disco para almacenarlos mientras que se
imprime el trabajo anterior, cuando se termina con el documento el servidor busca en el
buffer el siguiente trabajo para imprimir.

Planificador: EL planificador de CUPS implementa IPP (Internet Printing Protocol) sobre


HTTP/1.1. Una aplicación de ayuda (cups-lpd) convierte peticiones de LPD a IPP. El
planificador también provee una interfaz web para administrar los trabajos de impresión, la
configuración del servidor y para brindar documentación de CUPS mismo.

Sistema de Filtros: Antes de imprimir un trabajo este pasa por el sistema de filtros para
identificar el lenguaje/formato en el que la impresora acepta la información o sea a
formatos que la impresora conozca (como tipo de fuente, codificación, etc).

Esquema de Funcionamiento de CUPS


PROCESO DE IMPRESIÓN

Cuando un cliente quiere imprimir algo en una impresora que es compartida por un
PrintServer, básicamente el proceso que se lleva a cabo internamente seria el siguiente.

El cliente inicia el proceso de impresión, el sistema busca la impresora predeterminada y


envía el trabajo hacia ella por la red, luego este es recibido por el planificador que luego
pasa el trabajo al buffer (donde esperara su turno para ser impreso), cuando CUPS toma
el trabajo que esta almacenado en el buffer, lo pasa por los filtros para identificar cual es
el formato/lenguaje que entiende la impresora a la cual ha sido enviado el trabajo, luego
hace uso de los backends (cable usb, cable de red, paralelo, etc) que es el medio por el
cual esta conectada la impresora al printserver, para finalmente ser impreso.

Esto seria muy básicamente el proceso que se realiza desde que el cliente envía la
impresión hasta que el trabajo es impreso.

HERRAMIENTA DE TRABAJO

Para la implementacion de este PrintServer se utilizo una de la maquinas destinadas para


pruebas en el area de sistemas.

Especificaciones Técnicas del PrintServer y de la Impresora a utilizar

Ipakc
Procesador Intel Celeron 4,9 MH.
Memoria Ram de 128 Mb.
Tarjeta de Red OnBoard.
Dos puertos USB Frontales.

Impresora HP LaserJet 1020 conectada al PrintServer mediante uno de los usb


frontales.

Como podemos ver no es una maquina súpuer potente en cuestión de hardware y


procesamiento... pero en GNU/LINUX es así, se necesita muy poco para brindar un
servicio excelente.

PAQUETES NECESARIOS PARA IMPLEMENTAR


PRINTSERVER EN DEBIAN LENNY

Como siempre lo he dicho, la descarga de paquetes en GNU/LINUX es demasiado facil


con el uso de apt, y solo basta con un par de ordenes para tener instalado todo lo que
necesitamos para nuestra implementación.

Antes de empezar con la descarga de los paquetes se debe aclarar la función que cumple
la herramienta Foomatic y el sistema Gutenprint.
Foomatic: Foomatic es un sistema de impresión diseñado para hacer más fácil configurar
impresoras comunes para usarlas en Debian (y otras distribuciones). Proporciona el
enlace entre el servidor de impresión (como CUPS) y su impresora real, diciéndole a su
equipo cómo procesar los archivos enviados a la impresora.

Gutenprint: Es un paquete de controladores para una gran cantidad de impresoras como


Canon, Epson, Lexmark, HP y, en general, para cualquier dispositivo basado en PCL que
consigue una calidad de impresión igual o superior a la realizada con el driver
proporcionado por el fabricante.

Ahora teniendo claro esto, en una terminal tecleamos apt-get install cups cups-driver-
gutenprint gutenprint-locales foomatic-db foomatic-db-gutenprint foomatic-db-
engine foomatic-filters foomatic-db-hpijs cups-bsd foo2zjs que los paquetes
necesarios para formar nuestro printserver..

CUPS: Sistema de impresión modular para sistemas operativos de tipo Unix que permite
que un computador actúe como servidor de impresión.

Cups-driver-gutenprint: Paquetes de drivers de impresión para CUPS.

Gutenprint-locales: Para que los programas que utilizan gutenprint impriman mensajes
diferentes al ingles.

Foomatic-db: Este paquete contiene la base de datos de una impresora distribuida por
OpenPrinting para la mayoría de controladores comunes.

Foomatic-db-gutenprint: Este paquete incluye soporte para impresoras que usan la suite
de controladores de impresión Gutenprint.

Foomatic-db-engine: Este paquete contiene los programas dependientes de la


arquitectura que se necesitan para configurar y mantener el sistema foomatic.

Foomatic-filters: Este paquete contiene los filtros usados para convertir los datos
PostScrip de entrada en el formato nativo de impresoras.

Foomatic-db-hpijs: Este paquete incluye soporte para impresoras que usan el


controlador de impresora HPIJS, particularmente de chorro de tinta y láser de HP.

cups-bsd: Este paquete proporciona los órdenes BSD par interactuar con CUPS.

Foo2zjs: Este es el driver correspondiente al modelo de la impresora a utilizar, dado que


en el paquete foomatic-db no esta incluido.

Ya teniendo un breve descripción de los paquetes a instalar, procedemos a la descarga.


Esto tomara un tiempo dependiendo de la velocidad de conexión a Internet.

Lo primero que vamos a hacer después de que halla terminada la descarga de los
paquetes es irnos a realizar un respaldo al archivo de configuración de CUPS
cupsd.conf, luego de esto procedemos a editarlo.

cp cupsd.conf cupsd.conf.bk, asi hacemos el respaldo y ahora con nuestro editor de


texto editamos el archivo cupsd.conf para levantar nuestro PrintServer.
pico /etc/cups/cupsd.conf y modificamos las siguientes opciones según sea nuestra
necesidad.

CONFIGURACION ARCHIVO PRINCIPAL CUPS

En el apartado Log general information in error_log - change "info" to "debug" for


troubleshooting elegir la opcion de como nos presentara la informacion en los logs, en
este caso se establece en modo debug la directiva LogLevel.

LogLevel debug

Luego en el apartado Only listen for connections from the local machine, borramos el
valor Listen localhost:631 y ponemos como directiva Port 631 o Listen 631 cualquiera
de las dos formas es valida.

Port 631

Ahora en el apartado Show shared printers on the local network dejamos tal cual los
valores de la directivas como están, para que cuando cups se inicie en nuestro servidor
pueda mostrar todas las impresoras compartidas en la red (ya es tu decisión) si por algún
motivo no lo quieres asi cambia.

BrowseAllow all por

BrowseAllow deny

Pasamos al siguiente apartado Default authentication type, when authentication is


required por defecto el valor de esta directiva es Basic, esta directiva es para cuando
realizamos cambios que requieran la contraseña del administrador del sistema y los datos
(como la contraseña) viajen seguros por la red. Entonces cambiamos el valor de esta
directiva a Digest y agregamos otra directiva DefaultEncription

DefaultAuthType Digest
DefaultEncryption Required

Seguimos con el apartado Restrict access to the server, en esta opción podemos definir
por rango de red o solo por una dirección ip quienes pueden accesar vía web al
PrintServer.

Allow localhost
Allow 192.168.0.*

Continuamos con el apartado Restrict access to the admin pages, esta es muy
importante ya que definimos por ip quien podrá ejercer cambios administrativos por medio
de la interfaz web de nuestro CUPS (aunque para estos cambios la autenticación es
requerida, recordemos que la habilitamos en el apartado Default Authentication type...
pero como somos muy precavidos vamos a restringir este acceso)

Allow localhost
Allow 192.168.0.210
Ahora pasamos al apartado Restrict access to configuration files, muy importante para
definir quienes pueden acceder al archivo de configuración del CUPS el cual es
cupsd.conf via web, repito es importante restringir el acceso.

Allow localhost
Allow 192.168.0.210

Hasta aquí hemos terminado con la configuración de CUPS (lo básico, por que hay
muchas opciones que se pueden añadir al archivo de configuración y todas estas están
en la documentación oficial).

Ahora reiniciamos cups /etc/init.d/cups restart para que todos estos cambios que
hicimos se apliquen y acto seguido revisamos los logs para ver que nada haya fallado.

AÑADIENDO LA IMPRESORA A CUPS

Después de tener cups configurado y con los respectivos drivers para la interacción con
nuestra impresora, llego el momento de añadirla para que gestione sus colas y nos de un
reporte sobre ella. Para esto utilizaremos la interfaz web ya que es muy intuitiva y muy
fácil.

AGREGANDO LA IMPRESORA

Primero nos cercioramos de que si la este reconociendo el sistema con el siguiente


comando.

lsusb y la salida debe ser algo como esto.

Bus 001 Device 006: ID 03f0:2b17 Hewlett-Packard LaserJet 1020


Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

en la parte resaltada se puede notar que si es reconocida por el sistema al ser conectada
al puerto usb.

Ahora ingresamos a la interfaz web de CUPS de la siguiente forma.

http://ipcups:631
Al momento de ingresar este sera el aspecto de la interfaz de administración de nuestro
servidor de impresión y desde aquí podremos realizar las configuraciones necesarias para
el buen funcionamiento de este.

Ahora para añadir nuestra impresora nos vamos a la opción señalada y de aquí en
adelante nos guiara un asistente para la configuración de la impresora.
Este es el asistente que nos guiara, y en los primeros datos que nos pedirá esta Nombre,
Ubicación y Descripción cada uno con su respectiva explicación de para que es.
Llenamos estos datos y presionamos Siguiente.

Elegimos el tipo de conexión de nuestra impresora, en este caso el sistema detecto en


que puerto usb la tengo conectada, elegimos la opción y pulsamos Siguiente.
En este paso debemos elegir el driver con el cual funcionara nuestra impresora, en este
caso tuvimos que instalar otra versión del driver proporcionado por foomaticdb el driver
para este modelo de impresoras es foo2zjs. En este paso el sistema también selecciona
el driver adecuado para nuestra impresora así que doy clic en Añadir Impresora.

Ahora nuestra impresora esta lista para ser utilizada por los usuarios de nuestra empresa
o departamento según sea nuestro criterio para su uso.

Después de este paso seria bueno reiniciar cups /etc/init.d/cups restart para dejar todo
listo

AÑADIR IMPRESORA AL SISTEMA CLIENTE WINDOWS Y


LINUX

Debemos ahora añadir la impresora compartida en el printeserver a nuetsros sistemas


cliente como en este caso que contamos con maquinas Windows XP y GNU/LINUX
Ubuntu.

Para la impresión vamos a utilizar el protocolo IPP, que nos permitirá entre muchas cosas
poder imprimir vía Internet y tener datos exactos de quien manda imprimir, cuantas hojas
y el nombre del documentos.
En Windows XP

Para realizar esta tarea en sistemas windows nos vamos a Panel de Control –
Impresoras y Faxes – Archivo – Agregar Impresora, en la ventana que se nos abre dar
clic en Siguiente y seleccionar la opción Una impresora de red o una impresora
conectada a otro equipo, clic en siguiente y seleccionar la opción Conectarse a una
impresora en internet o en su red domestica u organización y se habilitara la opción
Dirección URL... pero como obtenemos esa dirección url, para obtener esta url solo es
cuestión de entrar a la interfaz web de nuestro PrintServer http://ipcups:631 y dirigirnos al
apartado Impresoras y dar clic sobre la impresora que configuramos antes y luego
copiar la dirección que aparece en la barra de direcciones del navegador como se ve en la
siguiente imagen.

Luego nos vamos al sistema Windows y copias la dirección en el apartado url y clic en
siguiente, nos pedirá el driver de la impresora asi que lo tendremos que tener a mano.
Luego de esto si no tienes mas impresoras configuradas en el equipo cliente te notificara
que si quieres establecer esa impresora como predeterminada eliges la opción deseada y
listo podrás imprimir de ahora en adelante.

En GNU/LINUX Ubuntu

Para añadir nuestra impresora nos dirigimos a Sistema – Administración – Impresoras


– Clic en Nuevo – Impresora y comenzara a buscar la impresoras compartidas en red.
En el apartado Impresora de Red vemos la impresoras compartidas que hay en red,
vamos a la opción Internet Printing Protocol (ipp) y en el lado derecho en el campo
servidor escribimos la dirección ip de nuestro PrintServer y pulsamos Buscar Cola.

Nos aparecerá la siguiente ventana con la impresora que hemos configurado, la


seleccionamos y clic en aceptar.

En este paso si les pica la curiosidad de utilizar la opción Verificar puede que le muestre
el mensaje de error que la impresora no es accesible y la verdad no me he puesto a
indagar por que es esto pero esto no afecta (por lo menos a mi no) para poder agregar la
impresora, luego de esto presionamos Adelante.
Llenamos la Siguiente Información y para Finalizar presionamos Aplicar y listo ya hemos
añadido la impresora compartida a nuestro sistema GNU/LINUX.

Nos preguntara que si queremos imprimir una pagina de prueba a lo cual contesta lo que
quieras xD.

Con esto ya podemos dar por concluido la configuración de este PrintServer en Debian.
PROBLEMAS DURANTE LA IMPLEMENTACIÓN
Lo que nunca faltan en la implementaciones, pero a partir de estos es que uno aprende.

Los problemas que se presentaron durante la implementación de este sistema de


impresión los comento a continuación.

Error en la navegación en la Interfaz web de CUPS.

Esto puede ocurrir por que la Directiva Browsing este establecida en off.

Otra razón seria que no se definió el rango de ip validos para el acceso a la interfaz web.
CONCLUSIÓN

Sistemas como estos ayudan a que los recursos en las empresas sean mejor utilizados y
ya que las impresoras suelen ser utilizadas no siempre para tareas de la empresa sino
que en ellas se imprimen tareas de los hijos, las fotos de las vacaciones, etc. Con esto
podemos decidir quien imprime o quien no, que departamentos tienen acceso, ademas de
controlar cuantas impresiones se hacen desde una misma maquina.

También podría gustarte