Modifications entre les versions 9 et 13 (s'étendant sur 4 versions)
Version 9 à la date du 2008-06-02 12:12:12
Taille: 2653
Commentaire: précision et optimisation...
Version 13 à la date du 2008-08-08 10:48:47
Taille: 3189
Éditeur: FranckKouyami
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 7: Ligne 7:
  `extension_methods REPORT MERGE MKACTIVITY CHECKOUT`   `extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND`
Ligne 17: Ligne 17:
url_rewrite_children 5
Ligne 20: Ligne 19:
Exemple de script de redirection ('''mauvais''' mais fonctionnel, fait à la vas-vite pour une urgence...) : {{{ Exemple de script de redirection ('''mauvais''' mais fonctionnel, fait à la vas-vite pour une urgence...) : {{{#!shell
Ligne 22: Ligne 21:
# /usr/local/sbin/squid-redirector, Progfou, 2008-01-14
# À refaire en Perl ou Python, un jour...
# /usr/local/sbin/squid-redirector
# Auteur : Progfou <jean-christophe.andre@auf.org>
# Licence : Domaine public
# Création : 2008-01-14
# Dépendances : libwww-perl (pour la commande HEAD)
Ligne 25: Ligne 27:
# Depends: libwww-perl (pour la commande HEAD) # TODO: À refaire en Perl ou Python, un jour...
Ligne 53: Ligne 55:

== Discussions ==

FranckKouyami : Il me parait plus simple de configurer directement nos postes pour qu'ils aillent sur nos miroirs. Mais l'avantage de cette méthode est qu'à l'installation, il n'est plus nécessaire de modifier les sources.list. Quoi que nous allons plus vers une installation via le réseau...:-) . Dans cette configuration, TOUT LE MONDE devrait avoir un miroir fonctionnel permettant de faire une install réseau. ...

Cette page décrira notre utilisation de Squid à l'AUF.

Trucs et astuces (en attendant une vraie doc...)

  • laisser la valeur cache_mem à 8 MB, l'augmenter n'augmentera pas les performances, au contraire

  • ajouter ceci pour supporter les accès Subversion via HTTP :

    • extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

  • corriger la taille maximale pour les objets mis dans le cache (4 Mo par défaut) :
    • maximum_object_size 10 MB (valeur arbitraire)

Interception et redirection de requêtes vers un miroir local

Exemple d'options pour intercepter et rediriger les téléchargements de paquets Ubuntu vers son miroir local :

acl url_rewrite dstdomain .ubuntu.com .medibuntu.org .debian.org www.backports.org apt.hanoilug.org apt.auf.org
url_rewrite_access allow url_rewrite
url_rewrite_program /usr/local/sbin/squid-redirector

Exemple de script de redirection (mauvais mais fonctionnel, fait à la vas-vite pour une urgence...) :

#!/bin/bash
# /usr/local/sbin/squid-redirector
# Auteur : Progfou <jean-christophe.andre@auf.org>
# Licence : Domaine public
# Création : 2008-01-14
# Dépendances : libwww-perl (pour la commande HEAD)
#
# TODO: À refaire en Perl ou Python, un jour...
#
# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup <NL>
#
# ATTENTION : le miroir est incomplet => ne pas tout rediriger bêtement !!
#
MIRROR="cnf.vn.refer.org/mirror"
while read URL CLIENT USER METHOD GROUP
do
  URL2="${URL/:\/\/apt.auf.org\//://cnf.vn.refer.org/mirror/auf/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/apt.hanoilug.org\/ubuntu\//://${MIRROR}/ubuntu/hanoilug/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archive.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*packages.medibuntu.org\/ubuntu\//://${MIRROR}/ubuntu/medibuntu/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\/debian-security\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\//://${MIRROR}/debian/security/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/volatile.debian.org\/debian-volatile\//://${MIRROR}/debian/volatile/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://${MIRROR}/debian/archive/}"
  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/www.backports.org\/debian\//://${MIRROR}/debian/backports/}"
  if [ "$URL2" != "$URL" ] && HEAD "$URL2" > /dev/null
  then
    echo "$URL2"
  else
    echo "$URL"
  fi
done
exit 0

Discussions

FranckKouyami : Il me parait plus simple de configurer directement nos postes pour qu'ils aillent sur nos miroirs. Mais l'avantage de cette méthode est qu'à l'installation, il n'est plus nécessaire de modifier les sources.list. Quoi que nous allons plus vers une installation via le réseau...:-) . Dans cette configuration, TOUT LE MONDE devrait avoir un miroir fonctionnel permettant de faire une install réseau. ...

Squid (dernière édition le 2014-02-19 22:57:50 par JeanChristopheAndré)