From 70f39afe261cc91c6c738d8828669338ba7e053d Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Tue, 12 Jun 2018 03:10:18 +0200 Subject: [PATCH] relecture --- HowtoCUPS.md | 154 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 110 insertions(+), 44 deletions(-) diff --git a/HowtoCUPS.md b/HowtoCUPS.md index 845b6fc5..d31dc67a 100644 --- a/HowtoCUPS.md +++ b/HowtoCUPS.md @@ -1,75 +1,110 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +categories: print +title: Howto CUPS +... -# Howto CUPS +* Documentation : - +[CUPS](http://cups.org/) signifie **Common Unix Printing System**, c'est un serveur d'impression pour Linux/Unix. Il est souvent utilisé sur des postes de travail sous Linux, mais aussi sur des serveurs pour centraliser l'accès aux imprimantes et permettre des droits d'accès, des quotas, etc. ## Installation ~~~ -# aptitude install cups smbclient ttf-liberation ttf-mscorefonts-installer +# apt install cups smbclient ttf-liberation ttf-mscorefonts-installer + +# systemctl status cups +● cups.service - CUPS Scheduler + Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) + Docs: man:cupsd(8) + Main PID: 26996 (cupsd) + Tasks: 1 (limit: 4915) + Memory: 3.1M + CPU: 197ms + CGroup: /system.slice/cups.service + └─26996 /usr/sbin/cupsd -l ~~~ + +## Utilisation basique + +Lister les imprimantes : + +~~~ +# lpstat -t +~~~ + + ## Configuration -### Gestion des backends d'impression - -CUPS gère plusieurs backends d'impression : ipp:// socket:// (JetDirect) smb:// etc. - -Pour activer le backend smb:// il faut installer *smbclient* qui contient notamment le binaire _smbpool_. - -### Interface web d'administration - -L'interface web d'administration de CUPS est accessible sur le port 631 : - -* Autoriser l'utilisateur _foo_ à accéder aux tâches d'administration sur l'interface web : +Fichiers de configuration : ~~~ -adduser foo lpadmin +/etc/cups/ +├── cupsd.conf +├── cupsd.conf.pre16-bak +├── cups-files.conf +├── interfaces +├── ppd +├── raw.convs +├── raw.types +├── snmp.conf +└── ssl + ├── server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem + └── server.key -> /etc/ssl/private/ssl-cert-snakeoil.key ~~~ -* Par défaut, les tâches d'administrations ne sont autorisées que depuis _localhost_. Pour autoriser une IP ou réseau en plus : +La configuration principale se trouve dans le fichier `/etc/cups/cupsd.conf`. + +On peut tester la configuration avec la commande : ~~~ -# Fichier /etc/cups/cupsd.conf +# cupsd -t +"/etc/cups/cups-files.conf" is OK. +"/etc/cups/cupsd.conf" is OK. +~~~ - + +## Administration + +CUPS a une interface web d'administration accessible sur le port TCP/631 : + +Cette interface permet de gérer les imprimantes (génération du fichier `/etc/cups/printers.conf`), +visualiser des informations (logs, jobs…) et agir sur les jobs d'impression (annulation, etc.) + +### Droits d'accès à l'interface web + +Par défaut, l'interface est restreinte sur _localhost_ + +Pour autoriser son accès depuis des machines distantes, il faut ajuster les directives suivantes dans `/etc/cups/cupsd.conf` : + +~~~ +Listen *:631 + + Order allow,deny Allow from 192.0.32.0/24 -~~~ - -### Détection automatique d'imprimantes partagées - -Par défaut CUPS tente de découvrir les imprimantes partagées par d'autres systèmes sur le réseau, et les affiche dans sa liste, avec une URI=/dev/null. Pour ne pas avoir ce comportement, décocher la case « Afficher les imprimantes partagées par d'autres systèmes » dans « Administration du serveur » dans l'interface d'admin, puis supprimer le cache : -~~~ -# /etc/init.d/cups stop && rm /var/cache/cups/remote.cache && /etc/init.d/cups start ~~~ -### Mode debug +Il faut ensuite ajouter `Allow from 192.0.32.0/24` pour les sections et actions souhaitées. -Pour avoir un mode debug, on placera dans le fichier _cupsd.conf_ : +Pour les sections et actions critiques, une authentification supplémentaire est nécessaire. +Cela se base sur les utilisateurs Unix, pour autoriser un utilisateur on l'ajoutera dans le groupe `lpadmin` : ~~~ -LogLevel debug +# adduser jdoe lpadmin ~~~ -puis : -~~~ -# /etc/init.d/cups reload -Reloading Common Unix Printing System: cupsd. -~~~ +## Gestion des imprimantes -Et l'on aura un maximum d'information dans le _error_log_ - -## Imprimantes +CUPS gère plusieurs backends d'impression : _ipp://_, _socket://_ (JetDirect), _smb://_ etc. ### Imprimantes HP ~~~ -# aptitude install hpijs hpijs-ppds hplip hplip-data +# apt install hpijs hpijs-ppds hplip hplip-data ~~~ ### Imprimantes CANON @@ -110,14 +145,45 @@ E [02/Jun/2011:23:23:13 +0200] PID 5541 (/usr/lib/cups/filter/foomatic-rip) stop ### Fichiers PPD (PostScript Printer Description) Les fichiers PPD décrivent les fonctionnalités de l'imprimante. Suivant les paquets installés, un certain nombre de modèles -d'imprimantes sera disponible sur le système. On pourra aussi en ajouter dans le répertoire _/usr/local/share/ppd/_. +d'imprimantes sera disponible sur le système. On pourra aussi en ajouter dans le répertoire `/usr/local/share/ppd/`. Mais également lors de l'ajout d'une imprimante, on pourra tout simplement en uploader ; les fichiers PPD uploadés -se trouvent dans /etc/cups/ppd/ +se trouvent dans le répertoire `/etc/cups/ppd/`. + + +## Logs + +Par défaut, les logs d'accès se trouvent dans `/var/log/cups/access_log` +et les logs d'erreurs dans `/var/log/cups/error_log`. + +### Mode debug + +Pour avoir un mode debug, on placera dans le fichier `/etc/cups/cupsd.conf` : + +~~~ +LogLevel debug +~~~ + +puis, après avoir reloadé le démon CUPS, on aura un maximum d'informations dans `/var/log/cups/error_log`. + + +## FAQ + +### activation backend smb:// + +Pour activer le backend _smb://_ il faut installer `smbclient` qui contient notamment le binaire `smbpool`. + +### Détection automatique d'imprimantes partagées + +Par défaut CUPS tente de découvrir les imprimantes partagées par d'autres systèmes sur le réseau, et les affiche dans sa liste, avec une URI=/dev/null. Pour ne pas avoir ce comportement, décocher la case « Afficher les imprimantes partagées par d'autres systèmes » dans « Administration du serveur » dans l'interface d'admin, puis supprimer le cache : + +~~~ +# /etc/init.d/cups stop && rm /var/cache/cups/remote.cache && /etc/init.d/cups start +~~~ ### Imprimer une page de test en CLI -Lister les imprimantes : -`lpstat -t` +Imprimer la page de test de CUPS avec lp, avec le nom de l'imprimante _foo_ : -Imprimer la page de test de CUPS avec lp, avec le nom de l'imprimante : -`lp -d hp_color_LaserJet_2550 /usr/share/cups/data/testprint` +~~~ +$ lp -d foo /usr/share/cups/data/testprint` +~~~