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 !
- Installer les paquets du pilote d’impression de votre imprimante
- 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 🙂