How to Install and Configure OpenLiteSpeed with PHP 8.0 on CentOS 8

Openlightspeed is defined as one of the most growing HTTP web servers in the world. its opensource, strong, lightweight HTTP, and can be managed from GUI.

Openlightspeed can handle a hundred thousand concurrent connections with low resource of CPU and RAM and can support many Os distribution like FreeBSD/Linux and Macos

System information

OS = CentOS 8.3

Hostname = labx.tungdt.net

Step1 : Install epel-release repository

yum install epel-release

Update Server and reboot the Server

yum update & reboot

Install openligtspeed Server

First Add the OpenLiteSpeed repository for CentOS 8 using the command below.

rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm

Install Openlitespeed

yum install -y openlitespeed

Once the installation is done, start the OpenLiteSpeed service and add it to the system boot.

systemctl start lsws

systemctl enable lsws

You may check the status with:

 

Step 2: Install Lightspeed with PHP8

Install Extra Php Modules

yum -y install lsphp80-mysqlnd lsphp80-gd lsphp80-process lsphp80-mbstring lsphp80-xml lsphp80-pdo lsphp80-imap lsphp80-soap lsphp80-bcmath lsphp80-zip

Step 3: Install MariaDB

You can install Mariadb-server and client with

yum install mariadb mariadb-server -y

Enable and start mariadb

systemctl status mariadb.service
systemctl enable mariadb.service

Set Root mysql password with running command.

mysql_secure_installation

Set Root mysql password with running command.

mysql_secure_installation
[root@labx ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@labx ~]#

Check if mysql root password working

[root@labx ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 18
Server version: 10.3.27-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Step 4: OpenliteSpeed Setup and Configuration

OpenLitespeed dashboard running on port ‘7080’, we have to exclude this port from the firewalld.

firewall-cmd –add-port=7080/tcp –permanent
firewall-cmd –reload

Set admin console password :

Please run admpass.sh to generate new password for admin user.

cd /usr/local/lsws/admin/misc
sh admpass.sh

Change PHP version in openlitespeed

Edit /usr/local/lsws/conf/httpd_config.conf

and replace (php version, in my case is 73)

$SERVER_ROOT/lsphp73/bin/lsphp

With

$SERVER_ROOT/lsphp80/bin/lsphp

Save and exit

Restart Openlitespeed

systemctl restart lsws

We are ready to go.

Check the test console

http://Ip:/8088

The admin console is http://ip:7080 and login with already generated admin password