12.2. Istruzioni multipiattaforma

Al termine della compilazione e dell'installazione di Squid siamo obbligati a seguire alcune indicazioni di massima

12.2.1. Controllare il file di configurazione

Si rende necessario verificare la sintassi del file di configurazione squid.conf avviando Squid con il comando squid -k parse

% squid -k parse
   

se non riceviamo alcun messaggio di errore, il file di configurazione è valido e potremmo procedere con il passo successivo. Se il file di configurazione dovesse contenere un errore riceveremo un messaggio di avviso di questo genere

% squid -k parse
2004/09/21 22:31:31| squid.conf line 1832: http_access allow paperino
2004/09/21 22:31:31| aclParseAccessLine: ACL name 'paperino' not found.
2004/09/21 22:31:31| squid.conf line 1832: http_access allow paperino
2004/09/21 22:31:31| aclParseAccessLine: Access line contains no ACL's, skipping
   

la direttiva http_access contenuta nella linea 1832 di squid.conf si riferisce ad una ACL che non esiste, dovremmo intervenire sul file di configurazione per correggere l'errore. Posto rimedio eseguiremo nuovamente il comando squid -k parse per verificare se il problema è stato veramente risolto, il comando deve essere eseguito ogni volta che modificheremo il file di configurazione.

12.2.2. Prepariamo lo spazio dedicato alla cache

Il passo successivo sarà quello di creare gli oggetti che comporranno la cache utilizzando il comando squid -z

% squid -z
2004/01/25 15:58:06| Creating Swap Directories
   

con questo comando genereremo il Disk Storage, ovvero lo spazio dedicato alla cache. Il comando deve essere utilizzato in ogni caso prima di avviare il Proxy Server. Se eseguendo questo comando si dovesse ricevere un messaggio di errore

% squid -z
2004/01/25 15:58:06| Creating Swap Directories
FATAL: Failed to make swap directory /usr/local/squid/var/cache/00:
    (13) Permission denied 
   

dovremmo controllare che all'interno del file squid.conf siano stati correttamente abilitati i TAG cache_effective_user e cache_effective_group. Inoltre verificheremo i permessi assegnati alla directory di cache definita con il TAG cache_dir, i permessi dovranno essere Group ID (GID) e User ID (UID) così come definito nella direttiva cache_effective_user e cache_effective_group.

% ls -l /usr/local/squid/var/
totale 8
drwxr-xr-x  18 nobody nobody 4096 21 set 19:48 cache
drwxr-xr-x   2 nobody nobody 4096 21 set 19:48 logs
   

ovviamente nel file squid.conf troveremo

% more /usr/local/squid/etc/squid.conf | grep nobody
# change to UID to nobody.  If you define cache_effective_user,
cache_effective_user nobody
cache_effective_group nobody
   

12.2.3. Avviare Squid manualmente

solo dopo aver creato le directory dedicate al Disk Storage consigliamo di eseguire Squid in modalità debugging per capire se il processo funziona correttamente. Avviamo Squid utilizzando l'istruzione squid -N -d 1 -D, questo comando inizializza Squid senza farlo divenire un demone di background

% squid -N -d1
2004/03/06 12:02:35| Starting Squid Cache version 2.5.STABLE4 for i386-portbld-freebsd4.9...
2004/03/06 12:02:35| Process ID 68005
2004/03/06 12:02:35| With 3584 file descriptors available
2004/03/06 12:02:35| DNS Socket created at 0.0.0.0, port 1718, FD 4
   

l'opzione -N avvia Squid come precesso di foreground mentre l'opzione -d1 consente di visualizzare il codice di debug al livello 1. Digitando la sequenza di tasti [Ctrl+Z] potremo bloccare il processo Squid.

12.2.4. Avviamo Squid come processo

Dopo aver risolto tutti i possibili problemi potremmo finalmente avviare ed utilizzare il proxy server in modalità daemon, il sistema più veloce per eseguire Squid

% squid -s
   

l'opzione -s consente a Squid di registrare i messaggi di errore e di stato verso il demone syslogd(8). Squid utilizza come priorità la facility LOCAL4. Questo è il comando che consentirà di avviare il proxy server in condizioni di lavoro generiche.