                                CUPS en FreeBSD

  Chess Griffin

   <chess@chessgriffin.com>

   Revision: 0218e63274

   FreeBSD is a registered trademark of the FreeBSD Foundation.

   Many of the designations used by manufacturers and sellers to distinguish
   their products are claimed as trademarks. Where those designations appear
   in this document, and the FreeBSD Project was aware of the trademark
   claim, the designations have been followed by the "(TM)" or the "(R)"
   symbol.

   2019-03-12 09:50:45 +0000 por Gabor Kovesdan.
   Resumen

   Un articulo sobre la configuracion de CUPS en FreeBSD.

   [ Split HTML / Single HTML ]

     ----------------------------------------------------------------------

   Tabla de contenidos

   1. Una introduccion al sistema de impresion comun de Unix (CUPS)

   2. Instalacion del servidor de impresion CUPS

   3. Configurando el servidor de impresion CUPS

   4. Configuracion de impresoras en el servidor de impresion CUPS

   5. Configurando clientes de CUPS

   6. Solucion de problemas en CUPS

   Indice

1. Una introduccion al sistema de impresion comun de Unix (CUPS)

   CUPS, el sistema de impresion comun de UNIX, proporciona una capa portable
   de impresion para sistemas operativos tipo UNIX(R). Ha sido desarrollado
   por Easy Software Products para promover una solucion de impresion
   estandar para todos los proveedores y usuarios de UNIX(R).

   CUPS usa el Protocolo de Impresion de Internet (IPP) como base para
   administrar los trabajos de impresion y las colas. Los protocolos Line
   Printer Daemon (LPD), Server Message Block (SMB) y AppSocket (aka
   JetDirect) tambien son compatibles pero con funcionalidad reducida. CUPS
   anade la busqueda de impresoras en red y PostScript Printer Description
   (PPD) como opciones de impresion para dar un soporte de impresion real
   bajo UNIX(R). Como resultado, CUPS es ideal para compartir y acceder a
   impresoras en entornos mixtos con FreeBSD, Linux(R), Mac OS(R) X, o
   Windows(R).

   El sitio principal de CUPS es http://www.cups.org/.

2. Instalacion del servidor de impresion CUPS

   Para instalar CUPS utilizando un binario precompilado, utilice el
   siguiente comando desde un terminal con el usuario root:

 # pkg install cups

   Otros paquetes opcionales, pero recomendados, son print/gutenprint-cups y
   print/hplip, que agregan controladores y utilidades para varias
   impresoras. Una vez instalados, los archivos de configuracion de CUPS se
   pueden encontrar en el directorio /usr/local/etc/cups.

3. Configurando el servidor de impresion CUPS

   Despues de la instalacion, se deben editar algunos archivos para
   configurar el servidor de CUPS. Primero, cree o modifique, segun sea el
   caso, el archivo /etc/devfs.rules y agregue la siguiente informacion para
   establecer los permisos adecuados en todas las impresoras y para asociar
   las impresoras con el grupo de usuarios cups:

 [system=10]
 add path 'unlpt*' mode 0660 group cups
 add path 'ulpt*' mode 0660 group cups
 add path 'lpt*' mode 0660 group cups
 add path 'usb/X.Y.Z' mode 0660 group cups

  Nota:

   Tenga en cuenta que X, Y y Z deben reemplazarse con el dispositivo USB de
   destino listado en el directorio /dev/usb que corresponda a la impresora.
   Para encontrar el dispositivo correcto, examine la salida de dmesg(8),
   donde ugenX. Y muestra el dispositivo de la impresora, que es un enlace
   simbolico a un dispositivo USB en /dev/usb.

   A continuacion, agregue las siguientes dos lineas a /etc/rc.conf:

 cupsd_enable="YES"
 devfs_system_ruleset="system"

   Estas dos lineas iniciaran el servidor de impresion CUPS al inicio e
   invocaran la regla local devfs, respectivamente.

   Para habilitar la impresion de CUPS en ciertos clientes de Microsoft(R)
   Windows(R), la siguiente linea debe descomentarse en
   /usr/local/etc/cups/mime.types y /usr/local/etc/cups/mime.convs:

 application/octet-stream

   Una vez que se han realizado estos cambios, los sistemas devfs(8) y CUPS
   deben reiniciarse, ya sea reiniciando el ordenador o ejecutando los
   siguientes dos comandos en un terminal con el usuario root:

 # /etc/rc.d/devfs restart
 # /usr/local/etc/rc.d/cupsd restart

