Se la tua azienda ha più personal computer nella rete che devono stampare, allora abbiamo bisogno di un dispositivo chiamato server di stampa. Il server di stampa funge da intermediario tra il PC e le stampanti che accettano i lavori di stampa dal PC e li inviano alle rispettive stampanti.
CUPS è il meccanismo principale nel sistema operativo simile a Unix per la stampa e i servizi di stampa. Può consentire a un computer di fungere da server di stampa.
In questo tutorial impariamo come configurare il server di stampa CUPS su Ubuntu 20.04 .
Prerequisiti
- Un server Ubuntu 20.04 che ha una connessione di rete alla stampante
- Un'edizione desktop o server Ubuntu client per accedere alla stampante
1. Installa CUPS su Ubuntu
CUPS è il sistema di stampa standard nella maggior parte delle distribuzioni Linux, incluso Ubuntu. Supporta lavori di stampa, code, stampa in rete (tramite IPP), supporta un'ampia gamma di stampanti, rilevamento automatico delle stampanti di rete, amministrazione Web e altro ancora.
Innanzitutto, ottieni l'aggiornamento del tuo sistema Ubuntu:
$ sudo apt update
CUPS è installato per impostazione predefinita nell'edizione Ubuntu Desktop. Per installare cups sull'edizione del server Ubuntu, inserisci il seguente comando sul tuo terminale:
$ sudo apt install cups
Avvia il demone cups:
$ sudo systemctl start cups
Verifica che il demone sia in esecuzione:
$ sudo systemctl status cups
Uscita:
● 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 ...
Inoltre, abilita l'avvio del demone cups all'avvio:
$ sudo systemctl enable cups
2. Configura CUPS su Ubuntu
CUPS può essere configurato utilizzando l'interfaccia Web (disponibile su http://localhost:631/admin
) o dalle direttive contenute nel file /etc/cups/cupsd.conf. Verifichiamo come configurare il file di configurazione CUPS per configurare un server di stampa.
Innanzitutto, eseguire il backup del file di configurazione salvando una copia della configurazione predefinita. Questo è nel caso qualcosa vada storto e desideri annullare le cose.
$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.copy
Apri il file originale con il tuo editor preferito e modifica quanto segue.
Affinché CUPS sia in ascolto su tutte le interfacce di rete, disabilitare la riga che mostra Listen localhost:631
(sotto la sezione 'Ascolta solo connessioni dalla macchina locale') e aggiungi la riga Port 631
come segue:
#Listen localhost:631
Port 631
Assicurati che la direttiva Browsing On
è abilitato per mostrare le stampanti condivise sulla rete locale (nella sezione 'Mostra stampanti condivise sulla rete locale'):
Browsing On
Imposta BrowseLocalProtocols
a dnsd
protocollo (che supporta Bonjour), per impostazione predefinita è abilitato.
BrowseLocalProtocols dnssd
Nella sezione "Limita l'accesso al server" aggiungi Allow @LOCAL
per consentire l'accesso dagli altri computer dalla rete.
#Restrict access to the server
<Location />
Order allow,deny
Allow @LOCAL
<Location>
Nella sezione "Limita l'accesso alle pagine di amministrazione" aggiungi la directory /admin per consentire l'accesso dall'altro computer alle pagine di amministrazione.
#Restrict access to the admin pages.
<Location /admin>
Order allow,deny
Allow @LOCAL
<Location>
Salva e chiudi il file. Quindi riavvia il demone cups per rendere effettive le modifiche:
$ sudo systemctl restart cups
Se preferisci eseguire la configurazione utilizzando l'interfaccia web di CUPS, ti consigliamo di utilizzare root o un utente autenticato nel gruppo lpadmin.
Per aggiungere un utente a lpadmin
gruppo, digitare:
$ sudo usermod -aG lpadmin username
3. Installa il driver della stampante
La maggior parte delle stampanti HP funziona per impostazione predefinita su Linux. I driver HP sono chiamati hplip e sono già installati sulla maggior parte delle distribuzioni Linux.
Nota:prima di installare il driver, provare ad avviare il servizio CUPS per vedere se rileva automaticamente la stampante.
Se non è installato, utilizzare il seguente comando per installare il driver HP:
$ sudo apt install hplip
Puoi trovare altri driver di stampa su openprinting.org.
4. Installa Bonjour per condividere la stampante CUPS
Abbiamo già incaricato il demone cups di rendere la stampa un servizio rilevabile sulla rete utilizzando il protocollo Bonjour (DNSSD).
Per il rilevamento del servizio stampante è necessario installare avahi-daemon che dispone del rilevamento del servizio mDNS/DNS-SD. avahi-daemon è un server Bonjour che trasmetterà le informazioni del tuo computer sulla rete. Consente a CUPS di pubblicare/scoprire servizi e host in esecuzione su una rete locale senza una configurazione specifica.
Per installare avahi-daemon su Ubuntu, digita:
$ sudo apt install avahi-daemon
Per avviare il demone avahi, digita:
$ sudo systemctl start avahi-daemon
Ora puoi abilitare avahi-daemon all'avvio:
$ sudo systemctl enable avahi-daemon
Verifica il demone avahi in esecuzione:
$ sudo sytemctl status avahi-daemon
Output che mostra 192.168.43.105 come uno degli endpoint di servizio sulla rete:
● 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.
Sblocca la porta
Se hai abilitato un firewall assicurati di consentire alle macchine del client di comunicare con la porta CUPS 631.
Supponendo che ufw sia il tuo programma firewall:
$ sudo ufw allow 631/tcp
Oltre alla porta UDP 5353 per avahi-daemon:
$ sudo ufw allow 5353/udp
Aggiungi stampante sul computer client
Verifichiamo come aggiungere la stampante remota su una macchina client Ubuntu condivisa utilizzando il server di stampa CUPS.
Per interpretare le trasmissioni Bonjour dal server di stampa CUPS, i client possono utilizzare cups-browsed (che è un componente di CUPS - support IPP) o avahi-client (installato per impostazione predefinita). IPP è necessario per la gestione della stampa e aiuta i computer client a utilizzare le stampanti condivise senza installare alcun driver.
Il demone cups-brows troverà automaticamente la stampante condivisa nella rete, normalmente non è necessario aggiungere la stampante.
Se il tuo client è un'edizione server Ubuntu, assicurati di installare (la maggior parte delle distribuzioni Linux CUPS è preinstallata), abilita, avvia cups.
$ sudo apt install cups
$ sudo systemctl start cups && sudo systemctl enable cups
Nel caso in cui la stampante remota non sia stata rilevata automaticamente, quindi aggiunta manualmente.
Premi il tasto finestra e vai su Impostazioni> Stampanti.
Fare clic sul pulsante Aggiungi.
Aggiungere l'indirizzo IP o il nome del server di stampa e fare clic sul pulsante Trova.
Seleziona la stampante dall'elenco e fai clic sul pulsante Avanti.
Fornisci una breve descrizione per la tua stampante e fai clic sul pulsante Applica.
Puoi eseguire una stampa di prova dalla riga di comando usando il comando lp e osservare la magia:
$ lp document.txt
Conclusione
In questo tutorial, abbiamo imparato come configurare un server di stampa CUPS su Ubuntu 20.04. Facci sapere il tuo feedback e il tuo suggerimento nella sezione commenti.