## CUPS - Server di stampa

The primary mechanism for Ubuntu printing and print services is the Common UNIX Printing System (CUPS). This printing system is a freely available, portable printing layer which has become the new standard for printing in most Linux distributions.

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

To install CUPS on your Ubuntu computer, simply use sudo with the apt-get command and give the packages to install as the first parameter. A complete CUPS install has many package dependencies, but they may all be specified on the same command line. Enter the following at a terminal prompt to install 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 e-mail 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'idirizzo email dell'amministratore del server CUPS è "bjoy@somebigco.com", modificare la riga ServerAdmin come segue:

      ServerAdmin bjoy@somebigco.com

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 sottorete, è 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'indizzo 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

DNS (Domain Name Service) |  | HTTPD - Server web Apache2