## CUPS - Server di stampa

Il sistema primario e i servizi di stampa di Ubuntu sono gestiti da Common UNIX Printing System (CUPS). Questo è un sistema di stampa liberamente disponibile e altamente portabile ed è diventato il nuovo standard per la stampa in molte distribuzioni Linux.

CUPS gestisce lavori e code di stampa, fornisce la stampa in rete tramite l'utilizzo del protocollo IPP (Internet Printing Protocol) e al tempo stesso offre supporto a una nutrita schiera di stampanti, dalle quelle a matrice di punti a quelle al laser (comprese tutte quelle nel mezzo). CUPS supporta anche il PPD (PostScript Printer Detection) e il rilevamento automatico delle stampanti di rete; inoltre fornisce un semplice strumento di amministrazione e configurazione basato sul web.

### Installazione

Per installare CUPS nel proprio computer Ubuntu, basta usare sudo con il comando apt-get e fornire i pacchetti da installare come primo parametro. Un'installazione completa di CUPS ha molte dipendenze di pacchetti, ma possono essere specificati tutti nella stessa riga di comando. Digitare quello che segue al prompt del terminale per installare CUPS:

    sudo apt-get install cupsys cupsys-client

Dopo l'autenticazione con la propria password utente, i pacchetti dovrebbe essere scaricati e installati senza errori. Al termine dell'installazione, il server CUPS viene avviato automaticamente. Per risolvere eventuali problemi, è possibile accedere agli errori del server CUPS per mezzo del file di registro degli errori presso `/var/log/cups/error_log`. Se nel file di registro degli errori non sono presenti informazioni sufficienti alla risoluzione dei problemi riscontrati, è possibile incrementare la verbosità del registro di CUPS, cambiando nel file di configurazione (presentato più avanti) la direttiva LogLevel dal valore predefinito «info» al valore «debug» oppure «debug2», che regista ogni cosa. Se si apporta questa modifica, ricordarsi di ripristinare il valore iniziale una volta risolto il problema, per evitare la creazione di un file di registro molto grande.

### Configurazione

Il comportamento del server CUPS viene configurato attraverso le direttive contenute nel file `/etc/cups/cupsd.conf`. Il file di configurazione di CUPS segue la stessa sintassi del file di configurazione primario del server HTTP Apache. In questo modo, l'utente che ha familiarità con la modifica del file di configurazione di Apache si sentirà a suo agio nella modifica del file di configurazione di CUPS. Di seguito vengono presentati alcuni esempi di impostazioni che potrebbe essere opportuno cambiare fin da subito.

Prima di modificare il file di configurazione, è opportuno creare un copia del file originale e proteggerla da scrittura, in modo da avere le impostazioni originali come riferimento e per riusarle in caso di necessità. Copiare il file `/etc/cups/cupsd.conf` e proteggerlo dalla scrittura con i seguenti comandi, inseriti a un prompt di terminale.

    sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
    sudo chmod a-w /etc/cups/cupsd.conf.original

- ServerAdmin: per configurare l'indirizzo email dell'amministratore incaricato alla gestione del server CUPS, aprire il file di configurazione `/etc/cups/cupsd.conf` usando l'editor di testi preferito, quindi modificare la riga ServerAdmin come desiderato. Per esempio, se l'indirizzo email dell'amministratore del server CUPS è «carlo@qualchesocieta.it», modificare la riga ServerAdmin come segue:

      ServerAdmin carlo@qualchesocieta.it

Per ulteriori esempi di direttive di configurazione nel file di configurazione del server CUPS, consultare la pagina manuale associato inserendo il comando seguente a un prompt di terminale:

    man cupsd.conf

Ogni volta che vengono apportati cambiamenti al file di configurazione `/etc/cups/cupsd.conf`, è necessario riavviare il server CUPS digitando il comando seguente a un prompt di terminale:

    sudo /etc/init.d/cupsys restart

Altre configurazioni per il server CUPS sono svolte utilizzando il file `/etc/cups/cups.d/ports.conf`:

- Listen: in modo predefinito, su Ubuntu, il server CUPS è in ascolto solamente sull'interfaccia di loopback all'indirizzo IP 127.0.0.1. Per far sì che il server CUPS resti in ascolto sull'indirizzo IP di un adattatore di rete utilizzato, è necessario specificare un nome di host oppure l'indirizzo IP oppure, opzionalmente, una coppia indirizzo IP/porta, aggiungendo una direttiva Listen. Per esempio, se il server CUPS risiede su una macchina locale all'indirizzo IP 192.168.10.250 e si vuole renderlo accessibile agli altri sistemi su questa sotto rete, è necessario modificare il file `/etc/cups/cups.d/ports.conf` e aggiungere un direttiva Listen come:

      Listen 127.0.0.1:631 # Listen esistente per loopback
      Listen /var/run/cups/cups.sock # socket Listen esistente
      Listen 192.168.10.250:631 # Listen sull'interfaccia LAN, porta 631 (IPP)

  Nell'esempio precedente, è possibile rendere un commento o rimuovere il riferimento all'indirizzo di loopback (127.0.0.1) se non si desidera che cupsd resti in ascolto su quell'interfaccia, ma che invece resti in ascolto solo sull'interfaccia Ethernet della LAN (Local Area Network). Per abilitare l'ascolto su tutte le interfacce di rete a cui un certo host è collegato, inclusa quella di loopback, è possibile creare una voce Listen per l'host socrates come segue:

      Listen socrates:631 # Listen su tutte le interfacce dell'host "socrates"

  oppure omettendo la direttiva Listen e utilizzando quella Port, come in:

      Port 631 # Listen sulla porta 631 di tutte le interfacce

### Riferimenti

Sito Web di CUPS

NFS (Network File System) |  | Capitolo 10. Servizi email