How to Install LAMP Stack on RHEL, CentOS, Rocky & AlmaLinux
Jun 20, 2025 am 09:27 AMA LAMP stack is a group of four distinct software components (Linux, Apache, MySQL, and PHP) used by developers or web programmers to build and deploy websites or applications.
This guide will focus on installing and configuring the popular LAMP stack along with PhpMyAdmin on the latest version of RHEL and RHEL-based systems such as CentOS, Oracle Linux, Rocky, and AlmaLinux.
Table of Contents
#### RequirementsBased on your specific distribution, follow the links below to perform a minimal system installation using a static IP Address for network configuration.
- How to Download and Install RHEL 9 for Free
- How to Download and Install RHEL 8 for Free
- Installation of CentOS Stream 9 Linux
- Installation of CentOS 7 Linux
- How to Install Rocky Linux 9 Step by Step
- How to Install AlmaLinux 9 Step by Step
Step 1: Install Apache Web Server
1. After completing a minimal system installation and assigning a Static IP Address to your server’s network interface, proceed to install the Apache (httpd) service package from official repositories using the following yum command.
<code># yum install httpd</code>
2. Once the Apache installation is complete, use the following commands to control the Apache daemon since RHEL and CentOS have transitioned their init scripts from SysV to Systemd – Why was init Replaced with Systemd in Linux?
<code># systemctl start httpd # systemctl enable httpd # systemctl status httpd</code>
3. Next, ensure access to Apache is allowed by opening ports 80 and 443 in the Firewall using firewall-cmd, which is the default utility for managing Firewalld via the command line.
<code># firewall-cmd --add-service=http # firewall-cmd --add-service=https # systemctl restart firewalld</code>
NOTE: Keep in mind that this rule won’t persist after reboot or Firewalld restart because it's temporary. To make firewall rules permanent, add the --permanent
option and restart Firewalld to apply them.
<code># firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld</code>
Some useful Firewalld commands for managing the firewall are shown below:
<code># firewall-cmd --state # firewall-cmd --list-all # firewall-cmd --list-interfaces # firewall-cmd --get-service # firewall-cmd --query-service service_name # firewall-cmd --add-port=80/tcp</code>
4. To verify Apache functionality, open a remote browser and navigate to your server's IP Address using the HTTP protocol in the URL address bar. A default page should appear similar to the one shown below.
<code>http://server_IP</code>
5. Currently, Apache's DocumentRoot directory is set to /var/www/html, which doesn't contain an index file by default. If you want to see a list of files in your DocumentRoot folder.
Edit the Apache welcome configuration file and change the Indexes directive from –
to
inside the LocationMatch block, as demonstrated in the screenshot below.
<code># vi /etc/httpd/conf.d/welcome.conf</code>
6. Save your changes, restart the Apache service to apply them, and refresh your browser to see the updated display.
<code># systemctl restart httpd</code>
Step 2: Install PHP Support for Apache
7. Before installing PHP support for Apache, retrieve a complete list of available PHP modules and extensions using the following command.
<code># yum search php</code>
8. Based on the type of application you plan to run, install the necessary PHP modules from the list above. For basic MySQL/MariaDB support in PHP and PhpMyAdmin, install these modules.
<code># yum install php php-mysql php-pdo php-gd php-mbstring</code>
9. To obtain full PHP information through your browser, create an info.php file in the Apache Document Root using the following command, restart the httpd service, then visit the URL http://m.miracleart.cn/link/1f49216e5390c53da48b0e5a77a5c48c in your browser.
<code># echo "<?php phpinfo(); ??>" > /var/www/html/info.php # systemctl restart httpd</code>
10. If there's an error related to PHP Date and Timezone settings, edit the php.ini configuration file, locate the date.timezone line, remove the semicolon if present, specify your location, and restart the Apache service.
<code># vi /etc/php.ini</code>
Update the date.timezone line as shown, referencing the PHP Supported Timezones list.
<code>date.timezone = Continent/City</code>

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Are you looking for good software to write mathematical equations? If so, this article provides the top 5 equation editors that you can easily install on your favorite Linux distribution.In addition to being compatible with different types of mathema

Linux administrators should be familiar with the command-line environment. Since GUI (Graphical User Interface) mode in Linux servers is not commonly installed.SSH may be the most popular protocol to enable Linux administrators to manage the servers

Gogo is a remarkable tool to bookmark directories inside your Linux shell. It helps you create shortcuts for long and complex paths in Linux. This way, you no longer need to type or memorize lengthy paths on Linux.For example, if there's a directory

PPA is an important tool for Ubuntu users to expand their software sources. 1. When searching for PPA, you should visit Launchpad.net, confirm the official PPA in the project official website or document, and read the description and user comments to ensure its security and maintenance status; 2. Add PPA to use the terminal command sudoadd-apt-repositoryppa:/, and then run sudoaptupdate to update the package list; 3. Manage PPAs to view the added list through the grep command, use the --remove parameter to remove or manually delete the .list file to avoid problems caused by incompatibility or stopping updates; 4. Use PPA to weigh the necessity and prioritize the situations that the official does not provide or require a new version of the software.

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

How to quickly generate test files of a specified size? It can be achieved using command line tools or graphical software. On Windows, you can use fsutilfilecreatenew file name size to generate a file with a specified byte; macOS/Linux can use ddif=/dev/zeroof=filebs=1Mcount=100 to generate real data files, or use truncate-s100M files to quickly create sparse files. If you are not familiar with the command line, you can choose FSUtilGUI, DummyFileGenerator and other tool software. Notes include: pay attention to file system limitations (such as FAT32 file size upper limit), avoid overwriting existing files, and some programs may

The key to installing dual systems in Linux and Windows is partitioning and boot settings. 1. Preparation includes backing up data and compressing existing partitions to make space; 2. Use Ventoy or Rufus to make Linux boot USB disk, recommend Ubuntu; 3. Select "Coexist with other systems" or manually partition during installation (/at least 20GB, /home remaining space, swap optional); 4. Check the installation of third-party drivers to avoid hardware problems; 5. If you do not enter the Grub boot menu after installation, you can use boot-repair to repair the boot or adjust the BIOS startup sequence. As long as the steps are clear and the operation is done properly, the whole process is not complicated.

Node Version Manager (NVM) is a simple bash script that helps manage multiple Node.js versions on your Linux system. It enables you to install various Node.js versions, view available versions for installation, and check already installed versions.NV
