- 1 How to install mod_pagespeed Apache module on Ubuntu 14.10
- 2 Ubuntu 14.10 mod_pagespeed configuration
- 3 mod_pagespeed default CoreFilter list
- 4 How to configure mod_pagespeed to use Memcached
- 5 How to bypass mod_pagespeed filters
- 6 How to include extra filters for mod_pagespeed
- 7 mod_pagespeed .htaccess directives
- 8 Install PageSpeed Module (mod_pagespeed) on cPanel Server
- 9 How to use Memcached with ModPageSpeed on a cPanel Server
- 10 Additional Links
How to install mod_pagespeed Apache module on Ubuntu 14.10
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb dpkg -i mod-pagespeed-*.deb apt-get -f install
After the module is installed, Apache should already have been restarted and the module loaded, to make sure this is the case you can run
Ubuntu 14.10 mod_pagespeed configuration
To modify the default settings for mod pagespeed you can edit the main configuration file, which is called pagespeed.conf. If you are using Ubuntu, this can be found under the mods-enabled directory for apache. If you make any changes to pagespeed.conf you must restart apache or else the new settings will not take effect.
mod_pagespeed default CoreFilter list
By default, pagespeed will enable and use this list of filters, also know as the "core filters". Google considers all of these filters to be "safe" meaning that they shouldn't cause issues with most websites and CMS. I've found that the core filters work perfectly fine with WordPress and MediaWiki. If you wish to enable more filters you certainly can, but the list below contains the already enabled filters.
How to configure mod_pagespeed to use Memcached
To configure mod_pagespeed to use Memcached simply add the line below, and optionally the lines below it to enable moar caches that can be shared by all the apache processes. Obviously this assumes you have Memcached installed on the server and that it is listening on an open port that is accessible via localhost. If you are using cpanel you will want to edit the pagespeed.conf file located at /usr/local/apache/conf/pagespeed.conf, if you are using Ubuntu the file will be located at /etc/apache2/mods-enabled/pagespeed.conf
##Memcached## ModPagespeedMemcachedServers localhost:11211 ##File Cache, Shared Memory Cache, and LRU Cache## ModPagespeedFileCachePath "/var/mod_pagespeed/cache/" ModPagespeedCreateSharedMemoryMetadataCache "/var/mod_pagespeed/cache/" 51200 ModPagespeedFileCacheSizeKb 102400 ModPagespeedLRUCacheKbPerProcess 8192 ModPagespeedLRUCacheByteLimit 65536
You can view memcached stats by echoing stats and piping that into netcat.
echo stats | nc 127.0.0.1 11211
To view pagespeed specific memcached statistics you can simply curl the url from localhost if you have access to the server. This will display all of the pagespeed and memcached specific information
How to bypass mod_pagespeed filters
By default, the module uses "CoreFilters", which is a safe set of rules that most sites benefit from, if you want to disable everything and only enable certain items, you can do this globally here, however it's recommended to just enable / disable things per vhost using .htaccess or vhost directive. You would just uncomment the line below
# ModPagespeedRewriteLevel PassThrough
How to include extra filters for mod_pagespeed
If you want to globally enable more filters than the core rules offer you can uncomment these lines and just add the filters you want to enable.
mod_pagespeed .htaccess directives
You can specify additional filters in .htaccess, or in the main apache2.conf, or on the vhost level using a directive like this:
Install PageSpeed Module (mod_pagespeed) on cPanel Server
The easiest way to install mod_pagespeed on a cPanel server is to use git to clone the cpanel / pagespeed project from github. I've tested this out on CentOS 6.5 and CentOS 6.6 with WHM 11.48, and have never noticed any issues with the plugin, or with this installation method.
/usr/local/cpanel/3rdparty/bin/git clone https://github.com/pagespeed/cpanel.git /tmp/pagespeed/
After you've cloned the project using git, cd into /tmp/pagespeed/Easy and create a tarball that EasyApache can use to install the module when you run future EasyApache.
cd /tmp/pagespeed/Easy tar -zcvf Speed.pm.tar.gz pagespeed mkdir -p /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy mv Speed.pm Speed.pm.tar.gz -t /var/cpanel/easy/apache/custom_opt_mods/Cpanel/Easy/ cd && rm -rf /tmp/pagespeed
At this point you should be able to run EasyApache, and when you go to customize profile, there should be a "mod_pagespeed" entry under the Apache module section. Make sure this is selected / checked and then tell EasyApache to save and build with the new profile. This can take up to 20 minutes to complete, but all your websites should remain online while this process occurs.
Now you can check to make sure the EA finished successfully and the module is enabled:
httpd -M ##You should see pagespeed_module (shared)
How to use Memcached with ModPageSpeed on a cPanel Server
If you are using cPanel and have mod_pagespeed installed you can modify the configuration file so that pagespeed uses memcached. This is not the base by default and if you want to speed up the site and use memory instead of just using disk you can edit the file listed below and enter in the IP and port of Memcached. In this case I have Memcached running on the same host. You will need to start apache after you are done editing the file.
vim /usr/local/apache/conf/pagespeed.conf ##Add These Lines ModPagespeedMemcachedServers 127.0.0.1:11211 ModPagespeedMemcachedThreads 1 ModPagespeedCreateSharedMemoryMetadataCache "/var/mod_pagespeed/cache" 51200
- PageSpeed can be added to any server runtime and applied dynamically to any application. This is available as a module for Apache and Nginx. This helps to optimize resources based on a lot of "web optimization filters".