A cups of printer sous OpenBSD
Cet article décrit l'ajout d'une imprimante parallèle avec Cups sous OpenBSD. Ce système est installé sur une machine Ultrasparc 60 qui me sert de serveur.
Cible
- Station UltraSparc 60
- OpenBSD 4.4
- Imprimante HP LaserJet 4 Plus (Imprimante laser sur port parallèle)
Installation de cups
Cups sur OpenBSD est assez récent. Il n'est pas installé par défaut et vous trouverez plutôt le vieillissant service Unix d'impression lpd.
L'installation de cups vous proposera d'ailleurs de remplacer pièce par pièce les binaires du lpd installé (en plus des fichiers propres à Cups).
Les paquets à installer :
- cups-1.2.7p9
- hplip-2.7.12p0 (à priori pas utile pour la suite. TODO: à confirmer)
- hpijs-2.7.12
- foomatic-db-3.0.20070708
- foomatic-filters-3.0.2p1
Ce sont les principaux, les dépendances seront prises en compte automatiquement.
Exemple d'installation :
pkg_add cups
Démarrage de cupsd
Pour démarrer cups manuellement, il suffit de lancer la commande :
/usr/local/sbin/cupsd
Le démon cupsd est lancé automatiquement au démarrage du système en ajoutant les lignes suivantes dans /etc/rc.local :
if [ -x /usr/local/sbin/cupsd ]; then echo -n ' cupsd'; /usr/local/sbin/cupsd fi
Configuration de cupsd
L'administration de cups se fait via une interface web accessible par défaut uniquement en local via l'url http://localhost:631
L'accès distant (et ciblé) à l'interface d'administration est configuré dans le fichier /etc/cups/cupsd.conf comme suit :
# # "$Id: cupsd.conf.in 5454 2006-04-23 21:46:38Z mike $" # # Sample configuration file for the Common UNIX Printing System (CUPS) # scheduler. See "man cupsd.conf" for a complete description of this # file. # # Log general information in error_log - change "info" to "debug" for # troubleshooting... LogLevel info # Administrator user group... SystemGroup sys # Only listen for connections from the local machine. #Listen localhost:631 Listen *:631 Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny #BrowseAllow @LOCAL BrowseAllow all # Activation du "file device" FileDevice Yes # Default authentication type, when authentication is required... DefaultAuthType Basic # Restrict access to the server... <Location /> Order allow,deny #Allow localhost Allow 192.168.0.0/24 </Location> # Restrict access to the admin pages... <Location /admin> Encryption Required Order allow,deny #Allow localhost Allow 192.168.0.0/24 </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny #Allow localhost Allow 192.168.0.0/24 </Location> # Set the default printer/job policies... <Policy default> # Job-related operations must be done by the owner or an adminstrator... <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an adminstrator to authenticate... <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default> AuthType Basic Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> # # End of "$Id: cupsd.conf.in 5454 2006-04-23 21:46:38Z mike $". #
Remarques :
- L'autorisation des droits d'accès pour l'administration depuis le réseau local est donnée par la directive
Allow 192.168.0.0/24. - La directive
FileDevice Yespermet de prendre en compte l'imprimante locale par la suite (c'est une imprimante parallèle et non réseau). Cette directive n'est pas placée par défaut.
Ajout de l'imprimante
Sur la page principale aller dans “Add printer”.
Ajout d'une nouvelle imprimante :
- nom : imp_hibou
- Location : Maison du hibou
- Description : HP LaserJet 4 Plus
Définition du device pour l'imprimante imp_hibou :
- Device : Parallel Port #1 (polled)
Prise en compte d'un fichier ppd (Postscript Printer Description) :
- fichier ppd fourni : HP-LaserJet_4_Plus-hpijs.ppd
Pour la configuration de l'imprimante, j'ai juste pris en compte le format A4 du papier de l'imprimante :
Résultat de l'ajout de l'imprimante :
C'est la seule imprimante branché sur l'UltraSparc, aussi je la configure comme imprimante par défaut avec le bouton “Set As Default”.
Il n'y a plus qu'à imprimer la page de test pour valider la configuration en local.
Gràce à la magie du service cups, il suffit d'avoir cups installé sur son poste pour détecter automatiquement l'imprimante.








Discussion