PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian Etch als Printserver



Takeshi
25.12.08, 15:04
Hallo,

verwende bei mir einen Debian-PC ohne X als Printserver. Darauf läuft CUPS 1.2.7. Ich logge mich auf das CUPS-Interface (https) ein und der Drucker wird auch gleich angezeigt. Diesen möchte ich dann hinzufügen, doch nachdem ich den Druckertreiber auswähle, lädt der Firefox ewig, bis nach ein paar Minuten eine weisse Seite erscheint. Logge ich mich dann wieder auf der CUPS-Seite des Servers ein, so sehe ich, dass der Drucker noch nicht hinzugefügt wurde, sondern nur wieder zur Auswahl steht.
Der Drucker läuft übrigens einwandfrei unter gentoo, arch, auch bei einem alten Debian-PC habe ich ihn bereits genutzt. Die verwendeten OS-Versionen kann man meiner Signatur entnehmen, bei dem Drucker handelt es sich um den Samsung ML-1520, welcher per USB an den Debian-Server angeschlossen ist.

GreenShadow
25.12.08, 19:06
...und du willst was genau wissen? :)
Naja okay, ich kanns mir ungefähr denken. *g*

Was sagt denn die error_log von Cups? Könntest vielleicht die Logfile Einträge von dem Zeitpunkt posten, page_log ist bestimmt auch interessant.

Takeshi
25.12.08, 19:45
...und du willst was genau wissen? :)

Wie das Wetter so ist :cool:


okay, hier mal ein paar Auszüge aus den logfiles

/var/log/cups/access.log

192.168.2.4 - - [26/Dec/2008:04:35:29 +0100] "GET /admin/ HTTP/1.1" 200 6058 - -
192.168.2.4 - - [26/Dec/2008:04:35:29 +0100] "GET /images/button-add-this-printe
r.gif HTTP/1.1" 200 764 - -
192.168.2.4 - - [26/Dec/2008:04:35:31 +0100] "GET /admin?op=add-printer&PRINTER_
NAME=Samsung_ML-1520_USB_1&PRINTER_LOCATION=Local+Printer&PRINTER_INFO=Samsung+M
L-1520&DEVICE_URI=usb://Samsung/ML-1520|Samsung+ML-1520 HTTP/1.1" 200 0 - -
localhost - - [26/Dec/2008:04:35:31 +0100] "POST / HTTP/1.1" 200 30193 CUPS-Get-
PPDs -
192.168.2.4 - - [26/Dec/2008:04:35:31 +0100] "GET /admin?op=add-printer&PRINTER_
NAME=Samsung_ML-1520_USB_1&PRINTER_LOCATION=Local+Printer&PRINTER_INFO=Samsung+M
L-1520&DEVICE_URI=usb://Samsung/ML-1520|Samsung+ML-1520 HTTP/1.1" 200 23422 - -


In der error.log steht kein Fehler. Was mich wundert ist eben, dass cups einfach streikt, obwohl der Drucker ja eigentlich erkannt wird und auch die Treiber problemlos auswählbar sind.

Kann ich vielleicht den Drucker auch per Konsole einrichten? Habe hier für CUPS leider nichts entsprechendes gefunden...

HirschHeisseIch
25.12.08, 20:22
Könntest auch mal das LogLevel von CUPS hoch stellen. Das ist in der Standard-Einstellung nur sehr wenig Redseelig.

sysop
25.12.08, 22:50
mir fällt der wechsel zwischen ip 192.168.2.4 und localhost auf, könnte da der grund liegen ?

Takeshi
25.12.08, 22:59
Okay, danke für den Tipp. Mittels "LogLevel debug" kommen schon mehr Infos. Hier mal, was das error-log so alles zu sagen hat


# tail -f /var/log/cups/error_log
D [26/Dec/2008:07:54:23 +0100] [CGI] cgiCopyTemplateLang(tmpl="trailer.tmpl")
D [26/Dec/2008:07:54:23 +0100] [CGI] locale="de_de"...
D [26/Dec/2008:07:54:23 +0100] [CGI] Template file is "/usr/share/cups/templates/de/trailer.tmpl"...
D [26/Dec/2008:07:54:23 +0100] [CGI] Starting at file position 0...
D [26/Dec/2008:07:54:23 +0100] [CGI] Returning at file position 643 on EOF...
D [26/Dec/2008:07:54:23 +0100] cupsdCloseClient: 11
D [26/Dec/2008:07:54:23 +0100] PID 9833 (/usr/lib/cups/cgi-bin/admin.cgi) exited with no errors.
D [26/Dec/2008:07:54:25 +0100] cupsdReadClient: 8 POST /admin HTTP/1.1
D [26/Dec/2008:07:54:25 +0100] cupsdReadClient: 8 Browser asked for language "de-de.utf-8"...
D [26/Dec/2008:07:54:25 +0100] cupsdAuthorize: No authentication data provided.

