<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>4. Installer Squid</title> <link rel="stylesheet" href="style.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.64.1"> <link rel="home" href="index.html" title=" Petit guide de mise en place d'un mandataire transparent avec Linux et Squid "> <link rel="up" href="index.html" title=" Petit guide de mise en place d'un mandataire transparent avec Linux et Squid "> <link rel="previous" href="ar01s03.html" title="3. Configurer le noyau"> <link rel="next" href="ar01s05.html" title="5. Installer iptables (Netfilter)"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr><th colspan="3" align="center">4. Installer Squid</th></tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ar01s03.html">Précédent</a> </td> <th width="60%" align="center"> </th> <td width="20%" align="right"> <a accesskey="n" href="ar01s05.html">Suivant</a> </td> </tr> </table> <hr> </div> <div class="sect1" lang="fr"> <div class="titlepage"> <div><div><h2 class="title" style="clear: both"> <a name="squid"></a>4. Installer Squid</h2></div></div> <div></div> </div> <p> Il faut maintenant faire fonctionner Squid. Téléchargez l'archive la plus récente du code source depuis <a href="http://www.squid-cache.org" target="_top">http://www.squid-cache.org</a>. Assurez-vous que vous avez bien une version <span class="emphasis"><em>stable</em></span> et non une version de développement. La version la plus récente à l'heure où j'écris ces lignes est squid-2.4.STABLE4.tar.gz. Remarquez qu'à ma connaissance vous devez utiliser squid-2.4 pour les noyaux Linux 2.4. La raison en est que le mécanisme par lequel le processus détermine l'adresse originale de destination a changé depuis Linux 2.2, et que le code nécessaire n'est présent qu'à partir de squid-2.4 (pour ceux que cela intéresse, auparavant l'appel <tt class="function">getsockname()</tt> était bidouillé pour obtenir l'adresse originale de destination, alors que l'on utilise maintenant l'appel <tt class="function">getsockopt()</tt> avec le niveau <tt class="literal">SOL_IP</tt> et l'option <tt class="literal">SO_ORIGINAL_DST</tt>). </p> <p> Décompactez et extrayez l'archive (utilisez <b class="userinput"><tt>tar xzf <i class="replaceable"><tt>nom_du_fichier</tt></i></tt></b>). Exécutez le script d'auto-configuration et dites-lui d'inclure le code destiné à Netfilter (<b class="userinput"><tt>./configure --enable-linux-netfilter</tt></b>), compilez (<b class="userinput"><tt>make</tt></b>) puis installez (<b class="userinput"><tt>make install</tt></b>). </p> <p> Modifiez le fichier <tt class="filename">squid.conf</tt> (il devrait être sous <tt class="filename">/usr/local/squid/etc/squid.conf</tt>, à moins que vous n'ayez changé son chemin par défaut). Le fichier <tt class="filename">squid.conf</tt> est abondamment commenté. Il constitue pour certains sujets l'une des meilleures sources d'information sur Squid. Une fois que tout fonctionnera, je vous recommande de revenir en arrière et de le relire complètement. Mais pour l'instant, contentons-nous du minimum requis. Trouvez les directives suivantes, décommentez-les, et donnez-leur les valeurs appropriées : </p> <pre class="programlisting"> httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on </pre> <p> Ensuite, jetez un œil aux directives <tt class="literal">cache_effective_user</tt> et <tt class="literal">cache_effective_group</tt>. Si le couple utilisateur-groupe <tt class="literal">nobody</tt>/<tt class="literal">nogroup</tt> n'existe pas sur votre système (autant que je sache, ce n'est pas le cas dans de nombreuse distributions, y compris dans la RedHat 7.1), vous devrez le mettre en place, ou en créer un autre pour exécuter Squid. Je vous recommande chaudement de créer un couple utilisateur-groupe <tt class="literal">squid</tt>/<tt class="literal">squid</tt> pour faire tourner Squid, mais vous pouvez utiliser n'importe quel compte existant si vous le souhaitez. </p> <p> Enfin, jetez un œil à la directive <tt class="literal">http_access</tt>. Sa valeur par défaut est habituellement <tt class="literal">http_access deny all</tt>. Ce qui empêche quiconque d'accéder à Squid. Provisoirement, vous pouvez changer cette valeur en <tt class="literal">http_access allow all</tt>, mais une fois le système opérationnel, il est fortement recommandé de lire la documentation consacrée aux listes de contrôle d'accès (ACL), et de configurer le mandataire de manière à ce que seules les personnes de votre réseau local (par exemple) puisse y accéder. Ceci peut paraître idiot, mais il est important de mettre en place de telles restrictions sur l'accès à votre cache. Les personnes bloquées par des pare-feu filtrants (tels que des filtres anti-pornographie, ou les filtres de pays totalitaires) font souvent de l'auto-stop sur les mandataires ouverts à tous vents et consomment votre bande passante. </p> <p> Initialisez le répertoire utilisé pour la mémorisation des pages via la commande <b class="userinput"><tt>squid -z</tt></b> (vous devriez passer cette étape si Squid était déjà installé sur votre machine). </p> <p> Maintenant, exécutez Squid en utilisant le script <b class="userinput"><tt>RunCache</tt></b> du répertoire <tt class="filename">/usr/local/squid/bin/</tt>. Si cela fonctionne, vous devriez être en mesure de régler les paramètres proxy de votre navigateur sur l'adresse IP de la machine où tourne Squid, et sur le port 3128 (à moins que vous n'ayez changé le numéro de port par défaut) et d'accéder à Squid comme à un mandataire normal. </p> <p> Pour obtenir une aide complémentaire sur la configuration de Squid, reportez-vous à la FAQ de Squid sur <a href="http://www.squid-cache.org" target="_top">http://www.squid-cache.org</a>. </p> </div> <div class="navfooter"> <hr> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"> <a accesskey="p" href="ar01s03.html">Précédent</a> </td> <td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td> <td width="40%" align="right"> <a accesskey="n" href="ar01s05.html">Suivant</a> </td> </tr> <tr> <td width="40%" align="left" valign="top">3. Configurer le noyau </td> <td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td> <td width="40%" align="right" valign="top"> 5. Installer iptables (Netfilter)</td> </tr> </table> </div> </body> </html>