Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


CUPS

LPD-Drucksystem ] [ CUPS ] Linux-Clients ] Windows-Clients ] PDF-Printer ]


Das Druck-System CUPS (Common UNIX Printing System) implementiert das IPP (Internet Printing Protocol) und bietet die von 'System V' und 'Berkeley' gewohnten Kommandozeilen-Tools. CUPS wurde von der Firma ESP (Easy Software Products) entwickelt und ist unter der GPL (bzw. LGPL für die API Library) freigegeben. Es kann sowohl lokal, als auch im Netzwerk, dass traditionelle LPD-System vollständig ablösen.
IPP ist standardisiert und wird bereits von neueren Windows-Versionen unterstützt. Das IPP stellt Funktionen zur Verfügung, die das Drucken vereinheitlichen sollen und zugleich einige zentrale Schwächen des LPD behebt:

  • Authentifizierung von Benutzern über Passwörter oder Zertifikate.

  • Verschlüsselung von Druckdaten, bei der Übertragung zwischen Hosts oder zum Drucker.

  • Bekanntgabe verfügbarer Drucker im Netz an jedem Client beim Booten oder Einloggen.

Auch werden mit CUPS die Auswahl von Optionen für Druckaufträge wie z.B.: die Einstellung zum beidseitigen Drucken, Auswahl des Papierschachtes, Anzahl der Kopien und andere erheblich verbessert und vereinfacht. Einstellungen können über Kommandozeile oder über das CUPS eigene HTTP-Interface geschehen. Ein weiterer Vorteil von CUPS ist die erheblich bessere Unterstützung von Druckern und deren spezifischer Fähigkeiten.

In diesem Unterkapitel wird zunächst speziell auf die Konfiguration von CUPS als Druck-Server eingegangen, die Konfiguration als Client erfolgt in einen späteren Unterkapitel.

Installation

Um einen CUPS-Printserver unter Debian zu realisieren, empfiehlt es sich folgende Pakete mittels: 'aptitude install ...' zu installiere:

  • cupsys                     Der eigentliche CUPS-Serveranteil.

  • cupsys-client              Das Paket unterstützt das Drucken von Client Programmen im 'System-V'-Stil

  • cupsys-bsd                 Das Paket liefert die BSD-Befehle für die Interaktion mit CUPS

  • (hpijs)                    Versorgt Gostscript mit Treibern für die meisten Tintenstrahldrucker von Hewlett Packard

  • (cupsys-driver-gutenprint) Druckertreiber für CUPS

Prinzipiell sollte es genügen mittels: 'aptitude install cupsys' die Basis-Komponenten zu installieren, Paket-Abhängigkeiten sollten automatisch während der Installation aufgelöst werden. Auch wird ein anderes schon bestehendes Drucksystem eventuell automatisch entfernt, da es auf einem System nur einen Spooler-Dienst geben kann.

Konfiguration

Für die Konfiguration von CUPS können verschiedene Möglichkeiten genutzt werden. Zum einen kann auf der Konsole mit dem Kommando: 'lpadmin' gearbeitet werden; zum anderen kann schon nach der Installation mittels Browser das Web-Interface zur Konfiguration genutzt werden. Die Konfiguration über Web-Interface ist bezüglich der Übersichtlichkeit zu bevorzugen.
Aus Sicherheitsgründen darf zunächst nur der lokale Rechner auf das Web-Interface zugreifen. Sollen weitere Rechner mittels Web-Interface auf CUPS zugreifen dürfen, so ist die Datei: 'cupsd.conf' unter: '/etc/cups' entsprechend zu modifizieren:

Auszug aus: /etc/cups/cupsd.conf

...

# Only listen for connections from the local machine.
Listen 192.168.1.10:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow From 192.168.1.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow From 192.168.1.*
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

...

Damit z.B. alle Rechner aus dem Netz: '192.168.1.0' auf das Web-Interface von CUPS zugreifen können, sind die folgenden gelb markierten Zeilen abzuändern bzw. einzufügen. Anschließend ist der Dämon neu zu starten ('/etc/init.d/cupsys restart').

Für den Zugriff auf das Web-Interface ist lediglich die URL: 'http://<RECHNER>:631/' im Browser einzugeben. Wobei '631' der Standardport ist, mit dem CUPS arbeitet. Nach der Authentifizierung (z.B. als 'root') kann die Konfigurationen durchgeführt werden. Da das Einrichten eines neuen Druckers quasi selbsterklärend ist, wird im Folgenden nicht darauf weiter eingegangen. Das folgende Bild zeigt einen Beispiel-Aufruf mittels Internet-Explorer:

In diesem Beispiel ist ein HP-DeskJet-Drucker bereits eingerichtet. Nach dem Einrichten empfiehlt es sich zunächst eine Testseite aus zugegeben.

