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

Ubuntu 8.04 LTS

  • Ouvrez le gestionnaire de configuration d'imprimante :
    • Système → Administration → Impression pour Ubuntu,
    • Applications → Paramètres → Impression pour Xubuntu,
  • Ajouter une imprimante, si ce n'est déjà fait. (voir cette page pour plus d'informations).
  • Sélectionnez "Paramètres du serveur" et cochez la case "Partager les imprimantes publiées connectées à ce système".

  • Ensuite, sélectionnez chaque imprimante locale à partager dans la liste de gauche et, dans l'onglet "Comportements" :
    • vérifiez que la case "Activé" est bien cochée,
    • cochez la case "Partagée".

  • Normalement cela suffit pour activer le partage côté serveur.

Problème possible

Après configuration, je ne pouvais toujours pas partager mon imprimante, j'ai dû intervenir dans le fichier /etc/cups/cupsd.conf

Son contenu par défaut, dans le section relative au partage d'imprimante était celui-ci :

# Share local printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAddress @LOCAL
DefaultAuthType Basic
<Location />
  # Allow shared printing...
  Order allow,deny
  Allow @LOCAL
</Location>

Il faut croire que je devais avoir un problème avec la variable @LOCAL car cela ne suffisait pas.

j'ai donc remplacé

  Allow @LOCAL

par

  Allow 192.168.*
192.168.* est à remplacer par les chiffres de votre IP.

Mais notez que ce cas est le plus répandu, loin devant le 10.0.*

Cela a suffi pour résoudre le problème de partage, après avoir relancé CUPS via cette commande dans un terminal :

sudo /etc/init.d/cupsys restart
Autre problème possible

Lors d'une tentative d'installation d'imprimante à partir d'une machine différente où est installée CUPS, et malgré la configuration en place décrite ci-dessus, il est possible d'avoir l'erreur ci-dessous :

426 Upgrade Required

Après recherche, CUPS, par défaut, tente d'utiliser SSL. il y a de fortes chances que SSL soit mal configuré. Dans l'hypothèse de ne pas reconfigurer SSL, vous pouvez ajouter la ligne suivante dans le fichier /etc/cups/cupsd.conf :

DefaultEncryption Never

Puis relancer le service cupsys :

sudo /etc/init.d/cupsys restart

Ubuntu 6.06 LTS serveur

Ouvrir Système → Administration → Impression et ajouter une imprimante.

Après avoir installé une imprimante, choisissez-la par défaut puis cochez simplement dans Paramètres globaux les deux options à dispositions (Détecter des imprimantes LAN et Partager des imprimantes). Vos imprimantes ou plutôt votre imprimante devrait maintenant être disponible sur le réseau après avoir redémarré l'ordinateur ou seulement le serveur d'impression1) .

Ouverture du Port 631 - Optionnel

Si votre pare-feu est activé, (par défaut si vous n'avez rien fait, il est désactivé sous Ubuntu).

Il faut ouvrir le port 631 (ipp) (comme décrit dans la suite), si vous n'avez pas de pare-feu activé ne faites rien !

  • Ouvrir Firestarter: dans le menu Système → Administration → Firestarter.
  • Sélectionner l'onglet Politique.
  • Dans la partie inférieure, Autoriser le service, faire un clic-droit pour ajouter une nouvelle règle.
  • Inscrire le port 631 (le nom du service IPP se remplit automatiquement) ainsi que l'adresse IP du client.
  • Quitter Firestarter

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 PII2) 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)
sudo /etc/init.d/cupsys restart
2)
traduction la plus adaptée de IPP : Protocole d'impression par Internet
  • tutoriel/imprimante_serveur.1360514918.txt.gz
  • Dernière modification: Le 10/02/2013, 17:48
  • par 83.153.124.124