How to Check if mod_deflate is Enabled

mod_deflate is an Apache module that allows you to compress data sent from your web server to client browser. It helps you improve website speed and performance. In this article, we will look at how to check if mod_deflate is enabled on your Apache server. You can use it to check if mod_deflate is working. We will also look at how to enable mod_deflate in case it has not been done already.


How to Check if mod_deflate is Enabled

Here are the steps to check if mod_deflate is enabled in Apache web server.


1. Check if mod_deflate is enabled

Open terminal and run the following command to check the status of mod_deflate

$ sudo apachectl -t -D DUMP_MODULES | grep deflate

The above apachecetl command gets a list of all enabled modules and passes its output to grep command, where we search for string containing “deflate” for mod_deflate module.

If you see the following output it means mod_deflate is enabled. Else it is not enabled.

# deflate_module (shared)

Also read : How to Search in Nano Text Editor in Linux


2. Enable mod_deflate

If mod_deflate is not enabled in your Apache web server then run the following command to enable it

Ubuntu/Debian

$ sudo a2enmod 

Redhat/Fedora/CentOS

Open Apache configuration file at /etc/apache2/httpd.conf

$ sudo vi /etc/apache2/httpd.conf

Enable mod_deflate by uncommenting the following line, by removing # at its beginning.

#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

Also read : How to Create User in MongoDB


3. Configure mod_deflate

We need to also configure mod_deflate to be able to use it effectively. Create a new configuration file for mod_deflate

$ sudo vi /etc/apache2/mods-enabled/deflate.conf

Add the following lines to it.

<ifmodule mod_deflate.c="">
  # compress text, html, javascript, css, xml:
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE image/x-icon
  DeflateCompressionLevel 7
  ​DeflateMemLevel 8
  ​DeflateWindowSize 10
</ifmodule>

In the above code, AddOutputFilterByType specifies the different file types that we want to compress. We are compressing JS, CSS, XML, HTML files above. You can modify it as per your requirement.

DeflateCompressionLevel indicates the level of compress on a scale of 1 to 9, 1 being the lowest level of compression.

DeflateMemLevel specifies the amount of memory to be used by zlib for compression.

DeflateWindowSize indicates the compression window size.

Also read : How to Copy Files to Multiple Directories


4. Restart Apache Server

Restart Apache server to apply changes.

$ sudo apachectl graceful
OR 
$ sudo service apache2 restart

Also read : How to Install Joomla in Ubuntu


5. Test Compression

There are many third-party tools like HTTP Compression Test that will automatically check your website and tell if your web server is properly compressing data.

That’s it. mod_deflate wil now be up and running on your Apache server. If you have not enabled mod_deflate yet, it is advisable to do it. It really improves website speed & performance, and consequently increases search engine rankings.

Also read : How to Limit Request Per IP in Apache Server