relecture
This commit is contained in:
parent
9a69c2b5f3
commit
70f39afe26
154
HowtoCUPS.md
154
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 : <http://cups.org/documentation.php>
|
||||||
|
|
||||||
<http://cups.org/documentation.php>
|
[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
|
## 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
|
## Configuration
|
||||||
|
|
||||||
### Gestion des backends d'impression
|
Fichiers de configuration :
|
||||||
|
|
||||||
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 : <http://192.0.32.10:631>
|
|
||||||
|
|
||||||
* Autoriser l'utilisateur _foo_ à accéder aux tâches d'administration sur l'interface web :
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
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.
|
||||||
|
~~~
|
||||||
|
|
||||||
<Location /admin>
|
|
||||||
|
## Administration
|
||||||
|
|
||||||
|
CUPS a une interface web d'administration accessible sur le port TCP/631 : <http://127.0.0.1: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
|
||||||
|
|
||||||
|
<Location />
|
||||||
Order allow,deny
|
Order allow,deny
|
||||||
Allow from 192.0.32.0/24
|
Allow from 192.0.32.0/24
|
||||||
</Location>
|
</Location>
|
||||||
~~~
|
|
||||||
|
|
||||||
### 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 :
|
|
||||||
|
|
||||||
~~~
|
## Gestion des imprimantes
|
||||||
# /etc/init.d/cups reload
|
|
||||||
Reloading Common Unix Printing System: cupsd.
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Et l'on aura un maximum d'information dans le _error_log_
|
CUPS gère plusieurs backends d'impression : _ipp://_, _socket://_ (JetDirect), _smb://_ etc.
|
||||||
|
|
||||||
## Imprimantes
|
|
||||||
|
|
||||||
### Imprimantes HP
|
### Imprimantes HP
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# aptitude install hpijs hpijs-ppds hplip hplip-data
|
# apt install hpijs hpijs-ppds hplip hplip-data
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Imprimantes CANON
|
### 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)
|
### 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
|
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
|
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
|
### Imprimer une page de test en CLI
|
||||||
|
|
||||||
Lister les imprimantes :
|
Imprimer la page de test de CUPS avec lp, avec le nom de l'imprimante _foo_ :
|
||||||
`lpstat -t`
|
|
||||||
|
|
||||||
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`
|
||||||
|
~~~
|
||||||
|
|
Loading…
Reference in a new issue