However, there are some prerequisites to enabling HTTP/2 for your website. In this article, I will show how to get HTTP/2 working on your site running on Apache webserver.
Prerequisites to Enabling HTTP/2
First, enable HTTPS for your site. Configure HTTPS for your website, if you do not already have the SSL certificate or use Let’s Encrypt which is an open-source SSL certificate.
Older versions of Apache do not support HTTP/2. You need to have Apache 2.4.24 and above. If you are using Ubuntu 16.04 LTS, then upgrade to Ubuntu 18.04 LTS.
By default, PHP runs on Apache via mod_php. According to Apache documentation, HTTP/2 is not compatible with Apache’s prefork multi-processing module. Moreover, prefork is not most people favourite now. A switch to a modern module is better.
Therefore, switch to php7.x-fpm from mod_php. Run the following commands to effect the necessary changes.
Enable HTTP/2 in Apache
Now, let’s enable mod_http2 module. Use the command below to enable mod_http2:
Finally, enable HTTP/2 protocol by updating /etc/apache2/apache2.conf with the code below: