Debian – Créer et maintenir un serveur d’impression avec CUPS

Debian – Créer et maintenir un serveur d’impression avec CUPS

CUPS (Common Unix Printing System) est une solution open source largement adoptée pour la gestion et le partage d’imprimantes dans les environnements basés sur Unix. Que vous travailliez dans une petite structure ou que vous administriez un parc de machines important, mettre en place un serveur d’impression fiable est essentiel pour garantir la fluidité de votre flux de travail. CUPS offre une interface web conviviale ainsi que des outils en ligne de commande performants pour configurer et dépanner vos imprimantes en toute simplicité. Dans cet article, nous verrons pas à pas comment installer, configurer et maintenir un serveur d’impression avec CUPS. Nous aborderons également les bonnes pratiques pour optimiser la sécurité et la performance de votre infrastructure d’impression.

Étape 1 : Metter à jour la liste de vos paquets

sudo apt update

Étape 2 : Installer CUPS

sudo apt install cups

Étape 3 : Activer le démarrage automatique de CUPS

systemctl enable cups

Étape 3 : Ajouter votre utilisateur au groupe lpadmin

  • Pour pouvoir administrer CUPS et ajouter/supprimer des imprimantes via l’interface web, vous devez ajouter votre utilisateur au groupe lpadmin :
sudo usermod -aG lpadmin <nom_utilisateur>

Important : Remplacez <nom_utilisateur> par votre nom d’utilisateur.
Après cette commande, il est parfois nécessaire de fermer la session et de la rouvrir pour que les changements prennent effet.

Étape 4 : Configurer le pare-feu (optionnel)

sudo ufw allow 631/tcp

Étape 5 : Accéder à l’interface d’administration CUPS

http://<adresse_du_serveur:631

Étape 6 : PERMISSION (facultative)

  • Lorsque vous vous rendez à l’adresse du serveur CUPS sur le port 631, il est possible que cela ne fonctionne pas, ou bien, que vous n’ayez pas la permission requise.

PAS DE PANIQUE !

  • Rendre le service accessible à distance

Éditer le fichier /etc/cups/cupsd.conf

nano /etc/cups/cupsd.conf

Listen localhost:631 -> <ip_du_serveur_cups>:631
Listen /run/cups/cups.sock

Enregistrer et quitter le fichier, puis redémarrer le service CUPS :

sudo systemctl restart cups
  • Accorder les permissions nécessaire :
nano /etc/cups/cupsd.conf

Vous devriez avoir quelque chose comme ceci, modifier ces 2 lignes :

<Location />
  Order allow,deny
  Allow from 127.0.0.1 -> Allow from all
</Location>

<Location /admin>
  Order allow,deny
  Allow from 127.0.0.1 -> Allow from all
</Location>

<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow from 127.0.0.1 -> Allow from all
</Location>
  • <Location /> : Dans cette balise vous allez définir à partir de quelle interface vous pourrez accéder au panel de CUPS
  • <Location /admin> : Dans cette balise vous allez définir à partir de quelle interface vous pourrez accéder au panel d’administrateur de CUPS
  • <Location /admin/conf> : Dans cette balise vous allez définir à partir de quelle interface vous pourrez accéder au panel de configuration de CUPS

Important : le type de configuration présent dans ce tuto est une configuration de test, lors d’utilisation en production il est important de préciser des réseaux spécifique et de restreindre les droits.

Et enfin, on redémarre le service CUPS :

systemctl restart cups

Et là, vous devriez avoir accès au panel de CUPS :


Administrer vos imprimantes

  • Rendez-vous dans la section Administration

Tout un tas de services sont possibles, commençons par ajouter une imprimante.

  • Cliquer sur Ajouter une imprimante, vous allez devoir vous connecter, connectez-vous avec l’utilisateur créé tout à l’heure.
Nom d'utilisateur : superprinters, Mot de passe : root
  • Le panel admin vous affiche à l’écran les imprimantes découvertes par le réseau et les imprimantes locales, ainsi que la possibilité de sélectionner un type de connexion aux imprimantes réseaux.

Séléctionner Internet Printing Protocol (http) et cliquer sur continuer

renseigner l’ip de votre imprimante et cliquer sur continuer :

  • Ajouter un nom, une description et un emplacement et cliquer sur continuer
  • Remarque : à présent, on vous demande de sélectionner une marque, si comme moi votre imprimante ne figure pas dans la liste, vous devez installer les pilotes disponibles dans les dépôts Debian.

Pour le test, la marque CANON, ne figure pas dans la liste, 2 possibilités s’offrent à vous !

  1. Installer les paquets du pilote d’impression de votre imprimante
  2. Verser via la page admin un fichier PPD (PostScript Printer Description)
Installer les paquets du pilote d’impression de votre imprimante
sudo apt update
sudo apt install printer-driver-gutenprint printer-driver-cups-pdf printer-driver-escpr
  • printer-driver-gutenprint : fournit des pilotes pour un grand nombre d’imprimantes Epson, Canon, etc.
  • printer-driver-cups-pdf : n’est pas directement lié à Canon, mais utile pour l’impression en PDF.
  • printer-driver-escpr : plus spécifique aux imprimantes Epson, mais peut parfois aider.

Redémarrer le service :

systemctl restart cups
Verser via la page admin un fichier PPD (PostScript Printer Description)
  • Rendez-vous à cette adresse : https://openprinting.github.io/downloads/

Séléctionner Download sous PPD et enfin, sélectionner votre marque et l’imprimante, puis verser le fichier içi :

Une fois l’imprimante trouvé, sélectionner le pilote et cliquer sur Ajouter une imprimante

Sur ce menu, vous avez la possibilité de configurer votre imprimante selon des paramètres bien précis, pour le tuto, je laisse tout par défaut.

Cliquer sur Définir les options par défaut

Et voilà, vous avez ajouté votre première imprimante ! 😉

Au bout de quelques secondes, dans la section Imprimantes, vos imprimantes s’afficheront :


Nous allons imprimer une page de test, cliquer sur Maintenance, puis Imprimer une page de test :

On peut voir que la tâche a été ajouté à la file d’attente.


Maintenant, on va effectuer un dernier test, on va imprimer un fichier en cmd

Étape 1 : Commencer par lister les imprimantes

lpstat -p

Étape 2 : Lancer l’impression :

lp -d IMP-CANON page_de_test.txt

Et dans la file d’attente, la nouvelle demande d’impression s’ajoute aux tâches en cours :

Et voilà, vous savez installer et configurer les bases d’un serveur d’impression sous Linux 🙂

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *