GNU/Linux >> Znalost Linux >  >> Cent OS

Nastavení tiskového serveru CUPS na CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Tento tutoriál vám ukáže, jak sdílet tiskárnu připojenou k počítači CentOS 8/RHEL 8 s klienty Windows, macOS a iOS ve stejné síti. CUPS (Common Unix Printing System) je výchozí tiskový systém v systémech Linux, FreeBSD a macOS. Vaše desktopové prostředí Linux může mít vyhrazený nástroj pro konfiguraci tiskárny, ale všechny používají pod kapotou CUPS. Tiskárnu CUPS lze sdílet v síti pomocí několika protokolů, včetně:

  • Bonjour + IPP :Bonjour, také známý jako mDNS/DNS-SD (multicast DNS/DNS service discovery), umožňuje počítači najít služby v místní síti. IPP (Internet Printing Protocol) je přenosový protokol.
  • SMB :aka Samba, používá se hlavně ke sdílení souborů a tiskáren s klienty Windows.
  • AirPrint :Umožňuje klientům iPhone, iPad a macOS tisknout přes Wi-Fi.

Každý protokol má své výhody a nevýhody. Nejprve vám ukážu, jak nainstalovat a nakonfigurovat CUPS. Poté se naučíme, jak sdílet tiskárnu CUPS prostřednictvím výše uvedených 3 protokolů. Ke sdílení tiskárny doporučuji používat všechny 3 způsoby, aby uživatelé mohli najít dostupnou tiskárnu v místní síti s minimálním úsilím.

Krok 1:Instalace a konfigurace CUPS na CentOS 8/RHEL 8

Desktopová edice CentOS 8/RHEL 8 má předinstalované CUPS. Pokud používáte serverovou edici CentOS 8/RHEL 8, musíte spustit následující příkaz k instalaci CUPS z výchozího úložiště CentOS 8/RHEL 8.

sudo dnf install cups

Poté spusťte CUPS.

sudo systemctl start cups

Povolit automatické spouštění při spouštění.

sudo systemctl enable cups

Zkontrolujte jeho stav:

systemctl status cups

Ukázkový výstup:

Dále upravte hlavní konfigurační soubor CUPS pomocí textového editoru příkazového řádku, jako je Nano.

sudo nano /etc/cups/cupsd.conf

Ve výchozím nastavení je webové rozhraní CUPS dostupné pouze na adrese localhost:631 . Pokud používáte serverovou edici CentOS 8/RHEL 8, možná budete chtít, aby CUPS naslouchal na všech dostupných síťových rozhraních, takže budete mít přístup k webovému rozhraní CUPS z jiných počítačů. Najděte následující řádek.

Listen localhost:631

Změňte jej na následující, CUPS tedy bude naslouchat na všech síťových rozhraních.

Port 631

Následující řádek způsobí, že CUPS zobrazí sdílené tiskárny v místní síti, takže ostatní počítače ve stejné síti uvidí tiskárny připojené k vašemu počítači CentOS 8/RHEL 8.

Browsing On

Pak najděte následující řádky.

<Location />
  Order allow,deny
</Location>

Výše uvedená konfigurace umožňuje přístup k webovému rozhraní CUPS pouze z localhost. Chcete-li povolit přístup z jiných počítačů ve stejné síti, přidejte Allow @LOCAL do konfigurace jako níže.

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

Pokud chcete povolit vzdálenou správu z místní sítě, přidejte ji také pro /admin adresář.

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Uložte a zavřete soubor. Poté restartujte CUPS, aby se změny projevily.

sudo systemctl restart cups

Musíme klientům ve stejné síti umožnit přístup k portu 631 na vašem počítači CentOS 8/RHEL 8.

sudo firewall-cmd --permanent --add-port=631/tcp

Znovu načtěte firewall, aby se změna projevila.

sudo systemctl reload firewalld

