Get live exchange rates in PHP
Install mod_pagespeed from source on CentOS
I’m not going to write about whether I think mod_pagespeed is good or not, is it suitable for your website, why you should use it or not. I’ll focus only on installation and configuration.
Since you’re here and still reading I assume you want to speed up your website with Google’s mod_pagespeed. If you’re on a machine where for any reason installing from .rpm or .deb is not possible read on.
Dependencies
First we need to install Chromium ‘depot_tools’, which are used to build multiple open-source projects with dependencies on other open-source projects.
mkdir ~/bin cd ~/bin svn co http://src.chromium.org/svn/trunk/tools/depot_tools
You will need to add the depot_tools to your path. i.e. in bash:
export PATH=$PATH:~/bin/depot_tools
Check out mod_pagespeed and dependencies
# make a directory, any directory is fine
mkdir ~/mod_pagespeed
cd ~/mod_pagespeed
# always check for latest version by going to http://modpagespeed.googlecode.com/svn/tags/ in your browser
# then copy link to /src ie. http://modpagespeed.googlecode.com/svn/tags/X.X.X.X/src
# this will download all source code
gclient config http://modpagespeed.googlecode.com/svn/tags/0.9.1.1/src gclient sync --force
Compile mod_pagespeed
BUILDTYPE
defaults to 'Debug', but we need a production ready build
cd ~/mod_pagespeed/src make BUILDTYPE=Release
Install mod_pagespeed
First edit centos.sh
and change parameters according to your needs. Then run it.
vim install/centos.sh
cd install
./centos.sh
./centos.sh staging
./centos.sh install
Restart Apache
/etc/init.d/httpd restart
Check if Apache loaded mod_pagespeed.
httpd -M # list static and shared modules, mod_pagespeed should be here
httpd -l # list compiled in modules
If above doesn’t work try something like this:
/usr/src/httpd/httpd -M
/usr/src/httpd/httpd -l
If mod_pagespeed is there, go to /etc/httpd/pagespeed.conf
and configure it. I’ll write a bit more about configuring mod_pagespeed in my next post. If it’s not there make sure mod_pagespeed.so
is in Apache module directory and if not copy it there.
locate mod_pagespeed.so
cp /tmp/mod_pagespeed.install/mod_pagespeed.so /usr/local/apache2/modules/
Edit your Apache configuration file and add Include /etc/httpd/pagespeed.conf
if it isn’t already there.
Next edit /etc/httpd/pagespeed.conf
and add below line
LoadModule pagespeed_module /usr/local/apache2/modules/mod_pagespeed.so
Restart Apache and you should see something like X-Mod-Pagespeed: 0.9.1.1-173
in your website’s response headers.
References:
http://code.google.com/speed/page-speed/docs/using_mod.html
http://code.google.com/p/modpagespeed/wiki/HowToBuild