• Get In Touch
January 23, 2017

How to Install LiteSpeed Web Server on CentOS 7

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

LiteSpeed web server is a popular choice and an alternative for replacing the Apache web server. It is the 4th most popular web server on the the Internet these days. The LiteSpeed web server will improve your system performance and lower its operating cost. It is compatible with commonly used Apache features like mod_rewrite, .htaccess, and mod_security. Using LiteSpeed web server you can load apache configuration files directly and it works as a drop-in replacement for the apache web server. This guide will help you to install the LiteSpeed web server on CentOS 7.

Requirements

To install LiteSpeed web server you’ll only need a CentOS 7 server with root privileges on it. Remember you can always switch between root user and non root user using sudo command.

Updating the System

Before going through the installation process it is recommended you update the system to upgrade the available packages and to do so run following command.

yum -y update

Installation must be performed in a command line terminal. For testing purposes, LiteSpeed Web Server can be installed into a home directory by a non-privileged user. For production use, it should be installed into a system directory.

Install Developer Tools

To download and install LiteSpeed web server first we have to install the developer tools that are required for installing it.

Please run following command to install developer tools.

yum groupinstall 'Development Tools'

Now you’ll have to install libraries for LiteSpeed web server so install them all using this command as shown below.

yum install libxml2-devel.x86_64 openssl-devel.x86_64 bzip2-devel.x86_64 libcurl-devel.x86_64 db4-devel.x86_64 \
libjpeg-devel.x86_64 libpng-devel.x86_64 libXpm-devel.x86_64 freetype-devel.x86_64 gmp-devel.x86_64 \
libc-client-devel.x86_64 openldap-devel.x86_64 libmcrypt-devel.x86_64 mhash-devel.x86_64 freetds-devel.x86_64 \
zlib-devel.x86_64 mysql-devel.x86_64 ncurses-devel.x86_64 pcre-devel.x86_64 unixODBC-devel.x86_64 postgresql-devel.x86_64 \
sqlite-devel.x86_64 aspell-devel.x86_64 readline-devel.x86_64 recode-devel.x86_64 net-snmp-devel.x86_64 \
libtidy-devel.x86_64 libxslt-devel.x86_64 t1lib-devel.x86_64

Downloading LiteSpeed

We have successfully installed the developer tools and libraries so now we can further proceed to downloading the LiteSpeed package.

The version for 64Bit Linux systems should be the Linux (x86_64) which is default on today’s server so we have to install LiteSpeed web server compatible with this version.

But if you are unsure about the kernel version then run the command:

uname -a

It will return the kernel version. If it contains the word “x86_64” then you run a 64Bit Kernel.

Now we will use wget command to download the latest stable release of LiteSpeed web server, You can check for latest release on this LiteSpeed Website .

If in case you don’t have wget package already installed on your system then you can download using yum install wget.

Now use the wget command to download the LiteSpeed web server as shown below.

wget http://www.litespeedtech.com/packages/5.0/lsws-5.0.12-ent-x86_64-linux.tar.gz

Now extract the downloaded file and to do so run below given command.

tar -zxvf lsws*

Installing LiteSpeed

The installation will be started by running install.sh file located in LiteSpeed folder. So change the directory to LiteSpeed and then run below given command.

./install.sh

By running this command, the license agreement terms will be prompted on your screen. If you are in agreement of the terms then please press space bar several times to scroll down untill you’ll see this:

IMPORTANT: In order to continue installation you must agree with above
    license terms by typing "Yes" with capital "Y"!

Press a capital Y to continue installation now you’ll be asked to select the directory for installation. To install in the default directory simply hit Enter button when you’ll see this on your screen.

Please specify the destination directory. You must have permissions to create and manage the directory. It is recommended to install the web server at /opt/lsws, /usr/local/lsws or in your home directory like '~/lsws'.
ATTENTION: The user 'nobody' must be able to access the destination directory.
Destination [/usr/local/lsws]:

Now you’ll be asked to enter an administrator username and password so please provide the details and hit enter button. The password is necessary for logging into web interface later. The screen will look like following:

Please specify the user name of the administrator.
This is the user name required to log into the administration web interface.
User name [admin]:

In the event that you want to use the name “admin”, simply press enter. But, we recommend that you should change the name for security reasons. Enter your custom administrator username and hit enter.

You will now be asked to enter a password for your administrator user. You will need to use this password later to access the web interface.

Please specify the administrator's password.
This is the password required to log into the administration web interface.
Password:

The password that you use must be strong enough that no one can guess or access by random methods. Otherwise, they may be able to manage, and access your server.

You will now be asked to enter an email address, to mail any important or urgent information related to installation or may be for maintenance of your server so please enter your email address, you can add more than one email addresses separated by commas.

Please specify administrators' email addresses.
It is recommended to specify a real email address,
Multiple email addresses can be set by a comma
delimited list of email addresses. Whenever something
abnormal happened, a notificiation will be sent to
emails listed here.
Email addresses [root@localhost]:

For example:

Email addresses [root@localhost]: admin@domain.com

