How to setup and configure a Lamp stack on CentOS

LAMP stands for Linux Apache Mysql PHP. This stack is an open-source software used to deliver high-performing web applications comprising of the above-named applications. What this means is that these individual packages are installed together in a stack to enable a server to host dynamic websites and web applications. In this article, I will be showing you how to setup and configure a lamp stack on CentOS. Please see How to install MariaDB on Ubuntu, How to update WampServer to Latest Version, and how to install MariaDB on Ubuntu. Also, see how to Install and configure Ansible on Azure Virtual Machine.

There are other versions of this setup for other operating systems such as WAMP/WIMP for Microsoft Windows and MAMP for MAC OS. How to add a new partition to an existing Linux server, How to setup and configure a lamp stack, ESXI 6.7 ALARM: Seat disk exhaustion on 10, how to setup up WatchGuard Log and Report Server in a VM, how to encrypt a partition with Cryptsetup on Linux and how to disable RC4 Cipher Algorithms support in SSH Server.

LAMP Stack provides a complete, fully-integrated and ready to run LAMP development environment. Kindly take a look at this related guide: How to Install LAMP Stack on Ubuntu 18.04

Apache is probably the most widely used web application; mainly maintained by an open-source community.
– Mysql is an open-source relational database for storing application data. There are different relational databases you can use; the most commonly used database is the MariaDB.
– PHP is a programming language used to create dynamic web pages in conjunction with Apache.  It is relatively easy and efficient to use. You can also use Perl instead of PHP.


Install Apache: Install the Apache package with the yum install httpd command.

When the installation is done, start the httpd service with the systemctl start httpd. You should also make it persistent across reboot with systemctl enable httpd this will make it active when you boot your system.

You can now test if the setup is working by inputting your system’s i.p address into the address bar of your web browser. This should display a test page that looks something like the image below.

Here are some more excellent articles: How To Check the Kernel Version in Linux / Ubuntu / CentOS, and how to Install LAMP Stack on Ubuntu 18.04.

Install and configure Mariadb

Install the database package with yum install mariadb-server mariadb

Now start the database and enable Mariadb with the following commands;

systemctl start mariadb
systemctl enable mariadb

There are however some other configurations you need to include to secure your database such as creating an Admin user, changing the password and deleting the default user that is created when you install Mariadb.

Install the php package

When installing the php package as part of a LAMP server, it is important to install it with the mysql extention.

After the installation, restart the httpd.service.

If you have a firewall up, you will need to allow firewall to allow http and https through.

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

To ensure that php is correctly installed, you need to create a basic script named info.php. This file should be stored in the /var/www/html directory.

vi /var/www/html/info.php

Here is a simple script that you can use to test the php setup;


Save and quit your editor. Go to your web browser and type;


The result of this when you hit the enter button should be an image that looks like the image below.

With the php package, there are some additional extensions you can find within the package. To find these packages, type the following into your terminal.

yum search php

This will bring an output of several additional php packages that may be useful.

You can then use yum install to install whatever additional package you want.

In summary, the LAMP stack allows for flexibility and efficiency; LAMP is an open-source stack, there is a vast ecosystem of users and developers. It also has a secure architecture and well-established encryption practices.

I hope you found this blog post helpful on how to setup and configure a lamp stack on CentOS. If you have any questions, please let me know in the comment session.

Notify of

Newest Most Voted
Inline Feedbacks
View all comments
8 months ago

Thank you for sharing! I’m glad you liked the article; lamp development is an interesting subject matter and it’ll be interesting to do more research on it in future posts.

Would love your thoughts, please comment.x