How to Install LAMP Stack on CentOS 7
What is LAMP?
LAMP is short for Linux, Apache, MySQL, and PHP. It is a stack of applications that work together on a web server to host a website, where each individual program serves a different purpose:
- In LAMP, Linux serves as the server’s operating system that handles all the commands on the machine. Like Windows/MacOS of a computer device operating system. In this post, we’ll be using the CentOS 7 distribution.
- Apache is a web server software that manages HTTP requests to deliver your website’s content.
- MySQL is a relational database management system (RDBMS) whose function is to maintain user’s data on a server.
- PHP is a scripting language for server-side communication.
Without further ado, let’s go to the steps of how to install LAMP on CentOS 7.
3 Steps to Install LAMP on CentOS 7
We’ll divide Apache, MySQL, and PHP installations into different parts to make it easy to understand. However, before we dive into the steps, there are a couple of essentials you should know about.
Prerequisites
First of all, make sure that your server already has CentOS 7 installed.
To access your server, you can use terminal in Linux and macOS, or Putty in Windows.
Once you have gained access, you have to clean all the cache by running below command
sudo yum clean all
and update yum (default package-management utility for CentOS) by using below command.
sudo yum update
Above steps are to remove old packages on CentOS and get the latest version:
1. Install Apache
You can easily install Apache using the yum package. On your SSH client, enter:
sudo yum install httpd -y
After that, activate your Apache server by typing the following command:
sudo systemctl start httpd.service
If the installation and activation were successful, you will get this result when you visit the server’s IP address:
2. Install MySQL (MariaDB) Server
MariaDB is the most popular MySQL fork that is free and open source. The command to install the database is as follows:
sudo yum install mariadb-server mariadb -y
Now, let’s start the MariaDB service:
sudo systemctl start mariadb
Once installed, we must secure MariaDB by executing this security command:
sudo mysql_secure_installation
When prompted for a password, you simply hit Enter to leave it blank or type in new password.
After that, follow the instructions to set up your password. Lastly, the script will ask you to configure several security measures, including:
- Remove anonymous users?
- Disallow login remotely?
- Remove test database and access to it?
- Reload privilege tables now?
When you are done with the process, it will send you this message:
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
Thanks for using MariaDB!
3. Install PHP
First, you have to install yum-utils and enable EPEL (Extra Packages for Enterprise Linux) repository:
sudo yum install epel-release yum-utils
Then, download and install remirepo:
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Enable it:
sudo yum-config-manager --enable remi-php74
To install PHP, use the following command:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
If you want to check the version, type php -v and you should get this result:
PHP 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Restart your Apache server to ensure that it’s working with the newly installed PHP:
sudo systemctl restart httpd.service
The next step is to test PHP processing. To do that, we need to create info.php file and put it on the default PHP directory (/var/www/html). You can use nano editor for this:
sudo nano /var/www/html/info.php
Then, insert this code inside:
<?php phpinfo(); ?>
Use CTRL+X to exit and save the file. The last thing is to check your server by visiting the info.php URL:
http://your.ip.address/info.php
If you are able to open that page with content.
Good job! This means PHP is installed and running on your server. You have successfully installed LAMP on CentOS 7.