In this tutorial, we will show you how to install LAMP Stack on AlmaLinux 8. For those of you who didn’t know, LAMP is a stack of open-source software to provide a fully functional web server environment for various PHP and other web applications. LAMP stands for Linux, Apache, MySQL database (or MariaDB alternatively), and PHP programming language.
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 LAMP Stack on an AlmaLinux 8. You can follow the same instructions for CentOS and Rocky Linux.
- A server running one of the following operating systems: AlmaLinux 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).
non-root sudo useror 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 LAMP Stack on AlmaLinux 8
Step 1. First, let’s start by ensuring your system is up-to-date.
sudo dnf update sudo dnf install epel-release
Step 2. Installing Apache on AlmaLinux 8.
Run the following command to install the Apache webserver:
sudo dnf install httpd httpd-tools
Once installed Apache services on your system, start all required services:
sudo systemctl enable httpd sudo systemctl start httpd sudo systemctl status httpd
Verify that the webserver is running and accessible by accessing your server’s IP address:
Step 3. Installing MariaDB on AlmaLinux 8.
MariaDB is a popular database server. The installation is simple and requires just a few steps as shown:
sudo dnf install mariadb-server mariadb
Once the installation is complete, start to enable it to start on system start-up using:
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
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:
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
To log into MariaDB, use the following command (note that it’s the same command you would use to log into a MariaDB database):
mysql -u root -p
Step 4. Installing PHP on AlmaLinux 8.
PHP is a popular scripting language that powers the dynamic content of millions of websites and apps. Now we run the commands below to install PHP:
sudo dnf install php-mysqlnd php-dom php-simplexml php-xml php-curl php-exif php-ftp php-gd php-iconv php-json php-mbstring php-posix
Now restart your web server so that Apache knows that it will be serving PHP requests as well:
sudo systemctl restart httpd
To confirm that our web server is accessible and that PHP is working as expected, we can create a file called
info.php inside the
sudo nano /var/www/html/info.php
Add the following line:
<?php phpinfo (); ?>
Step 5. Configure Firewall.
If you have the default firewalld enabled on AlmaLinux, you’ll have to open up ports 80 and 443 for incoming HTTP and HTTPS connections to your web server.
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Congratulations! You have successfully installed LAMP. Thanks for using this tutorial for installing LAMP (Apache, MariaDB, and PHP) Stack on your AlmaLinux 8 system. For additional help or useful information, we recommend you check the official LAMP website.