GNU/Linux >> Linux Esercitazione >  >> Cent OS

Configurazione del server di stampa CUPS su CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Questo tutorial ti mostrerà come condividere una stampante collegata a un computer CentOS 8/RHEL 8 con client Windows, macOS e iOS sulla stessa rete. CUPS (Common Unix Printing System) è il sistema di stampa predefinito su Linux, FreeBSD e macOS. Il tuo ambiente desktop Linux potrebbe avere un'utilità di configurazione della stampante dedicata, ma tutti usano CUPS sotto il cofano. La stampante CUPS può essere condivisa in rete utilizzando diversi protocolli, tra cui:

  • Bonjour + IPP :Bonjour, noto anche come mDNS/DNS-SD (multicast DNS/DNS service discovery), consente a un computer di trovare servizi sulla rete locale. IPP (Internet Printing Protocol) è il protocollo di trasporto.
  • PMI :alias Samba, utilizzato principalmente per condividere file e stampanti con client Windows.
  • AirPrint :consente ai client iPhone, iPad e macOS di stampare tramite Wi-Fi.

Ogni protocollo ha i suoi vantaggi e svantaggi. Per prima cosa, ti mostrerò come installare e configurare CUPS. Quindi impareremo come condividere la stampante CUPS tramite i 3 protocolli sopra. Consiglio di utilizzare tutti e 3 i metodi per condividere la stampante, in modo che gli utenti possano trovare una stampante disponibile sulla rete locale con il minimo sforzo.

Passaggio 1:installa e configura CUPS su CentOS 8/RHEL 8

L'edizione desktop CentOS 8/RHEL 8 ha CUPS preinstallato. Se utilizzi l'edizione server CentOS 8/RHEL 8, devi eseguire il comando seguente per installare CUPS dal repository CentOS 8/RHEL 8 predefinito.

sudo dnf install cups

Quindi avvia CUPS.

sudo systemctl start cups

Abilita l'avvio automatico all'avvio.

sudo systemctl enable cups

Controlla il suo stato:

systemctl status cups

Esempio di output:

Quindi, modifica il file di configurazione principale di CUPS con un editor di testo a riga di comando come Nano.

sudo nano /etc/cups/cupsd.conf

Per impostazione predefinita, l'interfaccia web di CUPS è disponibile solo su localhost:631 . Se stai eseguendo l'edizione server CentOS 8/RHEL 8, potresti voler fare in modo che CUPS ascolti su tutte le interfacce di rete disponibili, in modo da poter accedere all'interfaccia web di CUPS da altri computer. Trova la riga seguente.

Listen localhost:631

Cambialo come segue, così CUPS ascolterà su tutte le interfacce di rete.

Port 631

La riga seguente farà in modo che CUPS mostri le stampanti condivise sulla rete locale, in modo che altri computer nella stessa rete possano vedere le stampanti collegate al tuo computer CentOS 8/RHEL 8.

Browsing On

Quindi trova le seguenti righe.

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

La configurazione di cui sopra consente l'accesso all'interfaccia web di CUPS solo da localhost. Per consentire l'accesso da altri computer nella stessa rete, aggiungi Allow @LOCAL alla configurazione come di seguito.

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

Se vuoi consentire l'amministrazione remota dalla rete locale, aggiungilo anche per /admin directory.

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

Salva e chiudi il file. Quindi riavvia CUPS per rendere effettive le modifiche.

sudo systemctl restart cups

Dobbiamo consentire ai client nella stessa rete di accedere alla porta 631 sul tuo computer CentOS 8/RHEL 8.

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

Ricarica il firewall per rendere effettive le modifiche.

sudo systemctl reload firewalld

Oltre al principale cups.service , c'è anche cups-browsed.service , utilizzato per eseguire la scansione e aggiungere la stampante dalla rete locale. Se desideri che il tuo computer CentOS 8/RHEL 8 sia in grado di utilizzare altre stampanti sulla rete locale, avvia questo servizio.

sudo systemctl start cups-browsed

E abilita l'avvio automatico all'avvio.

sudo systemctl enable cups-browsed

Passaggio 2:installa il driver per la tua stampante su CentOS 8/RHEL 8

È necessario installare il driver su CentOS 8/RHEL 8, in modo che possa riconoscere e utilizzare la stampante. Se hai una stampante HP, puoi facilmente installare il driver con il seguente comando.

sudo dnf install hplip

Consiglio anche di installare le gutenprint-cups pacchetto, che fornisce i driver CUPS per Canon, Epson, HP e stampanti compatibili.

sudo dnf install gutenprint-cups

Se hai altre stampanti, puoi trovare i driver su openprinting.org.

Dopo aver installato il driver, potrebbe essere necessario ricollegare la stampante alla porta USB del computer CentOS 8/RHEL 8. Per verificare se il driver funziona correttamente, puoi creare un file di testo su CentOS 8/RHEL 8:

echo "LinuxBabe is awesome!" > file.txt

