Serveur d'impression (cups + samba) sur debian 6.0
De wikiGite
Sommaire
Prérequis
- un serveur samba fonctionnel. Dans notre cas l'admin du domaine samba est l'utilisateur administrateur.
CUPS
Installer cups:
aptitude install cups.
Éditer le fichier /etc/cups/raw.convs et vérifier que cette ligne est décommenté :
application/octet-stream application/vnd.cups-raw 0 -
Éditer le fichier /etc/cups/raw.types et verifier que cette ligne est décommenté :
application/octet-stream
SAMBA
Ajouter l'utilisateur administrateur au groupe lpadmin :
adduser administrateur lpadmin
Ajouter ceci dans /etc/samba/smb.conf :
[global]
load printers = Yes
printing = cups
printcap name = cups
#même nom d'imprimantes entre cups et samba
force printername = yes
[printers]
comment = Imprimantes
path = /var/spool/samba
browseable = yes
public = yes
guest ok = yes
writable = no
printable = yes
use client driver = no
[print$]
comment = drivers pour imprimantes
path = /var/lib/samba/drivers
browseable = yes
guest ok = yes
read only = yes
write list = administrateur, root
inherit permissions = yes
Puis donner les droits d'accès au répertoire :
chmod 1777 /var/spool/samba
(Le « 1 » de 1777 empêche que les fichiers soient effacés par d'autres utilisateurs que le propriétaire du fichier)
Push automatique des drivers windows lors de l'installation
Créer l'arborescence de stockage des drivers windows pour samba dans /var/lib/samba/drivers :
drwxrwsrwx 2 root root 4096 26 déc. 17:13 COLOR drwxrwsrwx 2 root root 4096 26 déc. 17:13 IA64 drwxrwsrwx 2 root root 4096 26 déc. 17:13 W32ALPHA drwxrwsrwx 2 root root 4096 27 déc. 10:40 W32MIPS drwxrwsrwx 2 root root 4096 26 déc. 17:13 W32PPC drwxrwsrwx 3 root root 4096 27 déc. 17:32 W32X86 drwxrwsrwx 2 root root 4096 26 déc. 17:13 WIN40 drwxrwsrwx 3 root root 4096 27 déc. 17:32 x64
On peut la créer facilement grâce à ce script :
#!/bin/bash
BASEDIR=/var/lib/samba/drivers;
if [ -e $BASEDIR ]
then
mkdir $BASEDIR
fi
for X in COLOR IA64 W32ALPHA W32MIPS W32PPC W32X86 WIN40 x64; do
mkdir -p $BASEDIR/$X;
done
Créer maintenant le répertoire qui accueillera les drivers Windows dans Cups :
mkdir -p /usr/share/cups/drivers/x64
- Ajout du driver PostScript Windows 32bit
Pour le 32bit récupérer ces fichiers sur un système windows 32bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 et les mettre dans /usr/share/cups/drivers/ :
Pour le 64bit récupérer ces fichiers sur un système windows 64bit dans %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 et les mettre dans /usr/share/cups/drivers/x64 :
ps5ui.dll pscript.hlp pscript.ntf pscript5.dll
!!!ATTENTION!!! Ces fichiers sont en MAJUSCULE sur Windows. Il est nécessaire de les mettre en minuscule sinon cupsaddsmb ne les exportera pas.
- Ajout du driver postscript Cups V6 pour Windows
Afin d'avoir plus de fonctionnalités (comptage des pages, labels, la mise en attente...), il est possible d'ajouter en complément le driver PostScript de Cups.
Pour le 32bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/i386/ et les mettre dans /usr/share/cups/drivers/ :
Pour le 64bit récupérer ces fichiers sur http://svn.easysw.com/public/windows/trunk/x64/ et les mettre dans /usr/share/cups/drivers/x64 :
cups6.inf cups6.ini cupsps6.dll cupsui6.dll
L'installation des imprimantes peut maintenant se faire sur l'interface web de Cups. Lors de la sélection du fichier PDD, il est recommandé de mettre un fichier PPD officiel afin d'avoir toutes les fonctionnalités de l'imprimante (Le comptage des pages par exemple). Ce fichier PPD peut être trouvé dans l'archive contenant les drivers PostScript pour Windows.(Fonctionne sur une Toshiba e-Studio222cs)
Il faut maintenant exporter les imprimantes et les drivers sous samba :
service samba restart service cups restart cupsaddsmb -H localhost -U administrateur -v -a
TIPS
Installer automatiquement une imprimante sous windows :
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP
rundll32 printui.dll,PrintUIEntry /in /n \\SERVEUR\NOM_DE_IMP /y
Sources
http://forum.ubuntu-fr.org/viewtopic.php?id=272919 : installation de cups et de samba sous ubuntu
https://wiki.samba.org/index.php/Samba_as_a_print_server : procedure de liaison de cups avec samba
http://www.cups.org/documentation.php/doc-1.6/man-cupsaddsmb.html : manuel de cupsaddsmb
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html : manuel d'integration de cups avec samba (très complet mais complexe)
http://www.virtualhelp.me/scripts/57-vb-script/351-adding-a-printer-using-scripts-windows : Ajouter automatiquement les imprimantes dans windows