Al termine della compilazione e dell'installazione di Squid siamo obbligati a seguire alcune indicazioni di massima
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.
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 |
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.
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.