Quindi esegui il comando seguente per stampare questo file di testo dalla riga di comando.

lp file.txt

Questo è un metodo molto rudimentale, quindi non preoccuparti della qualità di stampa ora.

Fase 3:condividi la stampante CUPS tramite il protocollo Bonjour/IPP

Installazione del demone Avahi

CUPS può annunciare la sua presenza sulla rete tramite il protocollo mDNS (multicast DNS) e DNS-SD (DNS Service Discovery), noto anche come Bonjour. Per farlo, devi installare ed eseguire avahi-daemon , che è un servizio simile al servizio Apple Bonjour che consente ai computer di rilevare automaticamente dispositivi e servizi condivisi sulla rete locale.

sudo dnf install avahi

Abbiamo anche bisogno di installare nss-mdns pacchetto dal repository EPEL, necessario affinché i client risolvano .local dominio sulla rete.

sudo dnf install epel-release

sudo dnf install nss-mdns

Avvia avahi-daemon.

sudo systemctl start avahi-daemon

Abilita l'avvio automatico all'avvio.

sudo systemctl enable avahi-daemon

Avahi-daemon è in ascolto sulla porta UDP 5353. Aprilo nel firewall.

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

Ricarica il firewall per rendere effettive le modifiche.

sudo systemctl reload firewalld

Stampa senza driver IPP

Bonjour viene utilizzato per pubblicizzare la stampante sulla rete locale. Per fare in modo che i client e il server CUPS comunichino tra loro, è necessario IPP (Internet Printing Protocol). Il vantaggio di IPP è che i client possono utilizzare la stampante condivisa senza installare alcun driver sui propri dispositivi. CUPS supporta IPP immediatamente, quindi non devi fare nient'altro per condividere la stampante CUPS tramite IPP.

Fase 4:aggiungi la stampante sui computer client

Client macOS e Linux

Poiché macOS e la maggior parte delle distribuzioni desktop Linux hanno CUPS installato come sistema di stampa predefinito, una volta abilitata la condivisione della stampante tramite Bonjour/IPP sulla scatola CentOS 8/RHEL 8, gli utenti macOS e Linux nella stessa rete possono utilizzare automaticamente la stampante. Quando fanno clic sull'opzione di stampa nelle applicazioni (elaboratori di testi, lettori di posta elettronica, editor di foto e browser Web), la stampante sarà automaticamente disponibile. Non devono aggiungere esplicitamente la stampante. È magico.

Se il tuo computer Linux non riesce a trovare la stampante, è possibile che il tuo sistema non disponga di ippfind comando. Esegui il comando seguente per installarlo su una distribuzione Linux basata su Debian.

sudo apt install cups-ipp-utils

Su CentOS 8, esegui il comando seguente.

sudo dnf install cups-ipptool

Quindi riavvia CUPS sul computer client.

sudo systemctl restart cups

Finestre

Windows 10 viene fornito con un client IPP. Digita stampante nella barra di ricerca in basso a sinistra e apri Stampanti e scanner . Quindi fai clic su Aggiungi una stampante o uno scanner pulsante. Scansionerà le stampanti disponibili sulla rete locale.

Come puoi vedere, ha trovato la mia stampante HP Deskjet. Seleziona la stampante trovata e fai clic su Aggiungi dispositivo . Verrà aggiunto all'elenco delle stampanti in pochi istanti.

Se stai utilizzando una versione diversa di Windows che non può aggiungere la stampante in questo modo, puoi installare i servizi Bonjour Print. Una volta installato, avvia la procedura guidata della stampante Bonjour. Scansionerà automaticamente le stampanti disponibili sulla rete locale. Come puoi vedere dallo screenshot, ha trovato la mia stampante HP.

Fare clic su Avanti, quindi è necessario scegliere un driver per questa stampante. Puoi scegliere il driver di classe Microsoft IPP, che è installato nel sistema per impostazione predefinita.

Fai clic su Avanti e la stampante verrà aggiunta al tuo sistema Windows.

Aggiunta manuale della stampante su Linux

Se per qualsiasi motivo non vedi la stampante, puoi aggiungerne una manualmente. Per aggiungere una stampante condivisa Bonjour su desktop Linux, cerca le impostazioni di sistema o il menu dell'applicazione per l'utilità di configurazione della stampante. Fai clic su Aggiungi pulsante per aggiungere una nuova stampante.

Quindi fare clic su Stampante di rete per scansionare automaticamente le stampanti disponibili sulla rete locale. Come puoi vedere, ha trovato la mia stampante HP Deskjet. Fai clic su Avanti pulsante.

Quindi puoi dare alla stampante un nome e una descrizione. Accetto semplicemente i valori predefiniti. Fai clic su Applica e il gioco è fatto.

Aggiunta manuale della stampante su macOS

Per aggiungere una stampante condivisa Bonjour su macOS, vai a Preferenze di sistema -> Stampanti e scanner . Fare clic sul pulsante più (+) per aggiungere una stampante.

