Wenn Ihr Unternehmen mehrere PCs im Netzwerk hat, die drucken müssen, benötigen wir ein Gerät namens Druckserver. Druckserver fungieren als Vermittler zwischen PC und Druckern, die Druckaufträge vom PC annehmen und an die jeweiligen Drucker senden.
CUPS ist der primäre Mechanismus im Unix-ähnlichen Betriebssystem für Drucken und Druckdienste. Es kann einem Computer ermöglichen, als Druckserver zu fungieren.
In diesem Tutorial lernen wir, wie man den CUPS-Druckserver einrichtet auf Ubuntu 20.04 .
Voraussetzungen
- Ein Ubuntu-Server 20.04-Rechner, der eine Netzwerkverbindung zum Drucker hat
- Eine Client-Ubuntu-Desktop- oder Server-Edition für den Zugriff auf den Drucker
1. Installieren Sie CUPS auf Ubuntu
CUPS ist das Standarddrucksystem in den meisten Linux-Distributionen, einschließlich Ubuntu. Es unterstützt Druckaufträge, Warteschlangen, Netzwerkdruck (über IPP), unterstützt eine große Auswahl an Druckern, automatische Erkennung von Netzwerkdruckern, Webverwaltung und mehr.
Holen Sie sich zuerst Ihr Ubuntu-System-Update:
$ sudo apt update
CUPS wird standardmäßig in der Ubuntu Desktop Edition installiert. Um cups auf der Ubuntu Server Edition zu installieren, geben Sie den folgenden Befehl auf Ihrem Terminal ein:
$ sudo apt install cups
Starten Sie den Cups-Daemon:
$ sudo systemctl start cups
Stellen Sie sicher, dass der Daemon ausgeführt wird:
$ sudo systemctl status cups
Ausgabe:
● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-08-15 01:31:30 WAT; 53min ago TriggeredBy: ● cups.socket ● cups.path Docs: man:cupsd(8) Main PID: 971 (cupsd) Status: "Scheduler is running…" Tasks: 1 (limit: 18958) Memory: 26.3M ...
Aktivieren Sie außerdem den Cups-Daemon, damit er beim Booten startet:
$ sudo systemctl enable cups
2. CUPS auf Ubuntu konfigurieren
CUPS kann über die Webschnittstelle konfiguriert werden (verfügbar unter http://localhost:631/admin
) oder durch die Anweisungen in der Datei /etc/cups/cupsd.conf. Sehen wir uns an, wie die CUPS-Konfigurationsdatei konfiguriert wird, um einen Druckerserver einzurichten.
Sichern Sie zunächst die Konfigurationsdatei, indem Sie eine Kopie der Standardkonfiguration speichern. Dies ist für den Fall, dass etwas schief geht und Sie Dinge rückgängig machen möchten.
$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.copy
Öffnen Sie die Originaldatei mit Ihrem bevorzugten Editor und ändern Sie Folgendes.
Damit CUPS auf allen Netzwerkschnittstellen lauschen soll, deaktivieren Sie die Zeile mit Listen localhost:631
(unter dem Abschnitt 'Nur auf Verbindungen vom lokalen Rechner warten') und fügen Sie die Zeile Port 631
hinzu wie folgt:
#Listen localhost:631
Port 631
Stellen Sie sicher, dass die Direktive Browsing On
aktiviert ist, um die freigegebenen Drucker im lokalen Netzwerk anzuzeigen (im Abschnitt „Freigegebene Drucker im lokalen Netzwerk anzeigen“):
Browsing On
Legen Sie BrowseLocalProtocols
fest zu dnsd
Protokoll (das Bonjour unterstützt), ist standardmäßig aktiviert.
BrowseLocalProtocols dnssd
Fügen Sie unter dem Abschnitt „Zugriff auf den Server einschränken“ Allow @LOCAL
hinzu um den Zugriff von anderen Computern aus dem Netzwerk zu erlauben.
#Restrict access to the server
<Location />
Order allow,deny
Allow @LOCAL
<Location>
Fügen Sie unter „Zugriff auf die Admin-Seiten einschränken“ das Verzeichnis „/admin“ hinzu, um den Zugriff von anderen Computern auf die Admin-Seiten zuzulassen.
#Restrict access to the admin pages.
<Location /admin>
Order allow,deny
Allow @LOCAL
<Location>
Speichern und schließen Sie die Datei. Starten Sie dann den Cups-Daemon neu, damit die Änderungen wirksam werden:
$ sudo systemctl restart cups
Wenn Sie es vorziehen, mit der CUPS-Weboberfläche zu konfigurieren, wird empfohlen, entweder root oder einen in der lpadmin-Gruppe authentifizierten Benutzer zu verwenden.
Um einen Benutzer zu lpadmin
hinzuzufügen Gruppe, geben Sie Folgendes ein:
$ sudo usermod -aG lpadmin username
3. Installieren Sie Ihren Druckertreiber
Die meisten HP-Drucker funktionieren standardmäßig unter Linux. HP-Treiber heißen hplip und sind auf den meisten Linux-Distributionen bereits installiert.
Hinweis:Bevor Sie den Treiber installieren, versuchen Sie, den CUPS-Dienst zu starten, um zu sehen, ob er den Drucker automatisch erkennt.
Falls nicht installiert, verwenden Sie den folgenden Befehl, um den HP-Treiber zu installieren:
$ sudo apt install hplip
Weitere Druckertreiber finden Sie auf openprinting.org.
4. Bonjour installieren, um CUPS-Drucker freizugeben
Wir haben den cups-Daemon bereits angewiesen, das Drucken mithilfe des Bonjour-Protokolls (DNSSD) zu einem auffindbaren Dienst im Netzwerk zu machen.
Für die Erkennung des Druckerdienstes müssen Sie den Avahi-Daemon installieren, der über die mDNS/DNS-SD-Diensterkennung verfügt. avahi-daemon ist ein Bonjour-Server, der die Informationen Ihres Computers im Netzwerk sendet. Es ermöglicht CUPS, Dienste und Hosts zu veröffentlichen/zu entdecken, die in einem lokalen Netzwerk ohne spezifische Konfiguration laufen.
Um avahi-daemon auf Ubuntu zu installieren, geben Sie ein:
$ sudo apt install avahi-daemon
Um den Avahi-Daemon zu starten, geben Sie ein:
$ sudo systemctl start avahi-daemon
Jetzt können Sie den Avahi-Daemon beim Booten aktivieren:
$ sudo systemctl enable avahi-daemon
Überprüfen Sie den laufenden Avahi-Daemon:
$ sudo sytemctl status avahi-daemon
Ausgabe mit 192.168.43.105 als einer der Dienstendpunkte im Netzwerk:
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-08-15 09:45:44 WAT; 11s ago TriggeredBy: ● avahi-daemon.socket Main PID: 11518 (avahi-daemon) Status: "avahi-daemon 0.8 starting up." Tasks: 2 (limit: 18958) Memory: 1.0M ... Aug 15 09:45:44 user-HP-EliteBook-Folio-9470m avahi-daemon[11518]: Registering new address record for 192.168.43.105 on wlo1.IPv4. ... Aug 15 09:45:45 user-HP-EliteBook-Folio-9470m avahi-daemon[11518]: Server startup complete. Host name is user-HP-EliteBook-Folio-9470m.local.
Port entsperren
Wenn Sie eine Firewall aktiviert haben, stellen Sie sicher, dass die Computer des Clients mit CUPS-Port 631 kommunizieren können.
Angenommen, ufw ist Ihr Firewall-Programm:
$ sudo ufw allow 631/tcp
Sowie UDP-Port 5353 für Avahi-Daemon:
$ sudo ufw allow 5353/udp
Drucker auf Cleint-Computer hinzufügen
Sehen wir uns an, wie man den Remote-Drucker auf einem Ubuntu-Client-Rechner hinzufügt, der über den CUPS-Druckserver freigegeben wird.
Um Bonjour-Broadcasts vom CUPS-Druckserver zu interpretieren, können die Clients cups-browsed (das eine Komponente von CUPS ist - unterstützt IPP) oder avahi-client (das standardmäßig installiert ist) verwenden. IPP wird für die Druckverwaltung benötigt und hilft Client-Computern, freigegebene Drucker zu verwenden, ohne Treiber installieren zu müssen.
Der cups-browsed-Daemon findet automatisch den freigegebenen Drucker im Netzwerk, normalerweise müssen Sie den Drucker nicht hinzufügen.
Wenn Ihr Client eine Ubuntu-Server-Edition ist, stellen Sie sicher, dass Sie Cups installieren (bei den meisten Linux-Distributionen ist CUPS vorinstalliert), aktivieren und starten.
$ sudo apt install cups
$ sudo systemctl start cups && sudo systemctl enable cups
Falls der Remote-Drucker nicht automatisch erkannt wird, dann manuell hinzugefügt.
Drücken Sie Ihre Fenstertaste und gehen Sie zu Einstellungen> Drucker.
Klicken Sie auf die Schaltfläche Hinzufügen.
Fügen Sie die IP-Adresse oder den Namen des Druckservers hinzu und klicken Sie auf die Schaltfläche Suchen.
Wählen Sie den Drucker aus der Liste aus und klicken Sie auf die Schaltfläche Weiter.
Geben Sie eine kurze Beschreibung für Ihren Drucker ein und klicken Sie auf die Schaltfläche Übernehmen.
Sie können einen Testdruck von der Befehlszeile mit dem lp-Befehl ausführen und die Magie beobachten:
$ lp document.txt
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man einen CUPS-Druckserver unter Ubuntu 20.04 einrichtet. Bitte teilen Sie uns Ihr Feedback und Ihre Vorschläge im Kommentarbereich mit.