Association Générale des Utilisateurs de logiciels libres en Côte-d'Or

logo_coagul

Installation du serveur d’impression CUPS sur Debian

Rubrique : Serveurs
Le : samedi 8 septembre 2007
Par : Tony  
Visites : 25149
Tags : CUPS, Débian, Kprinter

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 :

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From @LOCAL
</Location>

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 «  » :

<Location /admin>
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From  @LOCAL
</Location>

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

VersionDateCommentaire
0.115/11/05Création par Tony GALMICHE
0.224/01/07Ajout chapitre « Quelques commande utiles »
0.531/05/08Mise en ligne
0.616/09/08Ajout chapitre « Problème rencontré »
Version imprimable de l'article

Forum


  • Installation de CUPS sur Debian
    10 mars 2008, par Michael REMY

    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
    12 septembre 2007, par Julien Breux
    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
      12 septembre 2007, par Tony
      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
        12 septembre 2007, par Julien Breux

        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
          12 septembre 2007, par Tony

          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
            12 septembre 2007, par Julien Breux
            Merci Tony, je continu la config :) Coagul est vraiment super !
            • Installation de CUPS sur Debian
              12 septembre 2007, par Julien Breux
              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
                12 septembre 2007, par Tony

                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
                  27 décembre 2007, par Julien Breux
                  Salut, sais tu comment imprimer via une ligne de commande ? Merci d’avance
Site réalisé sous Spip. Merci à NFrance pour son hébergement gracieusement offert. Tous les articles de ce site sont sous licence Creative Commons by-nc-sa (CC).