Squid permet à une machine (serveur) de jouer le rôle de serveur cache pour les machines d'un réseau local.
1. Préalable :
* S'assurer que les partitions
" /squid " et " swap " existent, ou bien les
créer.
* Récupérer la dernière version de squid stable sur : http://www.squid-cache.org
ou http://squid.nlanr.net. Il est préférable
de le mettre dans le répertoire " /usr/local/src/ "
* tar -zxvf <PackageRécupéré> --directory=/usr/local/src
* ./configure --prefix=/usr/local/squid/ --enable-err-language=French
(On peut ajouter l'option --enable-snmp, si on veut surveiller l'activité
via SNMP avec MRTG par exemple)
* make all
* make install
Avec les directives passées, squid est installé dans le répertoire
" /usr/local/squid/ ".
Sinon, on peut l'installer en même temps que le système : il suffit
juste de sélectionner les packages nécessaires. Dans ce cas, il
est installé dans " /etc/squid/ ". Dans la suite, nous supposerons
que c'est ce qui a été fait.
2. Configuration au niveau du fichier " squid.conf " :
Editez le fichier "/etc/squid/squid.conf", et apportez les modifications aux différentes sections comme suit :
a/ http_port 8080 /*Port d'écoute des requêtes clients. A mettre au niveau du navigateur (IE) (/usr/local/bin/squid -a 8080) */
b/ icp_port 5050 /*Port sur lequel il communique avec les autres caches (/usr/local/bin/squid -u 5050) */
c/ cache_mgr roger@yerbsy.com /* l'email de l'administrateur qui sera avertit quand le cache s'arrêtera */
d/ cache_effective_user squid /* l'utilisateur et le groupe du squid */
e/ cache_effective_group squid
f/ visible_hostname
<NomDuCache> /* If you want to present a special
hostname in error messages */
Exemple : visible_hostname cache.cjamali.org
g/ cache_mem 64 MB /* Taille mémoire utilisée par cache, on peut prendre le quart ou le tiers de la mémoire totale */
h/ cache_dir ufs /squid 37000 16 256 /* 37000=espace disque utilisable par le squid, à voir avec la commande df la taille de la partition /squid */
i/ cache_access_log /squid/log/access.log /*Log the clients requests activity */
j/ cache_log /squid/log/cache.log /* This is where general information about the cache's behaviour goes */
k/ cache_store_log none (ou bien /squid/log/store.log) /* Used to specify the location of store log */
l/ Ajouter cette ligne au
niveau des ACL :
acl CLIENTS src 10.0.0.0/255.255.255.0
/* Permet de spécifier l'adresse du réseau local du client. Ici,
il s'agit de 10.0.0.0, avec 254 machines */
m/ Mettre ces lignes au
niveau des http_access :
http_access
allow localhost /* Permet de contrôler les accès
au cache */
http_access allow CLIENTS /*
La ligne à ajouter, la plus importante */
http_access deny all
n/ Facultatif
icp_access allow localhost
icp_access allow CLIENTS
icp_access deny all
3. Suite et fin de l'installation
$> chown -R squid.squid
/squid /* Rendre squid propriétaire de certains répertoires
*/
$> mkdir /squid/log/
$> chown -R squid.squid /squid/log/
4. Lancement et test
$> /usr/local/squid/bin/squid
-z ou bien
$> /usr/sbin/squid -z
Lancer squid avec /etc/rc.d/init.d/squid
start
Consulter cache.log pour voir si tout s'est bien passé
Sources :
http://squid.visolve.com/squid24s1/contents.htm
http://stargate.ac-nancy-metz.fr/linux/cache/configuration/configuration.htm
http://en.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap28sec231.html
L'information, n'est-elle pas précieuse ? Partageons la tous ensemble !
© Janvier 2005
Roger YERBANGA
www.yerbynet.com