The PHP team has released upgrade version 7.2. Which has a number of changes and improvements than over version 5.X. This article will help you to install PHP 7 Apache 2.4 and MySQL 5.6 on CentOS/RHEL 7 & 6 operating systems. This tutorial has been tested with CentOS 7.4, so all the services command are used with systemctl. The CentOS 6 users change all systemctl command correspondence service command.
Step 1 – Setup Yum Repository
In the first step install all the required yum repositories in your system used in the remaining tutorial for various installations. You are adding REMI, EPEL, Webtatic & MySQL community server repositories in your system.
CentOS / RHEL 7
yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm
CentOS / RHEL 6
yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
Step 2 – Install PHP 7.2
Now install php 7 packages from webtatic rpm repository using following command.
yum --enablerepo=remi-php72 install php
Now install required php modules. Use following command to list available modules in yum repositories.
yum --enablerepo=remi-php72 search php
Now check all listed modules in above command and install required modules like below.
yum --enablerepo=remi-php72 install php-mysql php-xml \ php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
Step 3 – Install Apache 2.4
Apache (HTTPD) is the most popular web server used on Linux systems. Let’s install Apache web server using following command with enabling epel and remi yum repositories.
yum --enablerepo= epel,remiinstall httpd
Now start httpd service and enable to start on boot using below commands.
systemctl starthttpd.service systemctl enablehttpd.service
Step 4 – Install MySQL 5.6
In step 1 we already have installed required yum repository in your system. Let’s use the following command to install MySQL server on your system. If you want to install MySQL 5.7 visit this tutorial.
Apply security on mysql and also set root user password.
systemctl startmysqld.service mysql_secure_installation
Now restart MySQL service and enable to start on system boot.
systemctl restartmysqld.service systemctl enablemysqld.service
Step 5 – Open Port in Firewall
Finally open firewall ports for HTTP (80) and https (443) services using the following command.
firewall-cmd --permanent --zone=public --add-service= http firewall-cmd --permanent --zone=public --add-service= https firewall-cmd --reload
Step 6 – Check Installed Version
Let’s check the installed versions of packages on system using following commands one by one.
php -vPHP 7.2.0 (cli) (built: Nov 28 2017 20:22:21) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
httpd -vServer version: Apache/2.4.6(CentOS) Server built: Nov 19 2015 21:43:13
mysql -Vmysql Ver 14.14 Distrib 5.6.28, for Linux (x86_64) using EditLine wrapper
Now you have successfully configured LAMP setup on your CentOS / RHEL 7.4 & 6.9 systems.