Skip to Content

Installation du serveur d’impression CUPS sur Debian

But de ce document

Ce document me sert de mémo pour mettre en place un serveur d’impression sous Debian Etch avec CUPS et SAMBA.

Pré-requis

Avoir installé une Debian de Base :

  •  cf mon autre document sur ce sujet : http://www.coagul.org/article.php3 ?id_article=337

    Installation du client et du serveur SSH

    Étant donné que ce serveur ne disposera pas de clavier et d’écran. Il faut donc commencer par installer le serveur ssh, pour pouvoir le configurer à distance :

    # aptitude install ssh

    Remarque  : Laisser les valeurs proposées par défaut aux questions posées.

    Installation de serveur d’impression CUPS

    Il faut installer le gestionnaire d’impression (CUPS), l’ensemble des drivers (Foomatic) et éventuellement Samba pour pouvoir imprimer sur des imprimantes partagées sous Windows :

    Installation du gestionnaire d’impression (CUPS) :

    # aptitude install cupsys cupsys-client cupsys-bsd cupsys-driver-gimpprint

    Installation des drivers d’impression du package « Foomatic » :

    # aptitude install foomatic-db-engine foomatic-filters-ppds

    Remarque  : Si des questions sont posées lors de l’installation de ces paquets, vous pouvez laisser les valeurs proposées par défaut.

    Configuration de CUPS avec un accès Web distant

    Le paramétrage de CUPS, se fait via une interface Web. Cependant par défaut il n’est pas possible d’accéder à cette interface depuis un autre poste du réseau pour des questions de sécurité.

    Pour activer l’accès réseau, il faut modifier le fichier «  /etc/cups/cupsd.conf ».

    Il faut commencer pour autoriser l’écoute pour tout le réseau en remplaçant cette ligne :

    Listen localhost:631

    Par celle-ci

    Listen *:631

    Dans ce fichier, il faut ajouter l’adresse IP ou la classe d’adresses autorisée à accéder à l’interface en ajoutant par exemple la ligne « Allow From @LOCAL » dans la section «   », ce qui donne dans mon cas :


    Order Deny,Allow
    Deny From All
    Allow From 127.0.0.1
    Allow From @LOCAL

    Pour permettre également d’accéder à l’administration des imprimantes et non pas seulement la gestion, il faut en plus ajouter l’adresse IP ou la classe d’adresses autorisée en ajoutant par exemple la ligne « Allow From 192.168.0.* » dans la section «  » :


    AuthType Basic
    AuthClass System
    Order Deny,Allow
    Deny From All
    Allow From 127.0.0.1
    Allow From  @LOCAL

    Ensuite, il faut recharger la configuration de CUPS avec la commande suivante :

    # /etc/ini.d/cupsys reload

    Pour finir, l’interface de configuration doit être accessible avec le navigateur d’un autre poste du réseau à l’adresse IP du serveur CUPS et sur le port 631. Ce qui donne par exemple :

    http://192.168.0.1:631/

    Permettre à un utilisateur d’administrer les imprimantes

    Avec la configuration indiquée précédemment, la gestion des d’imprimantes ne demandera pas de mot de passe particulier. Par contre pour accéder à la partie administration (Ajout / suppression d’imprimantes), il faudra indiquer le mot de passe de root ou d’un utilisateur faisant parti des administrateur des imprimantes.

    Pour qu’un utilisateur (ex : monuser) devienne administrateur des imprimantes, il faut l’ajouter au groupe «  lpadmin  »

    # adduser monuser lpadmin

    Installation du client Samba

    Le client Samba permet d’installer sur le serveur Linux des imprimantes partagées par des postes Windows :

    # aptitude install samba-client

    Remarque : Laisser les valeurs par défaut aux questions posées concernant la configuration du serveur Samba.

    Une fois ce paquet installé, il est possible avec l’interface Web d’ajouter des imprimantes sur un périphérique de type « Windows Printer via SAMBA »

    Pour information, l’URI de périphérique pour une imprimante Windows et sous la forme :

  •  smb ://groupe_de_travail_ou_domaine/serveur/nom_partage
  •  smb ://serveur/nom_partage
  •  smb ://utilisateur:mot_de_passe@groupe_de_travail_ou_domaine/serveur/nom_partage
  •  smb ://utilisateur:mot_de_passe@serveur/nom_partage

    Quelques commandes utiles

    L’utilitaire «  lpadmin  » permet de créer, modifier ou supprimer des imprimantes CUPS en ligne de commande.

    Cette commande permet de connaître l’état des imprimantes :

    # lpstat -a

    Les commandes suivantes permettent de démarrer et d’arrêter les imprimantes indiquées :

    # cupsenable Imprimante1 Imprimante2

    # cupsdisable Imprimante1 Imprimante2

    La commande suivante permet de démarrer toutes les imprimantes :

    # cupsenable `lpstat -a | cut -d " " -f 1`

    Problème rencontré

    En voulant installer une nouvelle imprimante, l’interface Web de Cups refusait d’afficher la liste des pilotes disponibles.

    En regardant les processus, j’ai remarqué que le processus « cups-driverd » chargeait le serveur à 100% et ne s’arrêtait pas.

    En lançant cette commande manuellement, j’ai constaté que le processus tournait en rond :

    # /usr/lib/cups/daemon/cups-driverd list 1 0 requested-attributes='ppd-make'

    J’ai fini par trouver qu’il fallait supprimer ce lien :

    # rm /usr/share/ppd/foomatic-rip/foomatic-rip

    Et ce fichier :

    # rm /var/cache/cups/ppds.dat

    Historique des modifications

    Version Date Commentaire
    0.1 15/11/05 Création par Tony GALMICHE
    0.2 24/01/07 Ajout chapitre « Quelques commande utiles »
    0.5 31/05/08 Mise en ligne
    0.6 16/09/08 Ajout chapitre « Problème rencontré »
  • Commentaires

    Installation de CUPS sur Debian

    excellent tuto.

    je suis un gros novice (windowsien) et j’ai réussi à installer cups, ajouter mon imprimante HP2840 avec tes consignes dans KDE.

    no soucis......sauf que Cups est en anglais mais bon. normalement je n’irai pas voir l’interface web, ni les utilisateurs du poste.

    par hasard, tu n’aurais pas envi d’ajouter une autre partie à ce tutoriel genre :

  •  comment faire pour que l’imprimante fonctionne avec le partage via un client FreeNX ?
  • Installation de CUPS sur Debian

    Si tu veux travailler en USB, je te conseille de passer sur ETCH.

    Sur Sarge, il doit falloir monter des modules USB manuellement (ex : usbcore)

    Concernant ton imprimante, tu trouveras des infos ici :

  •  http://openprinting.org/show_printer.cgi ?recnum=Canon-PIXMA_iP1200_driver
    Sinon, je viens de publier trois nouveaux articles sur l’installation d’imprimantes sous CUPS :
  •  http://www.coagul.org/
  • Installation de CUPS sur Debian

    Juste une chose, sur une Debian Sarge 4.0.
    Une comment je drive une imprimante sur usb ?
    Et comment je trouve les drivers ?
    (Imprimante évoquée ci-dessus)

    Installation de CUPS sur Debian

    Merci Tony, je continu la config :)
    Coagul est vraiment super !

    Installation de CUPS sur Debian

    Si le poste Windows est sous XP, c’est possible même sans passer par Samba :

  •  http://www.coagul.org/article.php3 ?id_article=602
    Pour des postes plus anciens, il faut effectivement passer par Samba comme expliqué par exemple dans cet article :
  •  http://doc.ubuntu-fr.org/partage_imprimante_ubuntu_avec_windows
  • Installation de CUPS sur Debian

    Merci pour cette réponse très réactive !

    Autre chose, je voudrai la partager via Samba, l’imprimante est une Canon Pixma iP1200.

    C’est possible ?

    Installation de CUPS sur Debian

    Sans problème. Il est possible de configurer CUPS soit en ligne de commandes soit via son interface Web disponible à cette adresse :

  •  http://localhost:631
  • Installation de CUPS sur Debian

    Est-ce que l’on peut s’en servir sur un serveur qui ne posséde aucune interface graphique ?
    Merci d’avance.

    Installation de CUPS sur Debian

    Salut, sais tu comment imprimer via une ligne de commande ?
    Merci d’avance