Servidor de impresión con Raspberry Pi y CUPS

Aprendemos a crear un pequeño servidor de impresión utilizando las populares placas de Raspberry Pi y el servicio CUPS, del que ya hemos hablado alguna vez.

Esta idea me ha surgido a raíz del confirnamiento, ya que tenemos una impresora en casa que se conecta vía cable USB y siempre la hemos tenido conectado a un portátil. La cuestión que eso no es eficiente, ya que el resto de equipos de la casa no podían imprimir o bien tenían que utilizar la impresora compartida desde el portátil. Algo farragoso si este host estaba apagado.

Por suerte desde hace tiempo,cosa que ya he comentado en otras entradas, tengo varias Raspberry Pi por casa. De hecho una de ellas siempre encendida, donde tengo funcionando la herramienta Pi-Hole. Para evitar la publicidad molesta y el rastreo indeseado en mis dispositivos. Por lo que también la haremos servir de servicio de impresión con CUPS.

Instar CUPS en Raspberry Pi

Seguramente ya debes saber que podemos utilizar diferentes sistemas operativos en estas placas, en mi caso me he decantado por Raspbian. Para instalar el servicio CUPS solo hemos de escribir:

sudo apt install cups

Una vez hecho esto tenemos que añadir nuestro usuario al grupo de administración de las impresoras. Por defecto el usuario es ‘pi‘, aunque puede que tengamos otro:

sudo usermod -aG lpadmin pi

Este servicio incorpora una página web de administración, pero por defecto su acceso esta restringuido al propio servidor donde este instalado. Para cambiar eso y poder acceder desde cualquier equipo de la red doméstica, debemos modificar su fichero de configuración:

sudo vi /etc/cups/cupsd.conf

Debemos modificar la siguiente parte:

#Listen localhost:631
Port 631
Listen /var/run/cups/cups.sock
 
# Restrict access to the server...
  Order allow,deny
  Allow 192.168.0.*
 
# Restrict access to the admin pages...
  Order allow,deny
  Allow 192.168.0.*
 
# Restrict access to configuration files...
  AuthType Default
#  Require user @SYSTEM
  Allow 192.168.0.*
  Order allow,deny

En mi caso la red de mi casa se encuentra dentro del rango 192.168.0.0, con una máscara de 24 bits.

Una vez hecho esto guardamos y reiniciamos el servicio:

sudo systemctl restart cups.service

Para comprobar su estado:

sudo systemctl status cups.service

También podemos comprobar su actividad reciente:

sudo journalctl -u cups.service

Ahora ya podemos acceder al navegador web a su consola de administración, utilizando la IP de la Raspberry Pi más el puerto 631.

Para acceder, solo hemos de ir a la pestaña de administración. A continaución ponemos nuestro nombre de usuario y contraseña.

En el siguiente paso nos vamos a añadir impresora:

De esta manera solo tenemos que añadirla.

Es importante indicar que se trata de una impresora que queremos compartir, para que cualquiera de la red la pueda utilizar.

Ahora solo nos falta añadirla en nuestro equipo, que en una entrada anterior os explique como hacerlo.

Y nada, espero que esta breve entrada os sea de utilidad en algún momento. Nos vamos leyendo.