L'avvio del servizio si effettua assumendo i privilegi di amministratore e digitando un comando che ha la seguente forma:
# /usr/local/squid/sbin/squid [opzioni]
Un elenco delle opzioni si ottiene digitando il comando con l'opzione -h. In questa sede concentriamo l'attenzione sulle seguenti opzioni:
-h
-k reconfigure
-k check
-D
-z
Per verificare se il servizio è in esecuzione si può lanciare il seguente comando:
Il comando stampa sullo schermo l'albero dei processi in esecuzione fra i quali dovremo trovare i riferimenti a Squid e ai due processi figli:
Se Squid o i suoi processi figli non sono in esecuzione, il processo è stato abortito per qualche errore. La causa dell'errore si accerta consultando i file di registro:
1. Per consultare il registro di Squid lanciare il comando:
2. Per consultare il registro di sistema lanciare il comando:
Ecco alcuni possibili errori che possono verificarsi al primo avvio di Squid.
Nov 7 23:17:37 gian (squid): ipcache_init: DNS name lookup tests failed
All'avvio Squid effettua un test della risoluzione dei nomi di dominio interrogando il DNS sui nomi elencati nella direttiva dns_testnames. Questa operazione fallisce se il server DNS a cui si appoggia Squid non riesce a risolvere uno dei nomi oppure se il server di connessione non è collegato ad Internet.
Una delle possibili soluzioni è avviare Squid con l'opzione -D. Se si sta avviando il servizio per la prima volta è necessario applicare anche l'opzione -z:
Nov 7 23:49:56 gian (squid): Cannot open '/usr/local/squid/var/logs/access.log' for writing. The parent
directory must be writeable by the user 'nobody', which is the cache_effective_user set in squid.conf.
Come impostazione predefinita il processo squid è avviato come utente nobody e non ha i permessi di scrittura nelle directory di sistema (nella fattispecie /usr/local). Squid non può pertanto inizializzare il sistema di cache proxy creando i file di registro e l'albero delle directory swap.
La soluzione più semplice consiste nell'assegnare la proprietà della directory /usr/local/squid/var all'utente nobody e riavviare il servizio. Trattandosi di una directory di sistema l'assegnazione della proprietà deve essere fatta dall'amministratore:
Nov 8 00:12:16 gian (squid): Failed to verify one of the swap directories. Check cache.log for details.
Run 'squid -z' to create swap directories if needed, or if running Squid for the first time.
All'avvio Squid verifica l'esistenza dell'albero delle directory swap in /usr/local/squid/var/cache. Se si avvia Squid per la prima volta, la cache deve essere inizializzata con la creazione delle directory swap. Per risolvere il problema avviare Squid con l'opzione -z: