mod_deflate avec Apache2

smiley_info Le mod_deflate permet de compresser le flux de données.
On peut ainsi économiser jusqu'à 80% de la bande passante (cela entraine une légère consommation en plus du processeur). Plus d'info sur le site d'Apache...

Deflate est installé par defaut mais pas forcément lancé, n'y même configuré. Pour cela, on lance les deux modules suivant : deflate et headers.

a2enmod deflate
a2enmod headers

On relance Apache : /etc/init.d/apache2 force-reload

Nous allons maintenant ajouter la configuration du module deflate dans le fichier apache2.conf :

# Mod Deflate

<IfModule mod_deflate.c>
DeflateCompressionLevel 3
</IfModule>

<Location />
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby

SetOutputFilter DEFLATE

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>

 

La configuration est terminée, il faut relancer Apache : /etc/init.d/apache2 force-reload

smiley_boss Et maintenant, vous pouvez tester votre site sur le site de WhatsMyIp. Pour info, la page d'accueil de mon site : Original Size: 20 KB / Gzipped Size: 5 KB / Data Savings: 75%