Vor allem der letzte Satz irritiert mich hier etwas. Habe doch den admin eingerichtet - dacht ich zumindest. Sonst könnte ich ja gar keine Drucker einrichten, oder gar auf die Admin-Seiten von CUPS gelangen.

EDIT: sorry, habe die letzte Antwort hier im Forum überlesen. Denke aber, dass ich von überall aus Admin-Rechte habe. Hier mal ein Auszug aus meiner cupsd.conf


# ============= access to CUPS ========================

# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
Allow 127.0.0.1
Allow @LOCAL
</Location>

# Restrict access to the admin pages...
<Location /admin>
# Encryption Required
Encryption Never
Order allow,deny
Allow @LOCAL
</Location>

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

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


Müsste doch so eigentlich von den Berechtigungen her stimmen, oder?

sysop
25.12.08, 23:46
nun, ich denke da müsste bei admin folgendes stehen:


# Restrict access to the admin pages...
<Location /admin>
# Encryption Required
Encryption Never
Order allow,deny
Allow 192.168.2.4
Allow @LOCAL
</Location>

sonst kommt eigentlich ein forbidden.

und unter verwaltung muss "erlaube entfernte verwaltung" aktiviert sein.
ausserdem musst du der gruppe lpadmin angehören (wenn die cupsd.conf nichts anderes sagt).

Takeshi
26.12.08, 15:16
Okay, danke mal soweit für Deine Hilfe. Der Tipp mit der Gruppe lpadmin hat mich auf eine Spur gebracht. Da ich kein Passwort für einen Benutzer mit "lppasswd" anlegen konnte, bin ich auf einen Fehler im cupsys-Paket von Debian gestoßen. Man muss das SUID-Argument bei lppasswd mit "chmod -s" entfernen, dann kann man Passwörter für CUPS-Benutzer anlegen. Hiermit ist es mir gelungen, den Drucker anzulegen.

Noch eine abschließende Frage: wie kann ich jetzt von anderen PCs darauf zugreifen? Ich muss ja im Webinterface des lokalen PCs diese Drucker einrichten, doch es gibt hier sehr viele möglichkeiten, z.B. per https, lpd, usw. Leider weiss ich nicht, welche Option ich hiervon nutzen muss.

sysop
27.12.08, 13:51
fehler, glaube ich nicht, durch den eintrag:

<Location /admin/conf>
AuthType Basic
Require user @SYSTEM

sollte es eigentlich reichen, einen user der gruppe lpadmin zuzuordnen. für adminzwecke kannst du dich dann unter cups mit dem benutzer und dem passwort des users anmelden, die auch für die linux-anmeldung verwendet werden.

zugriff:
für lokale pc's auf linux-basis (die mit cups laufen) im selben netz sollte eine simple publikation des druckers reichen. du musst den lokalen pc's nur noch sagen, dass sie auch auf andere cups-server lauschen sollen. der rest funktioniert dann im wesentlichen automatisch.

auf den lokalen (linux) pc's also http://localhost:631 -> verwaltung, dort bei "Zeige verteilte Drucker von anderen Systemen" ein häkchen hinein.

zur kontrolle auf dem cups-server noch nachsehen, ob folgende einträge in der cupsd.conf vorhanden sind:


Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowseAddress @LOCAL
BrowseProtocols CUPS
BrowsePort 631
BrowseInterval 30
BrowseTimeout 300

eventuell noch bei browseAllow die entsprechenden ip's eintragen.
auf dem server
1.
auch noch unter verwaltung -> "Verteile publizierte Drucker welche mit diesem System verbunden sind" ein häkchen rein.
2.
drucker publizieren.

ach ja:
openoffice scheint (zumindest bei mir) beim start genau einmal nachzusehen, ob drucker vorhanden sind, dann nicht mehr. die drucker sollten also vor dem start von openoffice vorhanden sein.

windows-maschinen gebe ich die drucker per samba frei.

Takeshi
28.12.08, 11:41
Hey, vielen Dank!
Unter Verwaltung -> Drucker sieht man alle Drucker, die von allen CUPS-Servern bereit gestellt werden. Diese befinden sich dann (zumindest bei mir) automatisch in der Druckerauswahl der jeweiligen Anwendungen (Firefox, Dolphin, etc.).

Damit ist das Problem gelöst. Sollten weitere Fragen auftreten, werde ich mich nochmals melden. Bis hierher aber schon mal vielen Dank und einen guten Rutsch!

Takeshi
29.12.08, 20:31
Okay, noch ein kleines Update
1) das CUPS-Webinterface lädt immer noch ewig lange, wenn ich einen Drucker hinzufügen möchte und danach lande ich auf einer leeren Seite. Doch der Drucker wird trotzdem hinzugefügt.
2) OOo prüft nicht nur beim Start nach den vorhandenen Druckern. Änderungen werden im Betrieb erkannt - zumindest bei mir: Ooo3 und KDE 4.1.3 Wie es bei anderen Kombinationen ist, kann ich nicht sagen.