Scansionerebbe automaticamente le stampanti disponibili sulla rete locale. Come puoi vedere, ha trovato la mia stampante HP Deskjet.

Fai clic su Aggiungi e apparirà nell'elenco delle stampanti.

Fase 5:condividi la stampante CUPS tramite Samba

Samba è un'implementazione del protocollo SMB/CIFS gratuita e open source per Unix e Linux che consente la condivisione di file e stampe tra macchine Unix/Linux e Windows in una rete locale. Viene utilizzato principalmente per condividere file e stampanti con client Windows.

Per installare Samba su CentOS 8/RHEL 8, esegui il comando seguente.

sudo dnf install samba

Quindi emetti il ​​seguente comando per avviare smbd e nmbd servizio.

sudo systemctl start smb nmb

Abilita l'avvio automatico all'avvio.

sudo systemctl enable smb nmb

Per verificare se il servizio Samba è in esecuzione, immetti i seguenti comandi.

systemctl status smb nmb

Una volta avviato, il smb il demone sarà in ascolto sulle porte TCP 139 e 445. Il nmbd sarà in ascolto sulle porte UDP 137 e 138. Esegui il comando seguente per aprire queste porte nel firewall.

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

Ricarica il demone firwall per la modifica che avrà effetto.

sudo systemctl reload firewalld

Quindi modifica il file di configurazione principale.

sudo nano /etc/samba/smb.conf

Trova il [printers] sezione. Per impostazione predefinita, si presenta così:

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

Dobbiamo cambiare il valore di browseable a yes , in modo che i client nella stessa rete possano trovare la stampante e aggiungere guest ok = yes per consentire a chiunque nella rete di utilizzare la stampante.

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

Si consiglia di abilitare spoolssd servizio durante la condivisione della stampante. Ciò renderà Samba più efficiente quando ci sono molti lavori di stampa. Aggiungi semplicemente le seguenti due righe nel [global] sezione per abilitare lo spoolssd servizio.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Salva e chiudi il file. Quindi riavvia Samba.

sudo systemctl restart smb nmb

Aggiunta di una stampante condivisa Samba in Windows.

Apri Esplora file, inserisci l'indirizzo IP del computer CentOS 8/RHEL 8 nella barra degli indirizzi come \\192.168.0.110 . La stampante dovrebbe ora essere elencata.

Fare doppio clic sulla stampante per aggiungerla al sistema Windows. Quindi fare clic sul pulsante OK per selezionare un driver da installare. Dopo aver installato il driver, la stampante verrà aggiunta al tuo sistema Windows.

Passaggio 6:condividi la stampante CUPS con i client iOS tramite AirPrint

AirPrint consente ai client iPhone, iPad e macOS di stampare tramite Wi-Fi senza installare il software del driver sui dispositivi client. CUPS supporta Airprint, ma avahi-daemon per impostazione predefinita non annuncia il servizio AirPrint sulla rete locale. Dobbiamo creare un .service file nel /etc/avahi/services/ directory per la stampante con uno script Python. Esegui il comando seguente per scaricare lo script su CentOS 8/RHEL 8.

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

Aggiungi il permesso di esecuzione.

chmod +x airprint-generate.py

Questo script Python è stato creato per Python2. CentOS 8/RHEL 8 utilizza Python3 per impostazione predefinita. Dobbiamo installare Python2.

sudo dnf install python2

Modifica questo file.

nano airprint-generate.py

Cambia

#!/usr/bin/env python

a

#!/usr/bin/env python2

Salva e chiudi il file. Quindi installa le dipendenze.

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

Installa il modulo tazze.

sudo pip2 install cups pycups

Quindi esegui questo script.

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

Ora dovrebbe esserci un .service file in /etc/avahi/services/ directory per la stampante.

ls /etc/avahi/services/

Esempio di output:

AirPrint-DeskJet-2130-series.service

Riavvia il demone Avahi.

sudo systemctl restart avahi-daemon

Ora i client iOS e macOS nella stessa rete dovrebbero essere in grado di utilizzare la tua stampante. Lo screenshot seguente mostra che il mio iPhone ha trovato correttamente una stampante AirPrint.


Cent OS
  1. Come configurare un server OpenVPN su CentOS 7

  2. Come installare il server Web OpenLiteSpeed ​​su CentOS 8/RHEL 8

  3. Configura il server SysLog su CentOS 6 / RHEL 6

  4. Come installare Puppet su RHEL 8/CentOS 8

  5. Configura il server DHCP su CentOS 8 - Come farlo?

Configura il server Samba su CentOS 8/RHEL 8 per la condivisione di file

Installa e configura OpenDKIM su CentOS 8/RHEL 8 Mail Server

Parte 4:configurazione di SPF e DKIM con Postfix su CentOS 8/RHEL 8 Mail Server

Configurazione del server di stampa CUPS su Ubuntu (Bonjour, IPP, Samba, AirPrint)

Come configurare il server DHCP su CentOS 8

Come configurare SSH su CentOS e RHEL