***** SQUIDCONF 0.1 *****

SquidConf è un programma per gestire Squid mediante una comoda interfaccia Web sviluppata in PHP. Le impostazioni vengono salvate in
un database MySQL. L'interfaccia Web salva le impostazioni sul database MySQL, e Squid, mediante due programmi helper, leggono le 
impostazioni dal server. Attualmente le funzionalità di SquidConf 0.1 sono:
* Lingua italiana (sto lavorando per renderlo anche in inglese)
* Gestione accesso all'interfaccia di configurazione mediante la creazione e la gestione di account amministratori
* Gestione di una "lista nera" di siti (o parole chiavi) che gli utenti non possono visitare
* Gestione di un sistema di utenti per controllare gli utilizzi del proxy

LICENZA
SquidConf è rilasciato sotto la licenza GPL versione 3 o successive. Una copia della licenza è presente nel file COPYING.

REQUISITI DI SISTEMA
I programmi necessari per l'utilizzo di SquidConf sono:
_Sistema operativo Linux (gli helper funzionano su Linux, ma è possibile modificarli per farli funzionare su altre piattaforme)
_Un server HTTP con il supporto PHP (consiglio Apache 1.3 o superiore)
_PHP versione 5 o superiore (è possibile che funzioni anche con la versione 4, ma non ho testato ancora) con supporto MySQL e con supporto
 script esterni (installa il programma php per eseguire degli script PHP. è necessario per gli helper)
_MySQL versione 5 o superiore (può funzionare anche con versioni più vecchie, ma non sono state ancora testate)
_Squid versione 3 o superiore (è necessario tassativamente Squid 3, perché solo a partire da questa versione è possibile passare ad un
 helper esterno mediante External ACL l'URI richiesta, essenziale per gestire la lista dei siti bloccati)

SquidConf è stato testato ed è funzionante appieno su un sistema:
_Debian GNU/Linux "lenny"
_PHP versione 5.2.4
_MySQL versione 5.0.45
_Squid 3.0.STABLE1
_Apache 2.2.6

INSTALLAZIONE
Per installare SquidConf è necessario seguire i seguenti passi:
1) Soddisfarre i requisiti di sistemi, installando e configurando i programmi necessari
2) Copiare il contenuto della cartella www (che contiene l'interfaccia web di SquidConf) in una cartella accessibile dal server HTTP
  (usando Apache 2 su Debian un'esempio può essere /var/www/squidconf). Si controlli che la cartella contenente SquidConf abbia permessi
  755 e gli script PHP abbiano permessi 644 (ad esempio, chmod 755 /var/www/squidconf && chmod 644 /var/www/squidconf/*)
3) Copiare gli helper presenti nella cartella helper nella cartella che contiene gli helper per Squid (su Debian è /usr/lib/squid3),
   controllando che abbiano permessi 755 (chmod 755 helper_auth.php helper_banlist.php && chmod 644 db.inc.php)
4) Creare il database per SquidConf. Si entri in mysql come utente root (mysql -u root -p) e si esegua il comando:
CREATE DATABASE squidconf;
  Ovviamente è possibile usare un altro nome per il database.
5) Creare un utente per SquidConf col comando:
GRANT ALL PRIVILEGES ON squidconf.* TO squiduser@localhost IDENTIFIED BY 'squidpassword';
Ovviamente impostando il nome utente e la password scelti.
6) Uscire da mysql col comando QUIT
7) Importare i dati MySQL da uno dei file contenuti nella cartella db. Si usi il file table_all.sql per avere tutte le caratteristiche di
SquidConf mentre si usi table_nouser.sql per non avere la funzionalità di autenticazione degli utenti del proxy. Il comando è
mysql -u root -p squidconf < <file scelto>.sql
8) Modificare il file db.inc.php presente sia nella cartella degli helper che nella cartella contenente l'interfaccia web affinché contenga
i parametri adatti per accedere al server MySQL (la sintassi è indicata nel file mediante commenti)
9) Modificare la configurazione di Squid affinché usi gli helper installati. Un esempio di configurazione è contenuto nel file
 squid.conf.example

Una volta seguiti questi passaggi basta collegarsi col proprio browser web al server sul quale è stato installato SquidConf e procedere alla
sua configurazione mediante l'interfaccia web.

Ricordo che SquidConf è un programma ancora ai primi stadi di sviluppo, e io non ho molto tempo per lavorarci sopra. Quindi ogni aiuto è ben
accetto!
Per domande, chiarimenti, o richieste di qualunque tipo potete contattarmi via e-mail all'indirizzo dapilori@yahoo.it

Dario Pilori <dapilori@yahoo.it>
