The following assumptions will be used throughout this article:
- Apache is installed in /usr/local/apache2 directory
- Apache Source Code version is 2.0.59
- Apache Source code is uncompressed in /home/user directory
The three assumptions above will be dependent on your system setup and should be changed in the commands below as(if) appropriate.
- Hack apr-config located in the /usr/local/apache2/bin directory so the LDFLAGS will have the "-lz" value similar below:
LDFLAGS="-lz"
- Download and extract apache httpd source code and navigate to the /home/user/httpd-2.0.59/modules/filters directory
- Run the following command while in the modules/filters directory:
/usr/local/apache2/bin/apxs -c mod_deflate.c
- Copy the compiled mod_deflate.so into the apache2/modules directory using the following command:
cp .libs/mod_deflate.so /usr/local/apache2/modules/
- Edit the Apache configuration (apache2/conf/httpd.conf) and append the following lines:
LoadModule deflate_module modules/mod_deflate.so
# 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
- Restart apache by invoking the following command while in the apache2/bin directory
apachectl restart
if on ssl, stop apachectl first and restart in ssl modeapachectl stop
apachectl startssl
9 comments:
Thanks :) its really worked for me.
Rgds
Anand
Glad to help :)
amazing instructions. Worked for me as well. One question do we need to remove -lz from LDFLAGS after we done? What is it for? As for everything else it worked really well. I went to http://www.whatsmyip.org/http_compression/ to test it, you might want to modify the post so people can test the settings right away.
Thank you so much
Buy archlord money and flyff goldand flyff moneyorflyff power leveling or2moons dilI be to aoc gold go to age of conan gold
Very helpful, works ok. Thanks !
Please receive my congratulations and thanks for a very detailed and efficient post that saved my butt today !
Cheers
Alex
Thank you so much, it works for me too
I want to enable compression in apache. For the same I am trying to use deflate module of apache.
I have already installed apache 2. But it is a default installation and in that mod_deflate is not enable. Now I am compiling mod_deflate module by using following commands:
cd /usr/local/src/httpd-2.2.21/modules/filters/
/usr/local/apache/bin/apxs -i -c -Wl,lz mod_deflate.c
After doing it I have added following line in my httpd.conf file
LoadModule deflate_module modules/mod_deflate.so
but as soon as i do syntax check I am getting following error httpd: Syntax error on line 417 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_deflate.so into server: /usr/local/apache/modules/mod_deflate.so: undefined symbol: inflate
Following is the output of ldd command
linux-gate.so.1 => (0x00b2d000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00110000)
/lib/ld-linux.so.2 (0x008e6000)
Please help as i dont want to compile apache again.
I want to enable compression in apache. For the same I am trying to use deflate module of apache.
I have already installed apache 2. But it is a default installation and in that mod_deflate is not enable. Now I am compiling mod_deflate module by using following commands:
cd /usr/local/src/httpd-2.2.21/modules/filters/
/usr/local/apache/bin/apxs -i -c -Wl,lz mod_deflate.c
After doing it I have added following line in my httpd.conf file
LoadModule deflate_module modules/mod_deflate.so
but as soon as i do syntax check I am getting following error httpd: Syntax error on line 417 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_deflate.so into server: /usr/local/apache/modules/mod_deflate.so: undefined symbol: inflate
Following is the output of ldd command
linux-gate.so.1 => (0x00b2d000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00110000)
/lib/ld-linux.so.2 (0x008e6000)
Please help as i dont want to compile apache again.
Post a Comment