4. Configuracion de impresoras en el servidor de impresion CUPS

   Una vez CUPS haya sido instalado y configurado, el administrador puede
   empezar a configurar las impresoras locales conectadas al servidor de
   impresion CUPS. Esta parte del proceso es muy similar, si no identica, a
   la configuracion de impresoras CUPS en otros sistemas operativos basados
   en UNIX(R), como una distribucion de Linux(R).

   El medio principal para gestionar y administrar el servidor CUPS es a
   traves de la interfaz web, se puede acceder introduciendo en la URL de un
   navegador web http://localhost:631. Si el servidor CUPS esta en otra
   maquina en la red, sustituya la direccion IP local del servidor por
   localhost. La interfaz web de CUPS se explica por si misma, ya que hay
   secciones para administrar impresoras y trabajos de impresion, autorizar
   usuarios y mas. Ademas, en el lado derecho de la pantalla de
   Administracion hay varias casillas que permiten un acceso facil a las
   configuraciones mas comunes, por ejemplo, compartir impresoras conectadas
   al sistema, permitir la administracion remota del servidor CUPS y dar
   permisos adicionales a los usuarios sobre las impresoras y los trabajos de
   impresion.

   Por lo general, anadir una impresora es tan facil como hacer clic en "Add
   Printer" en la pantalla de Administracion de la interfaz web de CUPS, o
   haciendo clic en uno de los botones "New Printers Found" tambien en la
   pantalla de Administracion. Cuando se muestre el cuadro desplegable
   "Device", simplemente seleccione la impresora local deseada y continue con
   el proceso. Si usted ha agregado los ports o paquetes mencionados
   anteriormente print/gutenprint-cups o print/hplip, entonces, los
   controladores de impresion adicionales estaran disponibles en las
   siguientes pantallas pudiendo proporcionar mas estabilidad o
   caracteristicas.

5. Configurando clientes de CUPS

   Una vez haya sido configurado el servidor CUPS y se hayan agregado y
   publicado impresoras en la red, el siguiente paso es configurar los
   clientes o las maquinas que van a acceder al servidor CUPS. Si uno tiene
   una sola maquina de escritorio que actua como servidor y como cliente, es
   posible que gran parte de esta informacion no sea necesaria.

  5.1. Clientes UNIX(R)

   CUPS tambien tendra que estar instalado en sus clientes UNIX(R). Una vez
   que CUPS ha sido instalado en los clientes, las impresoras CUPS que se
   encuentren compartidas en la red, a menudo son descubiertas de forma
   automatica por los administradores de impresion de algunos escritorios
   como GNOME o KDE. Como alternativa, puede acceder a la interfaz local de
   CUPS en la maquina cliente en http://localhost:631 y hacer clic en "Add
   Printer" en la seccion de Administracion. Cuando se muestre el cuadro
   desplegable "Device", simplemente seleccione la impresora CUPS en red si
   esta fue descubierta automaticamente, o seleccione ipp o http e introduzca
   el IPP o HTTP URI de la impresora CUPS en red, generalmente con la
   siguiente sintaxis:

 ipp://server-name-or-ip/printers/printername

 http://server-name-or-ip:631/printers/printername

   Si los clientes de CUPS tienen dificultades para encontrar otras
   impresoras de CUPS compartidas en la red, a veces es util agregar o crear
   un archivo /usr/local/etc/cups/client.conf con una sola linea como la que
   se muestra a continuacion:

 ServerName server-ip

   En este caso, server-ip seria reemplazado por la direccion IP local del
   servidor CUPS.

  5.2. Clientes Windows(R)

   Las versiones de Windows(R) anteriores a XP no tienen la capacidad de
   conectarse por red de forma nativa con impresoras IPP. Sin embargo,
   Windows(R) XP y posteriores si tienen esa capacidad. Por lo tanto, anadir
   impresoras CUPS en esas versiones de Windows(R) es bastante facil.
   Generalmente, el administrador de Windows(R) ejecutara el Asistente para
   Agregar Impresoras de Windows(R), seleccione Impresora de Red y luego
   inserte la URI siguiendo la siguiente sintaxis:

 http://server-name-or-ip:631/printers/printername

   Si dispone de una version antigua de Windows(R) sin soporte nativo de
   impresion IPP, entonces la forma habitual de conectar una impresora a CUPS
   es usar net/samba3 y CUPS juntos, pero eso es un tema fuera del alcance de
   este capitulo.

