How To Install LAMP Stack on Rocky Linux 8

In this guide, we want to teach you How To Install LAMP Stack on Rocky Linux 8.

One of the oldest and most utilized software development methods, the LAMP stack allows web developers to build, deploy, and manage web applications. LAMP is an acronym that stands for Linux, Apache, MySQL, and PHP, and provides the components needed to host and manage web content.

How To Install LAMP Stack on Rocky Linux 8

Before you start to install the LAMP stack on Rocky Linux 8, you need to log in to your server as a non-root user with sudo privileges and set up a basic firewall. To do this, you can follow our article the Initial Server Setup with Rocky Linux 8.

Now follow the steps below to set up a LAMP stack on your server.

Install Apache on Rocky Linux 8

You need to install Apache as a web server on Rocky Linux 8. First, update your local package index with the following command:

sudo dnf update

Then, install Apache with the command below:

sudo dnf install httpd

When your installation is completed, start and enable your Apache service on Rocky Linux 8 with the commands below:

sudo systemctl enable httpd
sudo systemctl start httpd

Verify that your service is active and running on your server with the following command:

sudo systemctl status httpd

In your output you will see:

Output
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
Active: active (running) since Mon 2022-01-03 09:00:37 EST; 34s ago
Docs: man:httpd.service(8)
Main PID: 89138 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 11409)
Memory: 37.6M
CGroup: /system.slice/httpd.service
├─89138 /usr/sbin/httpd -DFOREGROUND
├─89139 /usr/sbin/httpd -DFOREGROUND
├─89140 /usr/sbin/httpd -DFOREGROUND
├─89141 /usr/sbin/httpd -DFOREGROUND
└─89142 /usr/sbin/httpd -DFOREGROUND

Here we assumed that you have enabled firewalld from the requirements, now you need to allow traffic for Apache through the Rocky Linux firewall with the following command:

sudo firewall-cmd --add-service=http --permanent

Reload the firewall to apply the new rules:

sudo firewall-cmd --reload

Now you can access the Apache default page by typing your server’s IP address in your web browser:

http://server-IP-address

you will see:

Apache landing page on Rocky Linux 8

Install MariaDB on Rocky Linux 8

At this point, you need to set up MariaDB as a database server on your Rocky Linux 8.

To install MariaDB, run the following command:

sudo dnf install mariadb-server mariadb

When your installation is completed, start and enable your service with the following command:

sudo systemctl enable mariadb
sudo systemctl start mariadb

Then, you need to secure your MariaDB installation with the following command:

 sudo mysql_secure_installation

You will be asked some questions, answer them as shown below:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y 
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y 
Disallow root login remotely? [Y/n] Y 
Remove test database and access to it? [Y/n] 
Reload privilege tables now? [Y/n] Y

To log in to your MariaDB console you can use the following command:

sudo mysql -u root -p

Set up PHP on Rocky Linux 8

By default, PHP 7.4 is available in the default Rocky Linux repository. The latest version of PHP is PHP 8.1.

To install the latest PHP on Rocky Linux 8, run the command below to enable the Remi repository first:

sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Then, get the available PHP modules on Rocky Linux 8 with the command below:

sudo dnf module list php

In your output you will see:

Output
AlmaLinux 8 - AppStream
Name      Stream       Profiles                       Summary
php       7.2 [d]      common [d], devel, minimal     PHP scripting language
php       7.3          common [d], devel, minimal     PHP scripting language
php       7.4          common [d], devel, minimal     PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name      Stream       Profiles                       Summary
php       remi-7.2     common [d], devel, minimal     PHP scripting language
php       remi-7.3     common [d], devel, minimal     PHP scripting language
php       remi-7.4     common [d], devel, minimal     PHP scripting language
php       remi-8.0     common [d], devel, minimal     PHP scripting language
php       remi-8.1     common [d], devel, minimal     PHP scripting language

The default module is PHP 7.2. Reset the default module with the command below:

sudo dnf module reset php

Then, enable the latest PHP module by using the following command:

sudo dnf module enable php:remi-8.1

Now you can install the latest PHP and its dependencies on Rocky Linux 8 with the command below:

sudo dnf install php php-fpm php-curl php-cli php-gd

When your installation is completed, verify your PHP installation by checking its version:

php -v

In your output you will see:

Output
PHP 8.1.1 (cli) (built: Dec 15 2021 02:00:45) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies

Also, you can test your PHP from your web server. To do this, create and open a smile PHP file with your favorite text editor, here we use vi:

sudo vi /var/www/html/info.php

Add the following content to the file:

<?php

phpinfo();

?>

When you are done, save and close the file.

Restart Apache to apply the changes:

sudo systemctl restart httpd

Now in your web browser type your server’s IP address followed by /info.php:

http://server-IP/info.php

You will see your PHP information in detail:

PHP info

After you have read your PHP info, for more security it’s better to remove it with the command below:

sudo rm /var/www/html/info.php

Conclusion

At this point, you learn to set up the LAMP stack on Rocky Linux 8.

Hope you enjoy using it.

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Stay informed and not overwhelmed, subscribe now!