Manual Implementacion Cups Debian

download Manual Implementacion Cups Debian

If you can't read please download the document

description

Implementacion de un PrintServer con CUPS + Debian Lenny

Transcript of Manual Implementacion Cups Debian

INTRODUCCINGNU/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 implementacin de un Servidor de Impresin 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 impresin permiten centralizar lo que es trabajos de impresin, 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 impresin llamado CUPS.

QUE ES CUPSCups (Common Unix Printing System) generalmente abreviado CUPS, es un sistema de impresin modular para sistemas operativos de tipo Unix que permite que un computador acte como servidor de impresin.

COMPONENTES DE CUPSCola de Impresin o Spooling: Los documentos que van llegando al servdor deimpresin 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) sobreHTTP/1.1. Una aplicacin de ayuda (cups-lpd) convierte peticiones de LPD a IPP. El planificador tambin provee una interfaz web para administrar los trabajos de impresin, la configuracin del servidor y para brindar documentacin de CUPS mismo.

Sistema de Filtros: Antes de imprimir un trabajo este pasa por el sistema de filtros paraidentificar el lenguaje/formato en el que la impresora acepta la informacin o sea a formatos que la impresora conozca (como tipo de fuente, codificacin, etc).

Esquema de Funcionamiento de CUPS

PROCESO DE IMPRESINCuando un cliente quiere imprimir algo en una impresora que es compartida por un PrintServer, bsicamente el proceso que se lleva a cabo internamente seria el siguiente. El cliente inicia el proceso de impresin, el sistema busca la impresora predeterminada y enva 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 bsicamente el proceso que se realiza desde que el cliente enva la impresin hasta que el trabajo es impreso.

HERRAMIENTA DE TRABAJOPara la implementacion de este PrintServer se utilizo una de la maquinas destinadas para pruebas en el area de sistemas. Especificaciones Tcnicas 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 spuer potente en cuestin 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 implementacin. Antes de empezar con la descarga de los paquetes se debe aclarar la funcin que cumple la herramienta Foomatic y el sistema Gutenprint.

Foomatic: Foomatic es un sistema de impresin diseado para hacer ms fcil configurar impresoras comunes para usarlas en Debian (y otras distribuciones). Proporciona el enlace entre el servidor de impresin (como CUPS) y su impresora real, dicindole a su equipo cmo 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 impresin 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-drivergutenprint gutenprint-locales foomatic-db foomatic-db-gutenprint foomatic-dbengine foomatic-filters foomatic-db-hpijs cups-bsd foo2zjs que los paquetes necesarios para formar nuestro printserver.. CUPS: Sistema de impresin modular para sistemas operativos de tipo Unix que permite que un computador acte como servidor de impresin. Cups-driver-gutenprint: Paquetes de drivers de impresin 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 mayora de controladores comunes. Foomatic-db-gutenprint: Este paquete incluye soporte para impresoras que usan la suite de controladores de impresin 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 lser 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 descripcin de los paquetes a instalar, procedemos a la descarga. Esto tomara un tiempo dependiendo de la velocidad de conexin a Internet. Lo primero que vamos a hacer despus de que halla terminada la descarga de los paquetes es irnos a realizar un respaldo al archivo de configuracin 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 segn sea nuestra necesidad.

CONFIGURACION ARCHIVO PRINCIPAL CUPSEn 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 estn, para que cuando cups se inicie en nuestro servidor pueda mostrar todas las impresoras compartidas en la red (ya es tu decisin) si por algn motivo no lo quieres asi cambia. BrowseAllow all 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 contrasea del administrador del sistema y los datos (como la contrasea) 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 opcin podemos definir por rango de red o solo por una direccin ip quienes pueden accesar va 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 autenticacin 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 por

Ahora pasamos al apartado Restrict access to configuration files, muy importante para definir quienes pueden acceder al archivo de configuracin 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 configuracin de CUPS (lo bsico, por que hay muchas opciones que se pueden aadir al archivo de configuracin y todas estas estn en la documentacin 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.

AADIENDO LA IMPRESORA A CUPSDespus de tener cups configurado y con los respectivos drivers para la interaccin con nuestra impresora, llego el momento de aadirla 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 fcil.

AGREGANDO LA IMPRESORAPrimero 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 administracin de nuestro servidor de impresin y desde aqu podremos realizar las configuraciones necesarias para el buen funcionamiento de este.

Ahora para aadir nuestra impresora nos vamos a la opcin sealada y de aqu en adelante nos guiara un asistente para la configuracin de la impresora.

Este es el asistente que nos guiara, y en los primeros datos que nos pedir esta Nombre, Ubicacin y Descripcin cada uno con su respectiva explicacin de para que es. Llenamos estos datos y presionamos Siguiente.

Elegimos el tipo de conexin de nuestra impresora, en este caso el sistema detecto en que puerto usb la tengo conectada, elegimos la opcin y pulsamos Siguiente.

En este paso debemos elegir el driver con el cual funcionara nuestra impresora, en este caso tuvimos que instalar otra versin del driver proporcionado por foomaticdb el driver para este modelo de impresoras es foo2zjs. En este paso el sistema tambin selecciona el driver adecuado para nuestra impresora as que doy clic en Aadir Impresora. Ahora nuestra impresora esta lista para ser utilizada por los usuarios de nuestra empresa o departamento segn sea nuestro criterio para su uso. Despus de este paso seria bueno reiniciar cups /etc/init.d/cups restart para dejar todo listo

AADIR IMPRESORA AL SISTEMA CLIENTE WINDOWS Y LINUXDebemos ahora aadir 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 impresin vamos a utilizar el protocolo IPP, que nos permitir entre muchas cosas poder imprimir va Internet y tener datos exactos de quien manda imprimir, cuantas hojas y el nombre del documentos.

En Windows XPPara 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 opcin Una impresora de red o una impresora conectada a otro equipo, clic en siguiente y seleccionar la opcin Conectarse a una impresora en internet o en su red domestica u organizacin y se habilitara la opcin Direccin URL... pero como obtenemos esa direccin url, para obtener esta url solo es cuestin 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 direccin 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 direccin 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 opcin deseada y listo podrs imprimir de ahora en adelante.

En GNU/LINUX UbuntuPara aadir nuestra impresora nos dirigimos a Sistema Administracin 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 opcin Internet Printing Protocol (ipp) y en el lado derecho en el campo servidor escribimos la direccin 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 opcin 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 Informacin y para Finalizar presionamos Aplicar y listo ya hemos aadido 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 configuracin de este PrintServer en Debian.

PROBLEMAS DURANTE LA IMPLEMENTACINLo que nunca faltan en la implementaciones, pero a partir de estos es que uno aprende. Los problemas que se presentaron durante la implementacin de este sistema de impresin los comento a continuacin.

Error en la navegacin en la Interfaz web de CUPS.Esto puede ocurrir por que la Directiva Browsing este establecida en off. Otra razn seria que no se defini el rango de ip validos para el acceso a la interfaz web.

CONCLUSINSistemas 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.