Ceci est une ancienne révision du document !



Comment configurer un ordinateur en "serveur d'impression" ?

Cette page explique comment configurer un poste Ubuntu en serveur d'impression. Cette configuration va permettre de partager une imprimante qui est raccordée directement à cet ordinateur.

La schéma suivant décrit cette situation :

Cette documentation explique la méthode pour Ubuntu, Edubuntu et Xubuntu, et une méthode universelle à tous les systèmes disposant de CUPS (MacOS et Unix en général).

Ubuntu 9.04 et supérieurs

Méthode via l'interface web de CUPS

Aller à l'adresse http://localhost:631/admin et cocher "Partager les imprimantes connectées à ce système".

Si votre serveur n'a pas d'interface graphique, il faut autoriser un accès d'une autre machine du réseau (avec interface graphique elle !) : sur le serveur , /etc/cups/cupsd.conf , modifier (dans l'exemple, 192.168.0.1 est le serveur et 192.168.0.2 et la machine de laquelle on veut accéder à l'interface web:
Listen 192.168.0.1:631
# Restrict access to the admin pages...
<Location /admin>
Order deny,allow
Deny From All
Allow From 127.0.0.1
Allow from 192.168.0.2
</Location>

Une fois ceci fait, on accède à l'interface web via : http://192.168.0.1:631/admin

# Restrict access to the admin pages… <Location /admin> Order deny,allow Deny From All Allow From 127.0.0.1 Allow from 192.168.0.2 </Location>

Autre méthode

  • Ouvrir le gestionnaire de configuration d'impression :
    • Système → Administration → Impression
  • Installer l'imprimante si ce n'est pas déjà fait :
  • Ouvrir le partage global :
    • Serveur → Paramètres
    • Cocher la case "Publier les imprimantes partagées connectées à ce système"
    • Cliquer sur "Valider"
  • Ouvrir le partage pour votre imprimante :
    • Clic droit sur l'imprimante à partager → Cocher la case "Partagée"
  • Configurer le pare-feu
    • Autoriser le port TCP 631 en entrée
Si le gestionnaire se bloque sur une erreur « Failed to set settings », la solution (moins propre) est de refaire la modification en tant que root : sudo /usr/bin/system-config-printer

Problème possible

Si après la configuration vous ne pouvez toujours pas partager votre imprimante, éditez le fichier /etc/cups/cupsd.conf en remplaçant la variable @LOCAL par votre adresse réseau 192.168.* dans la section Allow shared printing…

<Location />
  # Allow shared printing...
  Order allow,deny
  # Allow @LOCAL
  Allow 192.168.*
</Location>

Ensuite, relancez CUPS via la commande dans un terminal:

sudo service cups restart

CUPS : universel, pratique, fiable

Si CUPS est installé, une interface WEB est disponible à l'adresse http://localhost:631. Cette jolie interface est celle de CUPS, et à partir de là, votre paramétrage peut se faire en quelques clics de souris.

Ajouter une imprimante

Sous la bannière bienvenue vous trouverez "ajouter une imprimante"… Suivez les instructions.

Autoriser les utilisateurs à s'en servir

Aller dans l'onglet "administration" (2e en partant de la gauche), cocher 2 ou 3 lignes :

  • l'une concernant le partage publique,
  • l'autre pour autoriser l'impression depuis internet,
  • et la dernière si vous le souhaitez (facultatif, mais bien pratique) l'administration à distance.

Cette dernière vous permettra de faire un petit coucou à votre CUPS et de le configurer depuis n'importe quel poste de votre réseau local, en y accédant ainsi :

http://<@ip_du_cups_de_l'imprimante>:631

Ou même depuis l'Internet (la 2e ligne servant à ça), à condition que votre connexion à Internet redirige le port 631 vers votre ordinateur (enfin celui disposant du CUPS).

Un exemple simple

Admettons que votre imprimante soit connectée soit en USB, soit en parallèle (ou tout autre interface), à un ordinateur dont l'adresse IP est 192.168.1.3 dans le réseau local. Alors, accéder à cette imprimante (et surtout au CUPS qui la concerne) se fera via http://192.168.1.3:631/.

La petite astuce

Plein d'imprimantes sur le réseau ? Pas de panique. À chaque CUPS son imprimante, mais aussi celle de l'autre. Il vous suffira d'ajouter une imprimante, connectée en IPP (Internet Printing Protocol) et d'entrer en guise d'adresse :

ipp://<@ip_du_cups_de_l'imprimante>:631/printers/<nom_de_l'imprimante_sur_ce_cups>/
Exemple simple

Si mon ordinateur, dont l'@IP est 192.168.1.3 sur le réseau local dispose d'une imprimante parallèle configurée préalablement, et dont le nom est TralAlA123, alors l'adresse PII1) est la suivante :

ipp://192.168.1.3:631/printers/TralAlA123

Et celle-ci reste valable sur tout le réseau local.

Le dernier coup de pouce

Une aide formidable est fournie. L'aide est bien documentée (bien qu'améliorable, bien sûr), mais en Anglais, ce qui risque d'en tuer plus d'un.