You will now be asked to provide the user name under which this server is run. You can either create a separate user with non-root privileges and provide the details here or choose the default user “nobody”. You should see following output on your screen.

As you are the root user, you must choose the user and group whom the web server will be running as. For security reason, you should choose a non-system user who does not have login shell and home directory such as 'nobody'.
User [nobody]:

If you are unsure of what to enter then it is best to leave the username as ”nobody”. Continue this in the next prompt which resembles the following:

Please choose the group that the web server running as.
User 'nobody' is the member of following group(s): nobody
Group [nobody]:

You’ll now be asked to provide the details on which port LiteSpeed shall listen. Port 80 is default port for web servers and we recommend you to keep that. This helps in simplifying the URL for the visitors, which otherwise would have required the mentioning of the port number after the URL. For specialized access, this port number may be changed to appropriate value. You should see following output on your screen.

Please specify the port for normal HTTP service.
Port 80 is the standard HTTP port, only 'root' user is allowed to use
port 80, if you have another web server running on port 80, you need to
specify another port or stop the other web server before starting LiteSpeed
Web Server.
You can access the normal web page at http://<YOUR_HOST>:<HTTP_PORT>/
HTTP port [8088]: 80

Simply enter the port number. As shown above we entered the port number 80 which is default port for web servers.

Now you’ll asked to provide a separate administration interface to ease management of the web server. Port 7080 is the default port that it runs on. You can change it if you are specific about listening on other port. But remember to open up administration web interface, the web URL must be given as http://domain.com:port.
You should see following output on your screen as shown below.

Please specify the HTTP port for the administration web interface, which can be accessed through http://<YOUR_HOST>:<ADMIN_PORT>/
Admin HTTP port [7080]:

The next prompt will ask you for the details regarding usage of PHP. If you are using a CMS like wordpress or any other then PHP needs to be enabled. To enable PHP please press Y otherwise type N.

You can setup a global script handler for PHP with the pre-built PHP engine
shipped with this package now. The PHP engine runs as Fast CGI which 
outperforms Apache's mod_php.
You can always replace the pre-built PHP engine with your customized PHP engine.
Setup up PHP [Y/n]: Y

After this prompt, you can specify a different PHP file extension. Normally it is not necessary to specify a different extension here, so just hit enter and proceed further.

Suffix for PHP script(comma separated list) [php]:

Now you’ll be asked to provide details in case you are interested in using AWStats. If you want detailed visitor information then type Y otherwise type N to continue further installation process.

AWStats is a popular log analyzer that generates advanced web server statistics. LiteSpeed web server seamlessly integrates AWStats into its Web Admin Interface. AWStats configuration and statistics update have been taken care of by LiteSpeed web server.
Note: If AWStats has been installed already, you do not need to install again unless a new version of AWStats is available.
Would you like to install AWStats Add-on module [y/N]? N

Now you’ll see following output on your screen.

Would you like to have LiteSpeed Web Server started automatically
when the server restarts [Y/n]? Y

We recommend you to type Y to avoid down times in a server.
Now you’ll see a result like this on your screen.

[OK] The startup script has been successfully installed!
Would you like to start it right now [Y/n]? Y

You can type N to start it manually later but we recommend you to type Y and start it right now.

You’ll see following message displayed on your screen on successful installation of LiteSpeed web server.

LiteSpeed Web Server started successfully! Have fun!

You can access your LiteSpeed server open your favorite web browser and visit http://yourserverIP and you’ll see a default web page.

Configure Firewalld

Run these below given commands to configure firewalld.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-port=7080/tcp

Now reload the firewalld services using this command as shown below.
firewall-cmd --reload.

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

Share this Article!

Related Posts

Node.js Authentication – A Complete Guide with Passport and JWT

Node.js Authentication – A Complete Guide with Passport and JWT

Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will be avoided or at least […]

Node.js and MongoDB: How to Connect MongoDB With Node

Node.js and MongoDB: How to Connect MongoDB With Node

MongoDB is a document-oriented NoSQL database, which was born in 2007 in California as a service to be used within a larger project, but which soon became an independent and open-source product. It stores documents in JSON, a format based on JavaScript and simpler than XML, but still with good expressiveness. It is the dominant […]

Using MySQL with Node.js: A Complete Tutorial

Using MySQL with Node.js: A Complete Tutorial

Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you need to scale an application, […]

Node.Js Vs Django: Which Is the Best for Your Project

Node.Js Vs Django: Which Is the Best for Your Project

Django and NodeJs are two powerful technologies for web development, both have great functionality, versatile applications, and a great user interface. Both are open source and can be used for free. But which one fits your project best? NodeJs is based on JavaScript, while Django is written in Python. These are two equally popular technologies […]

Nodejs Vs PHP:  Which Works Best?

Nodejs Vs PHP: Which Works Best?

Before getting into the “battle” between Node.js and PHP we need to understand why the issue is still ongoing. It all started with the increased demand for smartphone applications, their success forcing developers to adapt to new back-end technologies that could handle a multitude of simultaneous requests. JavaScript has always been identified as a client-side […]