Alternativ kann auch der Drucker über die Konsole mittels 'lpadmin' eingerichtet werden, hierzu ein Beispiel-Aufruf:

/usr/sbin/lpadmin -p lp -L Arbeitszimmer \
-D "Hewlett Packard DeskJet 870Cxi" -E -v parallel:/dev/lp0 -m lsb/usr/cups-included/HP/deskjet.ppd

oder mit:

/usr/sbin/lpadmin -p lp -L Arbeitszimmer \
-D "Hewlett Packard DeskJet 870Cxi" -E -v parallel:/dev/lp0 -P /usr/share/ppd/cups-included/HP/deskjet.ppd

Mit dem folgenden Kommando kann man sich eine Liste aller verfügbaren Modelle anzeigen lassen:

debian:/etc/cups# lpinfo -m
...
lsb/usr/cups-included/textonly.ppd Generic text-only printer
lsb/usr/ghostscript/model/pxlcolor.ppd HP Color LaserJet Series PCL 6 CUPS
lsb/usr/cups-included/HP/deskjet.ppd HP DeskJet Series, 1.3
lsb/usr/cups-included/HP/laserjet.ppd HP LaserJet Series PCL 4/5, 1.3
lsb/usr/ghostscript/model/pxlmono.ppd HP LaserJet Series PCL 6 CUPS
...

Wenn das Paket 'cupsys-driver-gimpprint' installiert wurde, steht eine deutlich größere Anzahl von Druckertreibern zur Verfügung.

Damit auch der ungefilterte Ausdruck (RAW-Mode) funktioniert, sind noch zwei 'mime'-Dateien unter '/etc/cups/' anzupassen ('mime.convs' und 'mime.types'). Die 'mime'-Dateien dienen der Bestimmung des Dateiformats (auch unabhängig von der Datei-Endung) und der Festlegung dessen, was mit dieser Datei geschehen soll.

Auszug aus: /etc/cups/mime.convs (ca. Zeile: 108)

...

# Raw filter...
#
# Uncomment the following filter to allow printing of arbitrary files
# without the -oraw option.
#

application/octet-stream        application/vnd.cups-raw        0      -

#
#

 

Auszug aus: /etc/cups/mime.types (ca. Zeile: 170)

...

# Raw print file support...
#
# Comment the following type to prevent raw file printing.
#

application/octet-stream

#
#

Das Kommentarzeichen: '#' sollte vor den gelb markierten Zeilen in beiden Dateien entfernt werden.

Damit CUPS als Druck-Server auch das traditionelle LPD-Protokoll unterstützt, ist es notwendig einen so genannten  Mini-Dämon: 'cups-lpd' zu konfigurieren. Der Mini-Dämon für CUPS wird in der Datei '/etc/inetd.conf' eingetragen,  und wird über den Super-Dämon: 'inetd' bei Bedarf gestartet. D.h.  wenn ein LPD-Client, am Printer-Port 515,  drucken möchte.

Auszug aus: /etc/inetd.conf

...

#:OTHER: Other services
printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd

Die gelb markierte Zeile ist in für den LPD-Druck von CUPS in der Datei: '/etc/inetd' einzutragen, anschließend ist der Super-Dämon 'inetd'  neu zu starten.

Anmerkungen

Auch normale Nutzer können sich mit Ihrem Login verbinden, um z.B. Druckaufträge anzusehen.

Bei Problemen mit CUPS sollten zunächst die 'log'-Dateien im Verzeichnis: '/var/log/cups' begutachtet werden.

Im Verzeichnis '/etc/cups/' existiert eine Default-Konfigurationsdatei: 'cupsd.conf.default', diese Datei kann dazu benutzt werden um die Konfiguration z.B. via WEB-GUI wiederherzustellen. Die Datei sollte eine auf lauffähige Konfiguration beinhalten.

Weitere Infos

Homepage: Common UNIX Printing System http://www.cups.org/
Debian and Windows Shared Printing mini-HOWTO http://www.tldp.org/HOWTO/Debian-and-Windows-Shared-Printing/
CUPS-FAQ http://www.danka.de/printpro/CUPSFAQ-0-93.html
Dokumentation die über das Web-Interface angeboten wird http://localhost:631/
System-Dokumentation: cupsys; cupsys-client; cupsomatic-ppd /usr/share/doc/cupsys; /usr/share/doc/cupsys-client; /usr/share/doc/cupsomatic-ppd

Home ] Nach oben ] LPD-Drucksystem ] [ CUPS ] Linux-Clients ] Windows-Clients ] PDF-Printer ]

letzte Änderung: 25. März 2009

 

Copyright © 2004 Norbert Eusterholz