[[Vorlage(Getestet,karmic,jaunty,intrepid,hardy,dapper)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] [:Benutzer_und_Gruppen: Benutzer und Gruppen verwalten] }}} [[Inhaltsverzeichnis(3)]] [[Bild(./cups_logo.png, 75, left)]] [http://www.cups.org/ CUPS] {en} , das ''Common Unix Printing System'', ist das aktuell am weitesten verbreitete Drucksystem auf Linuxsystemen. Andere Protokolle wie ''LPD (BSD-System)'' oder ''lprng'' wurden inzwischen nahezu endgültig verdrängt und begegnen einem höchstens noch auf dem einen oder anderen Hardware-Router mit integrierter Netzwerkdruckerfunktion. Über CUPS lassen sich zahlreiche Drucker nutzen und verwalten, und da CUPS als Client/Server-System aufgebaut ist auch im Netzwerk freigeben und nutzen. Wenn im Netzwerk ein Rechner mit CUPS als Drucker-Server läuft, kann man Cups auch an [:Samba:] anbinden, so dass auch Windows-Maschinen darüber drucken können. Windows 95, 98, ME benötigen Samba zum Drucken im Netzwerk. Windows2000, XP und Vista dagegen können auch über das [wikipedia:Internet_Printing_Protocol:Internet Printing Protokoll], das CUPS zugrunde liegt, drucken. Mehr über die Anbindung von Windows-Rechnern erklärt der Artikel [:Windows_Netzwerkdrucker:Windows Netzwerkdrucker]. = Installation = CUPS wird selbstverständlich bei der Installation aller Ubuntu-Derivate von Haus aus als wichtiger Bestandteil des Betriebssystems installiert. Einzige Ausnahme stellt die Ubuntu Server-Edition dar, bei der man die Pakete aber wie üblich über die Paketverwaltung nachinstallieren kann. Folgende Pakete enthalten die elementaren Teile von CUPS. Ab Ubuntu 8.10 [:Intrepid_Ibex:]: {{{#!vorlage Paketinstallation cups, die Server-Komponente cups-client, die Client-Komponente, kann auf reinen Clients auch einzeln installiert werden cups-bsd, Kompatibilitätslayer für das alte BSD-Drucksystem }}} Bis einschließlich Ubuntu 8.04 [:Hardy_Heron:] lauten die Paketnamen: {{{#!vorlage Paketinstallation cupsys cupsys-client cupsys-bsd }}} Außerdem benötigt man noch das eine oder andere der folgenden Pakete, in denen spezialisierte Treiber enthalten sind. Wer nicht weiß, welche für ihn nützlich sind, installiert sie einfach alle. {{{#!vorlage Paketinstallation hplip, für HP-Drucker, egal ob Laser- oder Tintenstrahldrucker; siehe [:HPLIP:] hpijs, wird für '''hplib''' benötigt foomatic-filters-ppds, enthält viele Treiber von [http://linuxprinting.org/ Linuxprinting.org], nur für Ubuntu 6.06 [:Dapper_Drake:] cupsys-driver-gutenprint, enthält viele Treiber für sonstige Farb-Tintendrucker, ab Ubuntu 9.04 [:Jaunty_Jackalope:] in universe }}} = Dienst steuern = Wie alle anderen [:Dienste:] liefert CUPS Start-/Stop-Skripte zum Kontrollieren des Webservers mit. {{{#!vorlage Befehl # Allgemein sudo /etc/init.d/cups {start|stop|restart|reload|force-reload} # Beispiel sudo /etc/init.d/cups restart }}} {{{#!vorlage Hinweis Bis einschließlich Ubuntu 8.04 [:Hardy_Heron:] muss man `cupsys` (statt `cups`) verwenden. }}} = Einrichten = == Lokaler Drucker == Ein lokaler Drucker muss natürlich zuerst mit dem Rechner verbunden und angeschaltet werden. Danach kann man ihn zum System hinzufügen. Die Desktop-Umgebungen GNOME und KDE bringen eigene Konfigurationswerkzeuge zum Einrichten des Druckers mit. Daher sei von hier auf die entsprechenden Artikel [:GNOME_Druckerkonfiguration:GNOME Druckerkonfiguration] und [:KDE_Druckerkonfiguration:KDE Druckerkonfiguration] verwiesen. Dieser Artikel behandelt dagegen die Einrichtung eines Druckers über die CUPS-eigene Weboberfläche, was vor allem für reine Serversysteme ohne grafische Benutzeroberfläche interessant ist, und die Freigabe des Druckers im Netzwerk. == Netzwerkfunktionen == Direkt nach der Installation der Pakete ist CUPS nur auf Verbindungen vom selben Rechner ausgelegt. Um unproblematisch auf Netzwerkdruck umzustellen, gibt es Skripte oder Befehle, die man auch auf einem Server ohne grafische Oberfläche (GUI) ausführen kann. === Ab Ubuntu 8.04 === Ab Ubuntu 8.04 [:Hardy_Heron:] gibt es das Programm '''cupsctl'''. Dies steuert CUPS. Die Freigabe der angeschlossenen Drucker, kann man beispielsweise über {{{#!vorlage Befehl # Ein cupsctl ohne Parameter gibt die aktuellen Einstellungen aus: cupsctl # Aktiviert die automatische Druckervermittlung: sudo cupsctl --remote-printers # Gibt die lokalen Drucker im Netzwerk frei: sudo cupsctl --share-printers # Aktiviert die Möglichkeit CUPS über das Netzwerk zu Administrieren: sudo cupsctl --remote-admin # Alles auf einmal sudo cupsctl --share-printers --remote-printers --remote-admin }}} erreichen. === Bis Ubuntu 7.10 === Es existieren zwei Skripte im Verzeichnis '''/usr/share/cups''', die einmalig vom Administrator mit Root-Rechten ausgeführt [3] werden müssen. So kann man die Freigabe der Drucker auch ohne eine GUI aktivieren. Das eine Skript '''enable_browsing''', kann sowohl auf dem Server, als auch auf den Clients ausgeführt werden (sofern dort kein grafisches Werkzeug existiert, mit dem man diese Einstellung vornimmt). Es bewirkt, dass CUPS seine freigegebenen Drucker im Netzwerk bekannt macht und auch selbstständig nach anderen Druckern sucht. Wenn man auf dieses automatische Suchen verzichten möchte, kann man stattdessen auch direkt über die [wikipedia:Uniform_Resource_Locator:URL] auf den Drucker zugreifen. Das zweite Skript '''enable_sharing''', bewirkt, dass der CUPS-Server überhaupt an anderen Schnittstellen als dem [:hosts:Localhost], also dem eigenen Rechner, auf Verbindungen wartet. Dieses Skript muss auf einem Netzwerk-Druckserver auf jeden Fall ausgeführt werden, ist auf reinen Clients aber nutzlos. {{{#!vorlage Befehl # Aktiviert die automatische Druckervermittlung: sudo /usr/share/cups/enable_browsing 1 # Gibt die lokalen Drucker im Netzwerk frei: sudo /usr/share/cups/enable_sharing 1 }}} Um die jeweilige Änderung wieder rückgängig zu machen, ersetzt man die ''1'' durch eine ''0''. == Accounting == CUPS kann unter gewissen Voraussetzungen protokollieren, welcher Benutzer wie viele Seiten gedruckt hat. Wichtig dafür ist, dass als Druckertreiber der ''"Generic postscript color printer"'' genutzt wird. Nur so kann CUPS in Druckaufträgen die Anzahl von Seiten analysieren. Ein Accounting ist daher nur möglich, wenn der genutzter Drucker in der Lage ist, mit [wikipedia:PostScript:] Daten umzugehen. Das Log wird in der Datei '''/var/log/cups/page_log''' im Stil von {{{ HP4P otto 457 [26/Oct/2007:15:42:10 +0200] 1 1 - 192.168.0.70 HP4P otto 457 [26/Oct/2007:15:42:10 +0200] 2 1 - 192.168.0.70 HP4P anna 462 [26/Oct/2007:16:05:27 +0200] 1 1 - 192.168.0.70 HP4P anna 463 [26/Oct/2007:16:06:10 +0200] 1 1 - 192.168.0.70 }}} geführt. Die Auswertung kann beispielsweie mit [http://www.nongnu.org/printanalyze/index.htm PrintAnalyze] {en} oder [http://phpprintanalyze.sourceforge.net/ phpPrintAnalyzer] {en} geschehen. Dabei sollte man beachten, dass Logdateien überlicherweise [:Logdateien:rotiert], also automatisch aufgeräumt werden. Daher sollte man vermeiden, dass die '''page_log''' von logrotate rotiert wird. = Weboberfläche = [[Bild(./cups_webadmin.png, 300, right)]] CUPS besitzt einen integrierten Webserver, der über den Port `631` zu erreichen ist. Diesen kann man für das Einrichten bzw. das Verwalten der Drucker nutzen. Vom selben Rechner aus kann man also sehr einfach mit einem Browser durch Eingabe der Adresse (URL): * [http://localhost:631] auf die Konfigurationsseite zugreifen. Nicht jeder Benutzer darf hier alle Aktionen durchführen. Möchte man z.B. einen Drucker hinzufügen, so erscheint eine Passwortabfrage. Hier muss man sich mit seinen Benutzernamen und Passwort anmelden, allerdings werden nur Mitglieder der Gruppe ''lpadmin'' akzeptiert. Dies ist normalerweise der erste bei der Installation automatisch angelegte Benutzer. Weiteren Benutzern muss dieses Recht erst gegeben werden [4]. == Ubuntu 6.06 == Unter Ubuntu 6.06 [:Dapper_Drake:] muss der Benutzer ''cupsys'' noch in die Gruppe ''shadow'' aufgenommen werden [4]. Durch das Hinzufügen dieses Benutzers zur Gruppe wird dem Cups-Dienst (welcher als Benutzer ''cupsys'' läuft) gestattet, auf die Datei '''/etc/shadow''' zuzugreifen, um eine Benutzerauthentifizierung durchführen zu können. Ist der Benutzer ''cupsys'' nicht in der Gruppe ''shadow'', kann er die Benutzerpasswörter der angelegten User nicht überprüfen. Die Authentifizierung schlägt somit fehl und es kommt zu einer Fehlermeldung. Außerdem müssen in der Dateien '''/etc/cups/cupsd.conf''' diese Zeilen hinzugefügt werden: {{{ # Administrator user group User cupsys Group lpadmin }}} Nachdem man die Gruppe bearbeitet hat, muss man CUPS neu starten (siehe [#Dienst-steuern Dienst steuern]). == Lokalen Drucker hinzufügen == Unter ''"Verwaltung"'' kann man Drucker zu CUPS hinzufügen. Der Zugriff auf die Verwaltungsseiten ist aber standardmäßig nur vom eigenen Rechner erlaubt. Wer seine Drucker von einem anderen Rechner aus über das Netzwerk administrieren will, muss zuerst erweiterte [#acl ACLs] setzen. Wird der Drucker automatisch gefunden, so erscheint er hier und kann ausgewählt werden. Alternativ kann man auch mittels ''"Drucker hinzufügen"'' einen Drucker anbinden, der nicht automatisch erkannt wurde. Der Vorgang sollte danach halbwegs selbsterklärend sein. Eventuell sei noch anzumerken, dass die [wikipedia:Parallele_Schnittstelle:parallele Schnittstelle] unter Linux als ''"LPT#X"'' bezeichnet wird. Das Hinzufügen eines Druckers erfolgt in fünf Schritten. Wurde der Drucker automatisch erkannt und ausgewählt, werden die ersten Schritte übersprungen: * ''"Name/Ort/Beschreibung"'' - Der Name sollte keine Leer- oder Sonderzeichen beinhalten. * ''"Gerät"'' - Sollte meistens LPT#1, sein, denn USB-Drucker werden eigentlich immer automatisch erkannt. * ''"Marke/Hersteller"'' - Hier muss man den Hersteller des Druckers auswählen. Die Auswahl des Herstellers beeinflusst die Auswahl der Druckertreiber, die man im nächsten Schritt angezeigt bekommt. Manche Hersteller, deren Drucker nicht von Linux unterstützt werden, bieten eine sogenannte [wikipedia:Postscript_Printer_Description:PPD]-Datei für ihren Drucker an, die man alternativ hier angeben kann. * ''"Modell/Treiber"'' - Nun kann man den Druckertreiber auswählen. Oftmals gibt es für ein Modell mehrere Treiber, die man nutzen kann. Welcher Treiber die beste Druckqualität bzw. Leistung bringt, muss man evtl. durch ein paar Testausdrucke selber bestimmen. * ''"Abschluss"'' - Abschließend werden Grundsätzliche Konfigurationen zum Drucker wie z.B. das zu nutzende Papierformat abgefragt. Danach steht der Drucker zur Verfügung. Einen Testdruck kann man auf der Seite ''"Drucker"'' über die Schaltfläche ''"Testseite drucken"'' auslösen. == Netzwerkdrucker hinzufügen == Die Benutzung eines Netzwerkdruckers gestaltet sich ähnlich unproblematisch. Anstelle der Schnittstelle LPT#1 muss man nur das Protokoll angeben, über das man den entfernten Druckerserver ansprechen möchte. Danach muss man dann ebenfalls die notwendigen Daten angeben. {{{#!vorlage Hinweis Ist der lokale CUPS-Server so [#Netzwerk konfiguriert], dass er freigegebene Drucker im Netzwerk automatisch erkennt, so muss man Netzwerkdrucker üblicherweise nicht von Hand hinzufügen. Das manuelle Hinzufügen eines Netzwerkdruckers ist also nur nötig, wenn der Druckserver seine Drucker nicht automatisch verbreitet, oder der lokale Server Drucker nicht automatisch einbindet. }}} U.a. stehen die folgenden Protokolle zur Auswahl: * ''"Internet Printing Protocol (ipp)"'' - Andere CUPS-Server und auch einige modernere Netzwerkdrucker benutzen dieses Protokoll. Angegeben werden muss nur eine URL im Format ``ipp:///printers/`` und anschließend der Treiber. * ''"Windows Printer via SAMBA"'' - Drucker-Freigaben von Rechnern mit Windows. Auch hier muss wieder nur eine URL im Format ``smb:////`` angegeben werden. (Vorraussetzung ist, dass das Paket '''smbclient''' installiert ist) * ''"LPD/LPR Host or Printer"'' - Manche Netzwerkdrucker oder Router mit Druckerport verwenden noch dieses alte Unix-Druckprotokoll. Die URL lautet hier ``lpd:///``. Unter Windows Vista und Windows 7 kann das IPP-Protokoll benutzt werden und der Drucker wird dann mit der Auswahl "Freigegebenen Drucker über den Namen auswählen" eingebunden. Dazu gibt man den Namen z.B so ein: http://192.168.0.1:631/printers/hp Weitere Fragen zur Verwendung der Netzwerkprotokolle beantwortet der Artikel [:Printserver:] und die interne Hilfe von CUPS unter http://localhost:631/help/network.html == Raw-Drucker hinzufügen == Ein Raw-Drucker im Sinne von CUPS ist ein Drucker, dessen Daten von CUPS nicht bearbeitet werden. Das heißt, die Daten vom Client werden 1:1 an den Drucker weitergeleitet. Einsetzen kann man einen Raw-Drucker z.B., wenn man die Treiber auf einem Windows Client benutzen möchte/muss. Es bedeutet aber auch, dass der Treiber auf jedem Client installiert werden muss. Voraussetzung für die Einrichtung eines Raw-Druckers ist, dass in den beiden Dateien: * '''/etc/cups/mime.types''' (bei Ubuntu 9.10 "Karmic": /etc/cups/raw.types ) * '''/etc/cups/mime.convs''' (bei Ubuntu 9.10 "Karmic": /etc/cups/raw.convs ) die Zeilen am Ende der Dateien mit ''octet-stream'' nicht auskommentiert sind[2]. {{{ # /etc/cups/mime.types application/octet-stream }}} und {{{ # /etc/cups/mime.convs application/octet-stream application/vnd.cups-raw 0 - }}} Der Drucker sollte __nicht__ mit dem CUPS-Server verbunden sein, da sonst der Schritt "''Marke/Hersteller''" übersprungen wird, wenn CUPS den Drucker erkennt. Nun gelangt man durch die Eingabe von [http://localhost:631/admin] bzw. [https://:631/admin] auf die Verwaltungsseite von CUPS und kann einen Drucker hinzufügen: * "''Name/Ort/Beschreibung''" - Der Name sollte keine Leer- oder Sonderzeichen beinhalten. * "''Gerät''" - Hier ist der Anschluss auszuwählen, an dem der Drucker hängt. * "''Marke/Hersteller''" - Hier muss "''Raw''" ausgewählt werden. * "''Modell/Treiber''" - Hier ist "''Raw Queue (en)''" auszuwählen. Damit ist die Installation abgeschlossen. Einen Testdruck kann man auf der Seite "''Drucker''" über die Schaltfläche "''Testseite drucken''" auslösen. Unter Windows erfolgt die Installation des Druckers so, als ob es ein lokaler Drucker wäre (einschließlich der Treiberinstallation). Danach muss unter "''Eigenschaften'' -> ''Anschlüsse''" des Druckers ein ''Local Port'' hinzugefügt werden. Beim Anschlussnamen ist '''\\\''' anzugeben. Mit Übernehmen wird dem Drucker der neue Anschluss zugewiesen. == Warteschlange bearbeiten == Unter ''"Aufträge"'' kann man den Status der Druckaufträge des CUPS-Servers einsehen: Aufträge verwalten, neu starten, löschen, usw. == Status überwachen/verändern == Auf der Seite ''"Drucker"'' findet man eine Übersicht aller im System installierten Drucker. Hier kann man sehen, was die Drucker gerade machen, ob sie Aufträge abarbeiten oder ob Fehler vorliegen. Des weiteren kann man alle wichtigen Aktionen bezüglich eines Druckers von hier aus starten: Testseiten ausdrucken, Drucker temporär deaktivieren, etc. [[Anker(Netzwerk)]] == Druckerserver im Netzwerk == CUPS ist wie in der Einleitung schon geschildert als Client-/Server-System aufgebaut. Dadurch können Drucker im Netzwerk freigegeben werden und andere Rechner können diese Drucker nutzen. Die graphischen Desktop-Umgebungen [:GNOME_Druckerkonfiguration:GNOME] und [:KDE_Druckerkonfiguration:KDE] enthalten bereits Werkzeuge, um diese Funktionalität zu aktivieren. Besitzt man einen Server ohne GUI, so kann man dies jedoch auch anders erreichen. Auf der Seite ''"Verwaltung"'' findet man unter ''"Server"'' Optionen, um diese Funktionen zu aktivieren: * ''"Zeige verteilte Drucker von anderen Systemen"'' - Bindet andere Netzwerkdrucker automatisch lokal ein, so dass diese Drucker am Rechner genutzt werden können, ohne dass man sie manuell hinzufügen muss. * ''"Verteile publizierte Drucker welche mit diesem System verbunden sind"'' - Gibt lokale Drucker im Netzwerk frei. Notwendig, wenn andere CUPS-Server im Netz die angeschlossenen Drucker automatisch erkennen sollen. * ''"Erlaube entfernte Verwaltung"'' - Hierdurch erlaubt man die Administration des CUPS-Servers über die Weboberfläche von anderen Rechnern als ''"localhost"''. [[Anker(acl)]] = Zugangskontrolle über ACLs = CUPS besitzt ein ausgeklügeltes System, mit dem man unter Einsatz von ''Access Control Lists (ACLs)'' festlegen kann, wer welche Rechte auf dem Server besitzt. Theoretisch kann man jedem einzelnen virtuellen Verzeichnis des CUPS-Servers unterschiedliche Rechte zuweisen, wobei der Zugriff für das eigentliche Drucken durch das Verzeichnis ''/printers/'' repräsentiert wird. Existiert für ein Verzeichnis keine ACL, erbt es die ACL des übergeordneten Verzeichnisses. In der Standardkonfiguration unter Ubuntu sind unterschiedliche Zugangsbeschränkungen für ''/admin/'' (die Verwaltungsseiten), ''/admin/conf/'' (der Speicherort der eigentlichen Konfigurationsdaten) und den ganzen Rest (''/'') vorgegeben. Im Allgemeinen kann man sich an diese sinnvolle Aufteilung halten. Die ACLs werden in der ebenfalls in der Konfigurationsdatei des CUPS-Dienstes '''/etc/cups/cupsd.conf''' gesetzt und sehen auf einer frischen CUPS-Installation so aus: {{{# Restrict access to the server... Order allow,deny Allow localhost Allow @LOCAL # Restrict access to the admin pages... Order allow,deny Allow localhost # Restrict access to configuration files... AuthType Basic Require user @SYSTEM Order allow,deny Allow localhost }}} Wie man sieht, steht jeder ACL-Satz in einem speziellen '''''' ... ''''''-Block. Ohne weitere Veränderungen bedeutet das, dass man aus dem gesamten lokalen Netz drucken, die Warteschlangen bearbeiten oder andere Dinge erledigen kann, die mit der bloßen Benutzung der Drucker zu tun haben. Der Zugriff auf die Verwaltungsseiten ist dagegen nur vom lokalen Rechner aus möglich, und um an der Konfiguration des Servers etwas zu verändern, muss man sich sogar authentifizieren und Mitglied der ''SystemGroup'' (lpadmin) sein, die durch ''@SYSTEM'' repräsentiert wird. Möchte man nun den Zugriff auf das System auch vom Netzwerk aus freigeben, so kann man dies beispielsweise durch hinzufügen der ACL ''"Allow @LOCAL"'' erreichen. Dadurch können alle Rechner im lokalen Netzwerk auf den entsprechenden CUPS-Dienst zugreifen. ''"@LOCAL"'' ist dabei eine bequeme Abkürzung für den IP-Adressbereich, in dem der CUPS-Server steht. Bei Bedarf kann man stattdessen auch reale IP-Bereiche nennen. Für jedes Verzeichnis können bei Bedarf unterschiedliche ACLs definiert werden. Um z.B. die Verwaltungsseiten von CUPS auch von anderen Rechnern des eigenen Netzwerks oder aus dem entfernten Netz 192.168.10.0/24 aus zu erreichen, fügt man im passenden Abschnitt folgende ACLs ein. Auf dieselbe Art kann man auch im ''''-Bereich zusätzliche Netze eintragen, die den (oder die) Drucker benutzen dürfen. {{{ # Restrict access to the admin pages... Order allow,deny Allow localhost Allow @LOCAL Allow 192.168.10.0/24 }}} Wer die Admin-Seiten des Servers nur bestimmten Benutzern zugänglich machen will, kann einfach die ''AuthType''- und ''Require''-Direktiven aus der ''/admin/conf''-Location in den ''/admin''-Bereich kopieren. Zu beachten ist allerdings, dass __alle__ Bestandteile der ACLs zur Anwendung kommen. Die Einschränkungen durch ''Allow''-Direktiven auf bestimmte Netzwerke kann man also auch durch Authentifizierung nicht umgehen. Es ist also nicht möglich, bspw. die Administration vom lokalen Host ohne und aus dem Netzwerk nur mit Authentifizierung zu erlauben. Weitere Informationen zu den CUPS-ACLs findet man in der sehr ausführlichen [http://localhost:631/help/ Online-Hilfe] der CUPS-Weboberfläche und in der [:man:Manpage] ``man cupsd.conf``. Wenn man lediglich möchte, dass eine Administration über das Netzwerk möglich ist, kann man dies einfacher über ''cupsctl'' erreichen. Der Aufruf von {{{ #!vorlage Befehl sudo cupsctl --remote-admin }}} reicht dazu aus. = SSL-Verschlüsselung = Da teilweise sensible Daten übertragen werden, z.B. Adminpasswörter, unterstützt der CUPS-Server Datenverschlüsselung nach dem [wikipedia:Transport_Layer_Security:SSL-Standard]. Diese lässt sich in den einzelnen ''Location''-Sektionen über die ''Encryption''-Direktive steuern: {{{ ... Encryption Never Encryption IfRequested Encryption Required }}} Man hat die Wahl zwischen * niemals verschlüsseln * nur verschlüsseln, wenn der Client möchte und * immer verschlüsseln. Bei einer Übertragung von Passwörtern wird aber standardmäßig __immer__ auf Verschlüsselung umgeschaltet. Das ist zwar sinnvoll, kann aber zu Überraschungen führen, wenn man das erste Mal auf so eine Seite zugreift. Das SSL-Zertifikat wird nämlich erst dann erstellt, wenn es das erste Mal gebraucht wird, was zumindest auf älterer Hardware einige Zeit in Anspruch nehmen kann (in der es scheint, als hätte der Server sich aufgehängt). {{{#!vorlage Warnung Leider ist das Webfrontend in Ubuntu 6.06 [:Dapper_Drake:] defekt und hängt sich beim Versuch, ein Zertifikat zu erzeugen, wirklich auf. Die Lösung ist, den Server anderweitig mit einem gültigen Serverzertifikat zu versorgen. Z.B. indem man das Paket '''ssl-cert''' installiert, und dann das erzeugte Dummy-Zertifikat für CUPS verwendbar macht: {{{#!vorlage Befehl ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/cups/ssl/server.crt ln -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/cups/ssl/server.key adduser cupsys ssl-cert /etc/init.d/cupsys restart }}} Dann sollte es funktionieren. ---- Alternativ kann man auch in der Datei '''/etc/cups/cupsd.conf''' einen Eintrag setzen, welcher die Verschlüsselung nur aktiviert, wenn diese auch benötigt wird: * ``DefaultEncryption IfRequested`` Damit funktioniert das Einrichten eines Druckers über das Webfrontend auch ohne SSL-Verschlüsselung. Selbstverständlich sollte man diese Möglichkeit nur wählen, wenn das Netzwerk wirklich absolut vertrauenswürdig ist. Meistens wird die erste Lösung die bessere sein. }}} = Als Client an einem Druckerserver = == Als reiner Client == Voraussetzung ist ein Rechner, der netzwerkweit einen Drucker und die Warteschlangen (Spool) zur Verfügung stellt. Dann reicht es, dass die Clienten direkt auf den vom Server bereitgestellten Drucker zugreifen können. Dazu sind auf den Clients nur diese Pakete nötig: * '''cupsys-client''' * '''cupsys-bsd''' In der Datei '''/etc/cups/client.conf''', welche man zuvor von Hand erstellen muss, wenn sie nicht bereits existiert, ist der Hostname des Druckerservers einzutragen: {{{ ServerName Drucker-Server }}} == Polling == Beim sogenannten Polling holt der CUPS-Server auf dem Client die Konfigurationen der Drucker vom CUPS-Server des Drucker-Servers. Dazu ist beim Client in der Datei '''/etc/cups/cupsd.conf''' das Polling zu aktivieren, indem man entweder die IP-Adresse oder den Hostnamen des Drucker-Servers angibt: {{{ BrowsePoll epia.ruby-team.home }}} = Probleme = == Drucken mit HP-Laserdruckern sehr langsam == Falls der Ausdruck bei Einsatz eines Laserdruckers von HP an der parallelen Schnittstelle (''lp0'' oder ''lp1'') sehr lange dauert, kann es sinnvoll sein, eine Änderung an '''/etc/cups/printers.conf''' vorzunehmen [2], um '''hplip''' zu umgehen. Dazu die Zeile {{{ DeviceURI hp:/par/HP_Druckername?device=/dev/parport0 }}} gegen {{{ DeviceURI parallel:/dev/lp0 }}} austauschen und Cups neu [#Dienst-steuern starten]. = Links = * [http://www.cups.org Projektseite] {en} * [http://openprinting.org/printer_list.cgi Umfangreiche Kompatibilitätsliste für Drucker unter Linux] {en} * [http://gertranssmb3.berlios.de/output/CUPS-printing.html Dokumentation zu Samba 3 - Kapitel 19 CUPS] {de} * [:Druckwerkzeuge:] - weitere Programme wie CUPS-PDF etc. ---- # tag: System, Netzwerk, Server, Drucker