RHEL BasedRocky LinuxTutorials

How To Install LEMP Stack on Rocky Linux 8

Install LEMP Stack on Rocky Linux 8

In this tutorial, we will show you how to install LEMP Stack on Rocky Linux 8. For those of you who didn’t know, The term LEMP is an acronym for Linux, Nginx, MariaDB or MySQL, and PHP. This is a stack that is normally used together to build powerful websites and web applications.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the LEMP Stack on Rocky Linux. 8.

Prerequisites

  • A server running one of the following operating systems: Rocky Linux 8.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install LEMP Stack on Rocky Linux 8

Step 1. The first step is to update your system to the latest version of the package list. To do so, run the following commands:

sudo dnf check-update
sudo dnf update
sudo dnf install dnf-utils
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Step 2. Installing Nginx on Rocky Linux 8.

By default, Nginx is available on Rocky Linux 8 base repository. Now run the following command below to install the Nginx webserver to your system:

sudo dnf install nginx

After successfully installation, enable Nginx (to start automatically upon system boot), start the webserver, and verify the status using the commands below:

sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx

Configure Firewall Rules.

By default, Nginx listens on ports 80 and 443. If any firewall is installed and configured on your server, then you will need to allow both ports via firewalld. You can allow them with the following command:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

You can verify by listing the current firewall settings:

sudo firewall-cmd --permanent --list-all

Test Nginx Web Server.

Now, open your web browser and access the Nginx default page using the URL http://your-server-ip-address. You should see the Nginx default page on the following screen:

Install LEMP Stack on Rocky Linux 8

 

Step 3. Installing MariaDB on Rocky Linux 8.

By default, MariaDB is not available on Rocky Linux 8 base repository. Now run the following command below to add the MariaDB repository to your system:

sudo nano /etc/yum.repos.d/mariadb.repo

Add the following line:

# MariaDB 10.6 RedHat repository list - created UTC
# https://mariadb.org/download/

[mariadb]
name = MariaDB
baseurl = https://mirror.rackspace.com/mariadb/yum/10.6/rhel8-amd64
module_hotfixes=1
gpgkey=https://mirror.rackspace.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

Then, run the following command to install the MariaDB package on your Rocky Linux:

sudo dnf update
sudo dnf install mariadb-server mariadb

Once the installation is complete, now enable MariaDB (to start automatically upon system boot), start, and verify the status using the commands below:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

Secure MariaDB on Rocky Linux.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. you should read and below each step carefully which will set a root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB:

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Testing the MariaDB installation.

Now that MariaDB is installed, you can test the connection to your MariaDB server:

mysql -u root -p
  • mysql is the name of the command you are using to connect to the MariaDB server.
  • -u root tells MariaDB that you want to log in as the root user.
  • -p ensures that you are prompted to enter your password before the MariaDB shell will connect.

Step 4. Installing PHP on Rocky Linux 8.

By default, PHP is available on Rocky Linux 8 base repository. Now run the following command below to reset the default PHP module and enable PHP 8 module using the following command:

sudo dnf module reset php
sudo dnf module enable php:remi-8.1

Note: In case you want to enable some other module version of PHP, then just change the version number in the above-given command.

Finally, install PHP packages using the command below:

sudo dnf install php php-mysqlnd php-fpm php-opcache php-gd php-xml php-mbstring

Verify the installation:

php -v

After the installation is complete, start the PHP-fpm service and enable it to run automatically at every boot using the following command:

sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm

Let’s now check how to configure Nginx to execute PHP using PHP-FPM:

sudo nano /etc/php-fpm.d/www.conf

Find the lines below for the user and group and change them to Nginx:

user = nginx
group = nginx

Save and close the file, then reload the PHP-FPM service:

sudo systemctl restart php-fpm

Testing PHP on Rocky Linux 8:

sudo nano /usr/share/nginx/html/info.php

Add the following file:

<?php
phpinfo();
?>

Save and close the file, then open your browser and access the domain name or server IP followed by info.php:

http://your-server-ip-address/info.php

Congratulations! You have successfully installed LEMP. Thanks for using this tutorial for installing the LEMP (Nginx, MariaDB, and PHP) Stack on your Rocky Linux 8 system. For additional help or useful information, we recommend you check the official LEMP website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button