Guest Blog

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, décembre 14 2011

Mettre en cache le contenu statique

Comme beaucoup d'admin système qui bossent dans l'hébergement web. Nous avons déjà eu la remarque mais pourquoi mon site mets 3 secondes pour s'afficher . Avant de critiquer les développeurs comme d'habitude .
Nous allons mettre en cache le contenu statique comme les css,image,html,js bla bla et bla.
Le module apache qui permet la mise en cache est le mod_expires

  1. /*
  2. a2enmod expires
  3. ou
  4. ln -s ../mods-available/expires.load expires.load
  5. */

Dans votre vhost

  1. /*
  2. ExpiresActive On
  3.  
  4. <Directory /bla/>
  5.  
  6. ExpiresByType text/css "access plus 5 days"
  7. ExpiresByType image/gif "access plus 1 month"
  8. ExpiresByType image/jpeg "access plus 1 month"
  9. ExpiresByType image/png "access plus 1 month"
  10. </Directory>
  11.  
  12. */

Dans le cas actuel on cache les css 5 jours , les gifs , jpeg , png sont en cache 1 mois.

Vérifier que notre cache est bien fonctionnel :

  1. /*
  2. :/tmp# wget -S http://www.robertain.com/public/ncdu1.JPG
  3. --2011-12-14 23:33:06-- http://www.robertain.com/public/ncdu1.JPG
  4. Résolution de www.robertain.com... 88.191.127.248, 88.191.222.37
  5. Connexion vers www.robertain.com|88.191.127.248|:80...connecté.
  6. requête HTTP transmise, en attente de la réponse...
  7. HTTP/1.1 200 OK
  8. Date: Wed, 14 Dec 2011 22:33:06 GMT
  9. Server: Apache
  10. Last-Modified: Fri, 29 Apr 2011 17:38:52 GMT
  11. ETag: "3b446c-6792-4a21225ac4300"
  12. Accept-Ranges: bytes
  13. Content-Length: 26514
  14. Cache-Control: max-age=2592000
  15. Expires: Fri, 13 Jan 2012 22:33:06 GMT
  16. Keep-Alive: timeout=15, max=100
  17. Connection: Keep-Alive
  18. Content-Type: image/jpeg
  19. Longueur: 26514 (26K) [image/jpeg]
  20. Sauvegarde en : «ncdu1.JPG»
  21.  
  22. 100%[==================================================================================================================>] 26 514 --.-K/s ds 0,07s
  23.  
  24. 2011-12-14 23:33:06 (378 KB/s) - «ncdu1.JPG» sauvegardé [26514/26514]
  25. */

Avec lynx

  1. /*
  2. # lynx -head http://www.robertain.com/themes/Paris/style.css
  3. HTTP/1.1 200 OK
  4. Date: Wed, 14 Dec 2011 22:41:05 GMT
  5. Server: Apache
  6. Last-Modified: Fri, 28 Jan 2011 18:15:12 GMT
  7. ETag: "3b4595-2f98-49aec0c0d4c00"
  8. Accept-Ranges: bytes
  9. Cache-Control: max-age=432000
  10. Expires: Mon, 19 Dec 2011 22:41:05 GMT
  11. Vary: Accept-Encoding
  12. Content-Encoding: gzip
  13. Content-Length: 2981
  14. Connection: close
  15. Content-Type: text/css
  16.  
  17. */

Par rapport à une requête http classique nous avons 2 headers en plus

  • Cache-control : max-age : Temps en secondes pendant lequel le contenu sera en cache.
  • Expires : Date d'expiration du cache

Bien-sur je vous dis pas de redémarrer apache ... :)
Ce n'est qu'à ce moment que vous pouvez gueuler sur les développeurs. Ou après avoir mis du nginx (mais je maitrise pas encore la bête) .

lundi, décembre 12 2011

Activer les logs dans bind

Il peut être utile de logguer ce que fait notre bon vieux serveur DNS .

Ajouter un nouvel include à la conf bind

  1. */
  2. include "/etc/bind/log.conf";
  3. /*

Contenu du fichier log.conf

  1. /*
  2. cat /etc/bind/log.conf
  3. logging {
  4. channel "requetes" {
  5. file "/var/log/bind/queries.log" size 10m;
  6. print-time yes;
  7. print-category yes;
  8. };
  9. category queries { "requetes"; };
  10.  
  11. channel "securite" {
  12. file "/var/log/bind/securite.log" size 5m;
  13. print-category yes;
  14. print-severity yes;
  15. print-time yes;
  16. };
  17. category security { "securite"; };
  18.  
  19. channel "global" {
  20. file "/var/log/bind/global.log" size 5m;
  21. print-category yes;
  22. print-severity yes;
  23. print-time yes;
  24. };
  25. category general { "global"; };
  26.  
  27. channel "configuration" {
  28. file "/var/log/bind/config.log" size 5m;
  29. print-category yes;
  30. print-severity yes;
  31. print-time yes;
  32. };
  33. category config { "configuration"; };
  34.  
  35. };
  36.  
  37. */
  • Channel : Correspond à un nom qui va être associer à une categorie
  • Category : Contrairement au channel , il existe un certains nombres de categorie prédéfinies vous pouvez voir la liste sur ce site :

http://www.zytrax.com/books/dns/ch7/logging.html

Vous pouvez à la place d'utiliser le paramètres size utiliser la rotation de log classique

  1. /*
  2. /var/log/bind/*.log {
  3. weekly
  4. missingok
  5. rotate 10
  6. compress
  7. delaycompress
  8. create 775 root bind
  9. postrotate
  10. /etc/init.d/bind9 reload > /dev/null
  11. endscript
  12. }
  13. */

Cela vous permettra de mieux diagnostiquer les éventuels problèmes que vous obtenez sur vos serveurs DNS .

dimanche, octobre 30 2011

De firefox 3 à firefox 8

En lisant un thread sur la liste debian . Un utilisateur poste ce lien http://qlf-www-elections-menevoting.aw.atosorigin.com/portal/browser_detect.html?siteLang=fr qui permet de savoir si notre navigateur est compatible pour effectuer un vote en ligne . Bien-sur celui-ci donne la version de notre navigateur .

Bizarre dans ce thread je vois des versions de firefox en 3.5 d'autres en 7.0.1 . En testant cette URL je me rends compte que je suis à la rue avec ma version bien pourrie de firefox :( . Il est l'heure de mettre tout ceci à jour :) .

Récupérer la dernière version de firefox sur leur FTP .

  1. /*
  2. cd ~/Téléchargements
  3. tar xjf firefox-8.0b3.tar.bz2
  4. mv firefox /opt/firefox8
  5. */

Création du lien symbolique afin de pointer sur votre nouveau répertoire

  1. /*
  2. ln -s /opt/firefox8/firefox /usr/bin/iceweseal
  3. */

Voila en 5 minutes firefox est à jour . A l'heure ou j'écris ce billet Firefox est en version 8 bêta donc si vous voulez une version stable , il vous faut la version 7 .

Pour une solution plus propre aller sur http://mozilla.debian.net/ (Merci à Christophe)

- page 2 de 58 -