Kromě hlavní cups.service , existuje také cups-browsed.service , který se používá ke skenování a přidávání tiskárny z místní sítě. Pokud chcete, aby váš počítač CentOS 8/RHEL 8 mohl používat další tiskárny v místní síti, spusťte tuto službu.

sudo systemctl start cups-browsed

A povolit automatické spouštění při spouštění.

sudo systemctl enable cups-browsed

Krok 2:Instalace ovladače pro vaši tiskárnu na CentOS 8/RHEL 8

Musíte nainstalovat ovladač na CentOS 8/RHEL 8, aby mohl rozpoznat a používat tiskárnu. Pokud máte tiskárnu HP, můžete ovladač snadno nainstalovat pomocí následujícího příkazu.

sudo dnf install hplip

Doporučuji také nainstalovat gutenprint-cups balíček, který poskytuje ovladače CUPS pro tiskárny Canon, Epson, HP a kompatibilní.

sudo dnf install gutenprint-cups

Pokud máte jiné tiskárny, můžete ovladače najít na openprinting.org.

Po instalaci ovladače možná budete muset znovu připojit tiskárnu k USB portu vašeho počítače CentOS 8/RHEL 8. Chcete-li otestovat, zda ovladač funguje správně, můžete vytvořit textový soubor na CentOS 8/RHEL 8:

echo "LinuxBabe is awesome!" > file.txt

Poté spusťte následující příkaz a vytiskněte tento textový soubor z příkazového řádku.

lp file.txt

Jedná se o velmi primitivní metodu, takže se teď nebojte o kvalitu tisku.

Krok 3:Sdílejte tiskárnu CUPS prostřednictvím protokolu Bonjour/IPP

Instalace Avahi-daemon

CUPS může oznámit svou přítomnost v síti prostřednictvím protokolu mDNS (multicast DNS) a DNS-SD (DNS Service Discovery), který je také známý jako Bonjour. Chcete-li to provést, musíte nainstalovat a spustit avahi-daemon , což je služba podobná službě Apple Bonjour, která umožňuje počítačům automaticky zjišťovat sdílená zařízení a služby v místní síti.

sudo dnf install avahi

Potřebujeme také nainstalovat nss-mdns balíček z úložiště EPEL, který potřebují klienti k překladu .local domény v síti.

sudo dnf install epel-release

sudo dnf install nss-mdns

Spusťte avahi-daemon.

sudo systemctl start avahi-daemon

Povolit automatické spouštění při spouštění.

sudo systemctl enable avahi-daemon

Avahi-daemon naslouchá na portu UDP 5353. Otevřete jej ve firewallu.

sudo firewall-cmd --permanent --add-port=5353/udp

Znovu načtěte firewall, aby se změna projevila.

sudo systemctl reload firewalld

Tisk bez ovladače IPP

Bonjour se používá k propagaci tiskárny v místní síti. Aby spolu klienti a server CUPS komunikovali, je zapotřebí protokol IPP (Internet Printing Protocol). Výhodou IPP je, že klienti mohou používat sdílenou tiskárnu bez instalace jakéhokoli ovladače na svá vlastní zařízení. CUPS podporuje IPP ihned po vybalení, takže pro sdílení tiskárny CUPS přes IPP nemusíte dělat nic jiného.

Krok 4:Přidání tiskárny do klientských počítačů

Klienti macOS a Linux

Protože macOS a většina linuxových desktopových distribucí má nainstalovaný CUPS jako výchozí tiskový systém, jakmile povolíte sdílení tiskárny přes Bonjour/IPP na boxu CentOS 8/RHEL 8, uživatelé macOS a Linuxu ve stejné síti mohou tiskárnu automaticky používat. Když kliknou na možnost tisku v aplikacích (textové procesory, e-mailové čtečky, editory fotografií a webové prohlížeče), tiskárna bude automaticky dostupná. Nemusí výslovně přidat tiskárnu. Je to kouzlo.