Pour le cas d'un serveur ne possédant pas d'interface graphique on peut accéder à l'interface web de cups (non accessible par défaut depuis un autre poste), pour cela connecter vous dans un premier temps au sevrer grâce au protocole ssh, vous pourrez ainsi à l'aide d'un programme de navigation web pour console tel que lynx ou links y géré cups en vous rendant à l'adresse suivante : 127.0.0.1:631

Vous pourrez entre autre y activer l'administration à distance de cups, pour cela rendez vous dans la partie administration, cocher la casse Allow remote administration, puis appliquer avec change settings.

Enfin à l'aide de votre navigateur web préférer vous pouvez gérer facilement cups à distance en vous rendant à adresse_de_votre_serveur:631

Configuration d'un client Ubuntu 8.04 LTS ou suivants

Automatiquement

  • Ouvrez le gestionnaire de configuration d'imprimante:
    • Système → Administration → Impression pour Ubuntu,
    • Applications → Paramètres → Impression pour Xubuntu,
  • Puis sélectionnez Paramètres du serveur et cocher la case Montrer les imprimantes partagées par les autres systèmes,
  • Cliquez sur Appliquer,
  • Fermez puis réouvrez le configurateur,
  • Cliquez sur Actualiser : l'imprimante devrait apparaître en dessous de Imprimantes distantes,
  • Paramétrez ensuite comme imprimante par défaut si vous le voulez.

Manuellement

Si l'auto-détection ne marche pas, ou si l'ordinateur qui partage l'imprimante ne partage pas les données permettant l'auto-détection, suivez cette méthode :

  • ouvrez : Système → Administration → Impression,
  • puis cliquez sur : Nouvelle imprimante;
  • dans la liste, choisissez : Internet Printing Protocol (ipp);
  • dans la case Hôte : tapez l'adresse IP du serveur d'impression, dans la case File d'attente : tapez le nom de l'imprimante (telle qu'elle est nommée sur le serveur) et cliquez sur Vérifier…. Un message vous dira si l'imprimante est accessible, sinon vérifiez vos paramètres.
  • dans la fenêtre qui apparaît, choisissez l'imprimante que vous voulez utiliser, et faites Valider,
  • faites Suivant, et choisissez le pilote de l'imprimante distante,
  • arrivé au choix du nom de l'imprimante, donnez lui un nom, et faites Appliquer,
  • ensuite, dans la fenêtre principale, cliquez sur Appliquer et ensuite Actualiser, l'imprimante devrait apparaître en dessous de Imprimantes Réseau,
  • il vous suffira ensuite de la paramétrer comme imprimante par défaut si vous le voulez.
Si vos imprimantes réseau sont correctement reconnues mais qu'à l'impression rien ne se passe… lisez les 2 points suivants.
Amis débutants, si vous ne comprenez pas le point 1 ci-dessous passez au 2 directement…
Explication et détection du problème

Essayez de faire un ping sur votre machine serveur (pas l'IP !) si ça ne marche pas vous tenez le coupable ! CUPS présente à mon avis un petit défaut à ce niveau-là. Une connexion réseau et CUPS peut très bien se faire en utilisant seulement des adresses IP, mais à la détection d'une imprimante réseau CUPS enregistre son adresse IPP en utilisant le nom d'hôte du serveur, ensuite à l'impression c'est le nom en question qui est utilisé pour chercher le serveur. Or… le nom d'hôte du serveur n'est pas toujours connu du client.

Résolution du problème

Il vous suffit de faire connaître le nom d'hôte du serveur au client. Concrètement, il suffit de modifier le fichier /etc/hosts pour ajouter une ligne au début (sans effacer le reste) avec l'IP du serveur d'impression suivie de son nom. Exemple :

192.168.xx.xx   nom_du_serveur

Si vous ne savez pas par quoi remplacer les xx.xx et avez accès au serveur, il suffit d'y taper « ifconfig » dans un terminal. Vous y trouverez une ligne avec un message du type :

inet adr:192.168.1.10

C'est justement l'adresse IP de la machine sur le réseau local. Si vous n'avez pas la possibilité de faire cela, demandez à l'administrateur du serveur.

Concernant le nom d'hôte, sur votre machine cliente il suffit de regarder là : http://localhost:631/printers/ c'est la page des imprimantes de CUPS. Cherchez l'imprimante réseau située sur le serveur qui vous intéresse et vous devez voir une ligne du type :

URL du matériel : IPP://nom_du_serveur:631...

C'est ce nom qu'il faut utiliser pour votre fichier /etc/hosts.

Voilà, avec ça vous devriez pouvoir faire "bonne impression" ;-)


Contributeurs : figaro, dmoyne, Incoming, KinderSurpriZ, Fabien26, dsi0743, DarkHylian, Mysteroïd, guigouz.


1)
traduction la plus adaptée de IPP : Protocole d'impression par Internet
  • tutoriel/imprimante_serveur.1422291214.txt.gz
  • Dernière modification: Le 26/01/2015, 17:53
  • par cafecho