Skip to main content

How to install LEMP stack on centOS 7

The term LEMP is an acronym of the names of its four open-source components:

  • L - Linux operating system
  • E - Nginx [engine x]
  • M - MySQL or MariaDB relational database management system
  • P - PHP programming language

Login into the server using root credentials on putty.

Step 1. Installing Nginx

Nginx is not available in the default CentOS 7 repository so we will use the EPEL repositories. To add the EPEL repository to your system, use the following command.

# yum install epel-release 

Now that the EPEL repository is enabled, install the Nginx package with below command.

# yum install nginx 

Once it is installed, start and enable the Nginx service by typing:

# systemctl start nginx 
# systemctl enable nginx 
# systemctl status nginx 

Step 2. Installing MariaDB

The next step is to install the MariaDB packages. To do so type:
yum install mariadb-server

Once MariaDB server is installed, start and enable the service with

# systemctl start mariadb.service 
# systemctl enable mariadb.service 

Step 3. Installing PHP

CentOS 7 ships with PHP version 5.4 which is EOL-ed for quite some time so we’ll use the Remi repository to install PHP 7.2.

Run the following command to add the Remi repository to your system.

#yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 

Once it is added, install the yum-utils package and enable the remi-php72 repository.

# yum install yum-utils 
# yum-config-manager --enable remi-php72 

Now that we have Remi repository enabled, we can install PHP FPM and several most common PHP modules with.

# yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql 

By default PHP FPM will run as user apache on port 9000. We’ll change the user to nginx and switch from TCP socket to Unix socket. To do so edit the lines highlighted in yellow.

# vi /etc/php-fpm.d/[www.conf](http://www.conf/) 

Make sure the /var/lib/php directory has the correct permissions

# chown -R root:nginx /var/lib/php 

Save the file, enable and start the PHP FPM service with.

# systemctl enable php-fpm 
# systemctl start php-fpm 

Thank you!!