Pokud váš počítač se systémem Linux nemůže najít tiskárnu, je možné, že váš systém nemá ippfind příkaz. Spusťte následující příkaz a nainstalujte jej do distribuce Linuxu založené na Debianu.

sudo apt install cups-ipp-utils

Na CentOS 8 spusťte následující příkaz.

sudo dnf install cups-ipptool

Poté restartujte CUPS na klientském počítači.

sudo systemctl restart cups

Windows

Windows 10 se dodává s klientem IPP. Zadejte tiskárna v levém dolním vyhledávacím panelu a otevřete Tiskárny a skenery . Poté klikněte na tlačítko Přidat tiskárnu nebo skener knoflík. Prohledá dostupné tiskárny v místní síti.

Jak můžete vidět, našla moji tiskárnu HP Deskjet. Vyberte nalezenou tiskárnu a klikněte na Přidat zařízení . Za několik okamžiků bude přidána do seznamu tiskáren.

Pokud používáte jinou verzi systému Windows, která nemůže tímto způsobem přidat tiskárnu, můžete nainstalovat služby Bonjour Print. Po instalaci spusťte průvodce tiskárnou Bonjour. Automaticky prohledá dostupné tiskárny v místní síti. Jak můžete vidět na snímku obrazovky, nalezl mou tiskárnu HP.

Klepněte na tlačítko Další a poté musíte vybrat ovladač pro tuto tiskárnu. Můžete si vybrat ovladač třídy Microsoft IPP, který je standardně nainstalován v systému.

Klepněte na tlačítko Další a tiskárna bude přidána do vašeho systému Windows.

Ruční přidání tiskárny v systému Linux

Pokud z nějakého důvodu tiskárnu nevidíte, můžete ji přidat ručně. Chcete-li přidat tiskárnu sdílenou Bonjour na stolním počítači Linux, vyhledejte v nastavení systému nebo v nabídce aplikace nástroj pro konfiguraci tiskárny. Klikněte na tlačítko Přidat tlačítko pro přidání nové tiskárny.

Poté klikněte na Síťová tiskárna a automaticky se naskenují dostupné tiskárny v místní síti. Jak můžete vidět, našla moji tiskárnu HP Deskjet. Klikněte na tlačítko Vpřed tlačítko.

Poté můžete tiskárně zadat název a popis. Jednoduše akceptuji výchozí hodnoty. Klikněte na Použít a máte hotovo.

Ruční přidání tiskárny v systému macOS

Chcete-li do systému macOS přidat tiskárnu sdílenou Bonjour, přejděte na předvolby systému -> Tiskárny a skenery . Klepnutím na tlačítko plus (+) přidejte tiskárnu.

Automaticky prohledá dostupné tiskárny v místní síti. Jak můžete vidět, našel moji tiskárnu HP Deskjet.

Klikněte na tlačítko Přidat a zobrazí se v seznamu tiskáren.

Krok 5:Sdílejte tiskárnu CUPS prostřednictvím Samby

Samba je bezplatná a open-source implementace protokolu SMB/CIFS pro Unix a Linux, která umožňuje sdílení souborů a tiskáren mezi stroji Unix/Linux a Windows v místní síti. Používá se hlavně ke sdílení souborů a tiskáren s klienty Windows.

Chcete-li nainstalovat Sambu na CentOS 8/RHEL 8, spusťte následující příkaz.

sudo dnf install samba

Poté zadejte následující příkaz ke spuštění smbd a nmbd služba.

sudo systemctl start smb nmb

Povolit automatické spouštění při spouštění.

sudo systemctl enable smb nmb

Chcete-li zkontrolovat, zda služba Samba běží, zadejte následující příkazy.

systemctl status smb nmb

Po spuštění smb démon bude naslouchat na TCP portech 139 a 445. nmbd bude naslouchat na portech UDP 137 a 138. Spuštěním následujícího příkazu otevřete tyto porty ve bráně firewall.

sudo firewall-cmd --permanent --add-service=samba

Znovu načtěte démona firwall, aby se změna projevila.

sudo systemctl reload firewalld

Poté upravte hlavní konfigurační soubor.

sudo nano /etc/samba/smb.conf

Najděte [printers] sekce. Ve výchozím nastavení to vypadá takto:

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

Musíme změnit hodnotu browseable na yes , takže klienti ve stejné síti mohou najít tiskárnu a přidat guest ok = yes abyste umožnili komukoli v síti používat tiskárnu.

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = yes
        guest ok = yes

Doporučuje se povolit spoolssd službu při sdílení tiskárny. Díky tomu bude Samba efektivnější, když je hodně tiskových úloh. Jednoduše přidejte následující dva řádky do [global] pro aktivaci spoolssd služba.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Uložte a zavřete soubor. Poté restartujte Sambu.

sudo systemctl restart smb nmb

Přidání sdílené tiskárny Samba v systému Windows.

Otevřete Průzkumníka souborů, do adresního řádku zadejte IP adresu počítače CentOS 8/RHEL 8, například \\192.168.0.110 . Tiskárna by nyní měla být uvedena.

Poklepáním na tiskárnu ji přidáte do systému Windows. Poté klikněte na tlačítko OK a vyberte ovladač, který chcete nainstalovat. Po instalaci ovladače bude tiskárna přidána do vašeho systému Windows.

Krok 6:Sdílejte tiskárnu CUPS s klienty iOS přes AirPrint

AirPrint umožňuje klientům iPhone, iPad a macOS tisknout přes Wi-Fi bez instalace softwaru ovladače na klientská zařízení. CUPS podporuje Airprint, ale avahi-daemon ve výchozím nastavení neoznamuje službu AirPrint v místní síti. Potřebujeme vytvořit .service soubor v /etc/avahi/services/ adresář pro tiskárnu se skriptem Python. Spuštěním následujícího příkazu stáhněte skript na CentOS 8/RHEL 8.

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

Přidejte oprávnění ke spuštění.

chmod +x airprint-generate.py

Tento python skript je vytvořen pro Python2. CentOS 8/RHEL 8 standardně používá Python3. Potřebujeme nainstalovat Python2.

sudo dnf install python2

Upravte tento soubor.

nano airprint-generate.py

Změnit

#!/usr/bin/env python

do

#!/usr/bin/env python2

Uložte a zavřete soubor. Poté nainstalujte závislosti.

sudo dnf install gcc python2-devel cups-devel redhat-rpm-config

Nainstalujte modul pohárků.

sudo pip2 install cups pycups

Potom spusťte tento skript.

sudo ./airprint-generate.py -d /etc/avahi/services/

Nyní by zde měl být .service soubor pod /etc/avahi/services/ adresář pro vaši tiskárnu.

ls /etc/avahi/services/

Ukázkový výstup:

AirPrint-DeskJet-2130-series.service

Restartujte Avahi-daemon.

sudo systemctl restart avahi-daemon

Nyní by vaši tiskárnu měli používat klienti iOS a macOS ve stejné síti. Následující snímek obrazovky ukazuje, že můj iPhone úspěšně našel tiskárnu AirPrint.


Cent OS
  1. Nastavte SysLog Server na CentOS 6 / RHEL 6

  2. Jak nainstalovat Puppet na RHEL 8/CentOS 8

  3. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  1. Jak nastavit server OpenVPN na CentOS 7

  2. Jak nainstalovat OpenLiteSpeed ​​Web Server na CentOS 8/RHEL 8

  3. Konfigurace serveru Samba v CentOS 6.5

  1. Jak nainstalovat Samba Server na CentOS 8

  2. Jak nastavit tiskový server CUPS na Ubuntu 20.04

  3. Jak nastavit tiskový server Samba na CentOS