Ceci est une ancienne révision du document !
Partage d'une imprimante sur un réseau local
Ce didacticiel va vous permettre, en quelques clics, de partager une imprimante sur votre réseau local. L'imprimante est installée sur un poste Ubuntu. La situation est donc la suivante :
Pré-requis
Vous devez avoir :
- Un réseau fonctionnel
- Votre imprimante déjà installée par la procédure normale
- Le PC serveur, qui va partager l'imprimante, doit être en IP fixe sur le réseau local
Configuration du poste Ubuntu serveur
Pour Edgy (6.10), Feisty(7.04), et les versions supérieures
- Éditez le fichier /etc/cups/cupsd.conf.
Repérez la partie du fichier nommée <Location />, et rajoutez-y la ligne suivante :
Allow 192.168.x.yyy # où 192.168.x.yyy est l'adresse IP de la machine cliente.
Le contenu du fichier doit maintenant ressembler à
# Restrict access to the server... <Location /> Order allow,deny Allow localhost Allow 192.168.1.10 # ici, la machine cliente a pour IP 192.168.1.10 </Location>
S'il y a d'autres clients, rajouter leurs adresses de la même façon.
Pour que tout ordinateur connecté au réseau local puisse accéder à l'imprimante, utilisez l'adresse de tout le réseau : 192.168.1.*
- Toujours dans le fichier /etc/cups/cupsd.conf, commentez la ligne Listen localhost:631 et rajoutez une ligne contenant Port 631. Le contenu du fichier ressemble à :
#Listen localhost:631 Port 631
- Sauvegardez les modifications du fichier, puis relancez le démon CUPS par la commande :
sudo /etc/init.d/cupsys restart
Pour Dapper (6.06)
Pour partager son imprimante sur un PC Ubuntu Dapper 6.06.1 LTS, il faut :
Etape 1 : modification de cupsd.conf
Dans le fichier /etc/cups/cupsd.conf, rajouter la ligne Allow 192.168.1.xxx (où xxx = adresse ip du pc client) dans la partie <Location /> :
gksudo gedit /etc/cups/cupsd.conf
# Restrict access to the server... <Location /> Order allow,deny Allow localhost Allow 192.168.1.xxx </Location>
S'il y a d'autres clients, rajouter leurs adresses de la même façon, ou utiliser l'adresse de tout le réseau 192.168.1.*
Etape 2 : modification de ports.conf
Dans le fichier /etc/cups/cups.d/ports.conf, commenter la ligne Listen localhost:631 et rajouter une ligne contenant Port 631.
gksudo gedit /etc/cups/cups.d/ports.conf
#Listen localhost:631 Port 631
Etape 3 : relance du processus cupsys
- Relancer le démon CUPS par la commande :
sudo /etc/init.d/cupsys restart
Configuration d'un client Ubuntu
☛ Cliquer Menu Système > Administration > Impression
☛ Fenêtre "Imprimante" apparaît : Cliquer Menu <Imprimante>, <Ajouter une imprimante>
☛ Fenêtre "Ajouter une imprimante" apparaît : Dans Zone <Type d'imprimante>, Selectionner "Imprimante réseau" et dans Menu Déroulant, Sélectionner "Imprimante CUPS".
Dans Zone URL, taper :
http://adresseIP_duServeur:631/printers/nomImprimante
Cliquer Bouton <Suivant>, Sélectionner modeleDeLimprimantePartagée, Cliquer Bouton <Suivant>, <Appliquer>
Configuration d'un client Windows
- Modifier le fichier C:\WINDOWS\system32\drivers\etc\hosts sur le PC client Windows (Windows XP ne reconnaît pas l'adresse IP, il faut donc l'associer à un nom d'hôte) :
127.0.0.1 localhost 192.168.x.yyy nom_host
192.168.x.yyy est l'adresse IP du poste Ubuntu où est reliée l'imprimante, et nom_host le nom du poste Ubuntu sur le réseau local.
- Pour Windows XP ou Windows 2000, ajouter l'imprimante en utilisant la fonction dédiée du panneau de configuration Windows XP, et utilisez l'adresse suivante pour la connexion réseau :
http://nom_host:631/printers/nomimprimante
où nom_host est le nom du PC serveur et nom_imprimante est le nom de votre imprimante sur le PC serveur.
Configurations particulières
Ouverture du Port 631
Étape 1 : Installation de Firestarter
Il s'agit d'installer une interface graphique du parefeu d'ubuntu. Pour cela :
- utiliser Synaptic
- ou bien dans un terminal
sudo apt-get install firestarter
Étape 2 : Autoriser le service
- Système / Administration / Firestarter
- 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 Firestarer
Utilisation de Samba pour partager l'imprimante
Si le partage avec CUPS ne fonctionne pas, vous pouvez utiliser le partage Samba, qui est tout de même moins conseillé.
Côté Serveur (Ubuntu Feisty)
Ajoutez ces lignes dans smb.conf (/etc/samba/smb.conf) :
[global]
…
printing = cups printcap name = cups
[printers] browseable = no printable = yes writable = no guest ok = yes comment = All Printers (please use "MS Publisher Color Printer" Driver) public = yes printer admin = root
[print$] guest ok = no comment = Printer Drivers (please use "MS Publisher Color Printer" Driver writable = no path = /etc/samba/drivers write list = root
Exécutez la commande suivante:
cupsaddsmb -v -U root -a
Ceci ajoute toutes les imprimantes CUPS vers Samba.
Coté Windows (XP)
La navigation dans le dossier "Imprimantes" doit maintenant être possible, et le client doit pouvoir voir toutes les imprimantes proposées par le serveur ubuntu/
Si Windows vous demande un driver, vous pouvez utiliser "Générique/MS Publisher Color Printer" pour une imprimante couleur ou l'autre "MS Publisher" pour une imprimante noir et blanc.
Vous pouvez aussi utiliser des drivers CUPS, mais cela suppose que vous avez configuré CUPS pour qu'il exporte les bons drivers. Personnellement, je ne les ai pas testés :
- Driver pour windows : http://www.cups.org/windows/software.php?6.0 (les binaires dll et inf sont compilés dans les packages source)
Remarques
Nous avons été plusieurs amis a faire cette solution chez nous, et avant de lire, je vous conseille de lire nos problèmes, et comment les résoudre.
- Ne pas oublier d'installer les drivers de l'imprimante sur la machine windows
- Dans l'étape 2, on voit «
Allow From 192.168.1.*
», sur certains routeurs, on preferera «Allow From 192.168.0.*
». Si vous preferez l'ouvrir à toutes les plages d'IP sur votre réseau (recommandé si vous avez des emm…brouilles avec ça,Allow From 192.168.*.*
. - Sous Windows pour l'étape 1 il faut remplacer l'adresse IP 192.168.1.100 par l'adresse IP de votre ordinateur (visible dans Reglages du systeme → Configuration Reseau)
PETITE PRECISION POUR UNE CONFIGURATION PARTICULIERE
le petit fichier qui fait la différence
VERSION DAPPER
schéma du réseau
-1PC serveur (ubuntu dapper) sur lequel sont connectées 2 imprimantes (Epson-stylus-CX3200 et Epson-stylus-color-1160) -1 portable en dualboot windowsXP/ubuntu dapper -1 PC de salon en dualboot windowsXP/mandriva2006
Les 3 ordinateurs sont connectés sur internet en wifi via la freebox en mode routeur non dégroupé (ip dynamique). Des IP fixes ont été données à chaque ordinateur :
- PC serveur (ubuntu) = 192.168.0.4
- portable (win/ubuntu) = 192.168.0.3
- PC de salon (win/mandriva) = 192.168.0.2
Objectif
partager les 2 imprimantes via cups et samba pour le portable (que ce soit sous windowsXP ou ubuntu dapper) et le PC de salon (que ce soit pour windowsXP ou mandriva2006). A première vue cela ne doit pas être si différent des solutions apportées plus haut, mais je dois vous avouer qu'il m'a fallu pas mal de temps pour trouver la solution et faire fonctionner cette configuration.
1ère étape le PC serveur
1-installer les paquets cupsys, cupsys-driver-gutenprint
sudo apt-get install cupsys cupsys-driver-gutenprint
2-Dans le fichier de configuration /etc/cups/cupsd.conf, il faut mettre dans la section <Location/> :
# Restrict access to the server... <Location /> Order Deny,Allow Deny From All Allow From 192.168.0.0/255.255.255.0 </Location>
3-dans le fichier /etc/cups/cups.d/ports.conf , il faut commenter "listen localhost:631" et rajouter "port 631" :
#Listen localhost:631 Listen /var/run/cups/cups.sock Port 631
4-ensuite vous configurez vos imprimantes en graphique en passant par SYSTEME—>ADMINISTRATION—>IMPRESSION, vous cliquez 2 fois sur nouvelle imprimante et vous cochez "imprimante locale", normalement si vos imprimantes sont allumées, elles doivent être détectées automatiquement. Vous suivez l'assistant pour la fin de la configuration puis vous lancez une page de test pour vérifier que tout fonctionne bien.
Vous redémarrez cups :
# /etc/init.d/cupsys restart
C'est tout pour le PC-SERVEUR (ubuntu)
2ème étape le portable-client (win/ubuntu)
je passe l'étape de configuration sur windowsXP parce que ça ne pose aucun problème particulier, tout est assisté. Par contre sur ubuntu , j'ai eu beaucoup plus de difficultés, donc voici comment j'ai procédé :
le petit détail qui fait la différence
1-on installe le paquet cupsys-client
sudo apt-get install cupsys-client
2-Ensuite, éditez le fichier /etc/cups/client.conf et décommentez la ligne commençant par ServerName. Sur cette ligne, vous devez alors préciser l'adresse IP ou le nom DNS du serveur d'impression. SI CE FICHIER N'EXISTE PAS, CREEZ LE A CET EMPLACEMENT : /home/"user"/.cups/client.conf ET METTEZ LA LIGNE SUIVANTE:
ServerName 192.168.0.4 #correspond à l'ip de mon PC-serveur (serveur d'impression)
C'était tout bêtement ce petit fichier qui empêchait de faire fonctionner les imprimantes sur le portable avec ubuntu.
Avec ça tout devrait fonctionner
Sur le PC de salon, l'impression sur winXP fonctionne mais je n'ai pas encore testé sur mandriva2006, à suivre …
Toutes ces infos sont issues de ce lien :
http://people.via.ecp.fr/~alexis/formation-linux/imprimante.html