Source de Pascal BOYER

Installation et paramétrage

Créer et ajouter à /etc/apache2/conf.d/mod_deflate.conf:
#
## Mod Deflate
#

< Location / >
    # Insert filter
    SetOutputFilter DEFLATE
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    # Don't compress images
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary
< / Location >
Activation des modules dans Apache2:
# a2enmod headers deflate
Enabling module headers.
Enabling module deflate.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Visualiser le taux de compression dans vos fichiers de logs

Pour nous assurer de la bonne marche du module deflate, nous allons effectuer des modifications des logs dans le apache2.conf

Au niveau des lignes consacrées à la définition du format des logs produits par le serveur, ajoutez ces trois lignes:
# Contient la taille réelle du fichier avant compression
 DeflateFilterNote Input instream
# Contient la taille du même fichier après compression
 DeflateFilterNote Output outstream
# Contient la valeur du ratio ((Output/Input)*100) (est exprimé en %)
 DeflateFilterNote Ratio ratio
A la ligne de la directive LogFormat, insérez ces valeurs:
%{outstream}n/%{instream}n (%{ratio}n%%)
afin d'obtenir ça:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{outstream}n/%{instream}n (%{ratio}n%%)"  combined
Maintenant dans les fichiers /var/log/apache2/access.log, de telles lignes:
xx.xx.xxx.xxx - - [23/Aug/2009:06:34:28 +0200] "GET /en_index.php HTTP/1.1" 200 4470 "http://calimero.homelinux.net/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; ja-jp) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19" 4452/10749 (41%)
Le pourcentage à la fin de la ligne sont les informations qui nous intéressent:
39/37 (105%)
Cela indiquent la taille originale du fichier est de 10749 octets, qu'une fois compressé il ne pèse plus que 4452 octets et ne représente donc plus que 41% du fichier original. Vous venez donc de réduire votre bande passante de 59% pour l'envoi de ce fichier.

Tous les fichiers ne donnent pas lieu à de telles économies de bande passante.