Serveur d’impression sur Raspberry Pi

J’ai récemment changé la fonction de mon Raspberry pi, il était branché à la télévision présente dans ma chambre (elle n’avait pas de DLNA). J’avais à la base comme serveur d’impression un TP-LINK qui fonctionnait très bien jusqu’a il y a quelques semaines, je devais le redémarrer électriquement pour pouvoir retrouver mon imprimante sur le réseau.

Le TP-Link raccordait l’imprimante sur le réseau et celle-ci apparaissait comme périphérique USB sur chaque poste où elle était renseigné, lorsque qu’un périphérique faisait appel à elle, elle se connectait au poste via l’application propriétaire du constructeur afin d’envoyer l’impression à l’imprimante et une fois la tâche terminée l’imprimante se déconnectait. Le point le plus contraignant avec ce système c’est que l’imprimante ne peut être vu que par un seul ordinateur à la fois, une sorte de chaise musicale très mal orchestrée …

Pour les prérequis il n’y en pas beaucoup encore une fois

  • Un raspberry pi avec raspbian installé(modèle b dans mon cas)
  • une imprimante (usb et relié au Pi dans mon cas)

La première chose à faire est de se connecter à notre Pi en ssh (je détaillerai l’installation de raspbian dans un prochain billet).

Notre première commande sera donc l’installation de CUPS.

sudo apt-get install cups cups-pdf
 

Ensuite on ajoute utilisateur « pi » au group lpadmin

sudo usermod -a -G lpadmin pi

Passons à la configuration de cups 🙂 On à jsute à éditer « /etc/cups/cupsd.conf »

sudo nano /etc/cups/cupsd.conf

Chercher la section suivante et commenté “Listen localhost:631″

# Only listen for connections from the local machine
 Listen localhost:631

On remplace cette ligne par « port 631 »

# Only listen for connections from the local machine
 # Listen localhost:631
 Port 631

Ensuite cherchons les sections « location » et on ajoute « allow @local » à chacune pour pouvoir autoriser l’accès à cups à tous les périphériques de votre réseau local.

< Location / >
 # Restrict access to the server...
 Order allow,deny
 Allow @local
 < /Location >
  
 < Location /admin >
 # Restrict access to the admin pages...
 Order allow,deny
 Allow @local
 < /Location >
  
 < Location /admin/conf >
 AuthType Default
 Require user @SYSTEM
  
 # Restrict access to the configuration files...
 Order allow,deny
 Allow @local
 < /Location >

Il ne reste plus qu’a sauvegarder la configuration de cups et à la redémarrer

sudo /etc/init.d/cups restart

On passe maintenant à l’ajout d’une imprimante à notre serveur d’impression tout neuf en se rendant à son adresse => http://ipdevotrepi:631

Capture

On se rends sur l’onglet « Administration » j’ai d’abord coché  » Partager les imprimantes connectées à ce système » et cliquer sur modifier les paramètres

Ensuite on ajoute une imprimante

Capture

Une authentification sera requise afin d’aller plus loin, utilisateur « pi » et le mot de passe que vous avez défini lors de votre installation de raspbian.

Capture

Cups nous listera les imprimantes qu’il aura découvert aussi bien connecté localement au Pi ou directement connecté sur notre réseau.

CaptureSélectionnez l’imprimante que vous voulez partager dans mon c’est la deuxième. Sur la page suivante vous pouvez éditer les infos de la dites imprimante comme bon vous semble, moi j’ai préféré laissé le tous par défaut et n’oubliez pas de cocher « Partager cette imprimante »

Capture

A la page suivante il vous serra nécessaire de sélectionner le bon modèle de votre imprimante et on ajoute l’imprimante.

Capture

Pour la page suivante on pourra régler les paramètres par défauts de l’imprimante.

CaptureOn arrive ensuite sur la page d’administration de votre imprimante

Capture

Voilà votre serveur d’impression est près il ne reste plus qu’a ajouter votre imprimante aux différents ordinateurs présents sur votre réseau.