Lac de Brennilis

OpenBSD

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 Yes permet 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”.

Accueil de la page d'administration de cups

Ajout d'une nouvelle imprimante :

Ajout d'une imprimante

  • nom : imp_hibou
  • Location : Maison du hibou
  • Description : HP LaserJet 4 Plus

Définition du device pour l'imprimante imp_hibou :

Définition du périphérique de l'imprimante parallèle

  • Device : Parallel Port #1 (polled)

Prise en compte d'un fichier ppd (Postscript Printer Description) :

Pour la configuration de l'imprimante, j'ai juste pris en compte le format A4 du papier de l'imprimante :

configuration du format A4

Résultat de l'ajout 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

Entrer votre commentaire:
RVMOD

Linkbacks

Use the following URL for manually sending trackbacks: http://hibou.eu/lib/plugins/linkback/exe/trackback.php/articles:system:bsd:a_cups_of_printer_sous_openbsd
articles/system/bsd/a_cups_of_printer_sous_openbsd.txt · Dernière modification: 11/07/2010 15:45 par yann
page made in 0.226 seconds