6. Solucion de problemas en CUPS

   A menudo, las dificultades con CUPS radican en los permisos. Primero,
   verifique dos veces los permisos de devfs(8) como se ha descrito
   anteriormente. A continuacion, verifique los permisos actuales de los
   dispositivos creados en el sistema de archivos. Tambien es util asegurarse
   de que su usuario sea miembro del grupo cups. Si las casillas de
   verificacion de los permisos en la seccion de Administracion de la
   interfaz web de CUPS parecen no funcionar, otra solucion seria realizar
   una backup manual del archivo de configuracion principal de CUPS ubicado
   en /usr/local/etc/cups/cupsd.conf, editar las opciones y probar diferentes
   combinaciones de configuracion. Un ejemplo de
   /usr/local/etc/cups/cupsd.conf para probar se muestra a continuacion.
   Tenga en cuenta que el archivo de ejemplo cupsd.conf sacrifica la
   seguridad para facilitar la configuracion; una vez que el administrador se
   conecte con exito al servidor de CUPS y configure los clientes, es
   recomendable volver a editar este archivo de configuracion y empezar a
   bloquear el acceso.

 # Registrar la informacion general en error_log - cambie "info" a "debug" para
 #la resolucion de problemas...
 LogLevel info

 # Administrador del grupo de usuarios...
 SystemGroup wheel

 # Escuchar las conexiones en el puerto 631.
 Port 631
 #Escuchar localhost:631
 Listen /var/run/cups.sock

 # Mostrar impresoras compartidas en la red local.
 Browsing On
 BrowseOrder allow,deny
 #BrowseAllow @LOCAL
 BrowseAllow 192.168.1.* # change to local LAN settings
 BrowseAddress 192.168.1.* # change to local LAN settings

 # Tipo de autenticacion predeterminado, cuando se requiere autenticacion...
 DefaultAuthType Basic
 DefaultEncryption Never # comenta esta linea para permitir el cifrado

 # Permitir el acceso al servidor desde cualquier maquina en la LAN
 <Location />
   Order allow,deny
   #Permitir localhost
   Allow 192.168.1.* # cambiar a la configuracion de LAN local
 </Location>

 # Permitir el acceso a las paginas de administracion desde cualquier maquina en la LAN
 <Location /admin>
   #Cifrado requerido
   Order allow,deny
   #Permitir localhost
   Allow 192.168.1.* # cambiar a la configuracion de LAN local
 </Location>

 # Permitir el acceso a los archivos de configuracion desde cualquier maquina en la LAN
 <Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   #Permitir localhost
   Allow 192.168.1.* # cambiar a la configuracion de LAN local
 </Location>

 # Establece las politicas predeterminadas de impresora/trabajo...
 <Policy default>
   # Las operaciones relacionadas con un job deben ser realizadas por el propietario o un administrador...
   <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>

   # Todas las operaciones de administracion requieren de un administrador para autenticarse...
   <Limit Pause-Printer Resume-Printer Set-Printer-Attributes 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-Add-Printer CUPS-Delete-Printer CUPS-Add-Class \
 CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
     AuthType Basic
     Require user @SYSTEM
     Order deny,allow
   </Limit>

   # Solo el propietario o un administrador puede cancelar o autenticar un job...
   <Limit Cancel-Job CUPS-Authenticate-Job>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>

   <Limit All>
     Order deny,allow
   </Limit>
 </Policy>

Indice

  C

   CUPS, Una introduccion al sistema de impresion comun de Unix (CUPS)

  P

   printing, Una introduccion al sistema de impresion comun de Unix (CUPS)
