View Single Post
  #3  
Old 15th May 2012, 22:26
cbj4074 cbj4074 is offline
Senior Member
 
Join Date: Nov 2010
Posts: 395
Thanks: 30
Thanked 58 Times in 50 Posts
Thumbs up

I, too, wondered how to enable GZIP compression in Apache on Debian (Ubuntu 10.04). Here are my findings.

1.) Add directives to Apache configuration, e.g., to /etc/apache2/httpd.conf:

Code:
<IfModule mod_deflate.c>
<Location />
# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
# 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>
</IfModule>
Note: For versions of Apache <= 2.0.48, read the comments carefully; it is necessary to un-comment the last BrowserMatch directive.

Note: This above block comes straight from the Apache documentation.

2.) Enable the required modules; both mod_deflate and mod_headers are required. (mod_headers is required for the last directive in the above snippet.)

Code:
# a2enmod deflate
# a2enmod headers
# service apache2 restart
Pages should now be served with GZIP compression. There are a number of utilities with which to test, e.g., http://www.whatsmyip.org/http-compression-test/ .

Good luck!
Reply With Quote