1733
Commentaire: à refaire bien sûr...
|
2669
p'tit truc en plus pour SVN...
|
Texte supprimé. | Texte ajouté. |
Ligne 5: | Ligne 5: |
* ajouter ceci pour supporter les accès [:Subversion:] via HTTP : `extension_methods REPORT MERGE MKACTIVITY CHECKOUT` |
* laisser la valeur `cache_mem` à `8 MB`, l'augmenter n'augmentera pas les performances, [[http://varnish.projects.linpro.no/wiki/ArchitectNotes|au contraire]] * ajouter ceci pour supporter les accès [[Subversion]] via HTTP : `extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND` |
Ligne 10: | Ligne 11: |
== Interception et redirection de requêtes vers un miroir local == |
|
Ligne 11: | Ligne 14: |
acl url_rewrite dstdomain security.ubuntu.com archive.ubuntu.com .archive.ubuntu.com | acl url_rewrite dstdomain .ubuntu.com .medibuntu.org .debian.org www.backports.org apt.hanoilug.org apt.auf.org |
Ligne 17: | Ligne 20: |
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 21: | Ligne 24: |
# # Depends: libwww-perl (pour la commande HEAD) |
|
Ligne 26: | Ligne 31: |
# Miroirs au 2008-01-14 au CNF de Hanoï : # - architecture i386 (pas de source) # - sections main, restricted, universe et multiverse # - security et updates pour dapper, feisty et gutsy # - archive et backports pour dapper et gutsy # |
MIRROR="cnf.vn.refer.org/mirror" |
Ligne 34: | Ligne 34: |
URL2="${URL/:\/\/??.archive.ubuntu.com\/ubuntu/://cnf.vn.refer.org/mirror/ubuntu/archive}" [ "$URL" = "$URL2" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu/://cnf.vn.refer.org/mirror/ubuntu/security}" if [ "$URL" != "$URL2" ] && HEAD "$URL2" > /dev/null |
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 |
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 url_rewrite_children 5
Exemple de script de redirection (mauvais mais fonctionnel, fait à la vas-vite pour une urgence...) :
#!/bin/bash # /usr/local/sbin/squid-redirector, Progfou, 2008-01-14 # À refaire en Perl ou Python, un jour... # # Depends: libwww-perl (pour la commande HEAD) # # 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