The Web is changing and it should. HTTP 2.0 or HTTP/2 was released on 14th May 2015 with many great features, which helps business and ultimately enhances the user experience.

A Little bit of background…

http-protocol-history

So as you can see HTTP/2.0 is a second major version of the HTTP protocol history. Some of the goals for HTTP 2 are: –

  • Data compression of HTTP headers
  • Server pushes technologies
  • Loading page elements in parallel over a single TCP connection

All above made me think of two things – Security & Optimization

So are you ready to implement HTTP 2?

Well, if you are using Apache or Nginx then you got to little wait as a supported version is yet to be released.

LiteSpeed is a first web server to support HTTP 2, which I will explain how to install, enable & test it.

LiteSpeed is the fourth largest web server and powering over 98% of HTTP/2 websites as I write.

litespeed-market-share

OpenLiteSpeed is open source version of Lite Speed web server. HTTP/2 is supported in 1.3.11 and 1.48+ versions.

So in this guide, I will install 1.4.10 on Linux. There are two ways we can install – one by compiling the source code and second by their repository. I will walk you through both procedures.

Download OpenLiteSpeed 1.4.10

  • Downloadable is available at download page

http://open.litespeedtech.com/mediawiki/index.php/Downloads

  • Alternative, you can try direct link to download 1.4.10 by clicking here
  • Transfer the downloaded file to the server where you wish to install

Pre-requisite

  • OpenSSL 1.0.1+
  • OpenSSL-devel
  • gcc
  • gcc-c++
  • pcre
  • geoip
  • zlib
  • expat
  • autoconf

You can install them by using following commands

# yum install openssl openssl-devel gcc gcc-c++ pcre pcre-devel gcc autoconf expat-devel geoip-devel zlib-devel

Install OpenLiteSpeed – Using Source Code

  • Go to folder where you have openlitespeed-1.4.10.tgz
  • Extract it by using the following command
# gunzip -c openlitespeed-1.4.10.tgz | tar xvf –
  • It will create another folder in present working directory – openlitespeed-1.4.10
  • Go to openlitespeed-1.4.10
# cd openlitespeed-1.4.10
  • Compile it using following commands
# ./configure –enable-http2
# make
# make install

It will take few minutes, and at the end, you will have confirmation on successfully installed.

[OK] The startup script has been successfully installed!
Installation finished, Enjoy!

Woho! You have installed LiteSpeed web server, and it’s time to enable HTTP/2.0.

Exciting? Let’s do it.

You need to enable HTTP/2.0 with WebAdmin Console, which is accessible using hostname:7080

Before we login into WebAdmin, need to change the credential. So here is how you can do it.

  • Go to /usr/lcoal/lsws/admin/misc
# cd /usr/lcoal/lsws/admin/misc
  • Execute admpass.sh
# ./admpass.sh
  • It will prompt to enter user/password and once done, will give you confirmation that it’s updated successfully.
Administrator's username/password is updated successfully!

Install OpenLiteSpeed – Using Repository

  • Add the repository in Linux/CentOS 6
# rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el6.noarch.rpm
  • Install OpenLite using yum command
# yum install openlitespeed
  • It will take few seconds and will be installed under /usr/local/lsws

Enable HTTP/2.0

  • Login into WebAdmin
  • Go to Listeners >> SSL
  • Click on Edit for “Security & Features”

litespeed-http2-enable

  • Select HTTP/2 and click on Save

litespeed-http2

  • Restart LiteSpeed. You can use a startup script to do so.
# /etc/init.d/lsws restart

Note: if SSL is not configured, then you need to configure it first.

So now, HTTP 2.0 is enabled and ready to test it.

Test if HTTP/2.0 is enabled

  • Enter the URL and test it

http2-test

So you can see, it supports HTTP/2.0

I hope above guide helps you to install and enable HTTP/2.0 in LiteSpeed web server.