Outils personnels

Serveur d'impression (cups + samba) sur debian 6.0

De wikiGite

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 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

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