* Optional Pictures stanza:

Upload new attachment "ThibautPerrin192.png"
Upload new attachment "ThibautPerrin96.png"

... end Optional Pictures stanza

* Body layout begins:

Thibaut Perrin

Project Responsibilities

What responsibilities do you have inside of the project ?

Contact information

Interests

What are your personal interests in the CentOS project ?

List of achievements

What have you accomplished already ?

Personal TODO list

What items are you going to do (if time permits) ?

Biography

If you are planning to do presentations, it could be interesting to provide a short and long biography upfront so Event organizers can simply provide this information when they need it.

Short

Linux admin for the past 10 years, loves to test new apps :)

Long

Scratch area

Title: PHP 7.0 on CentOS 7.4 Date: 2017-10-03 10:20 Modified: 2017-10-05 19:30 Category: CentOS Tags: CentOS,httpd,php70,PHP,PHP 7.0,7.0 Slug: install php70 on CentOS7.4 Authors: Thibaut Perrin Summary: How-to install and use PHP 7.0 on CentOS 7.4

Using PHP 7.0 on CentOS 7.4

This article is about I concern I had recently : > How to use PHP 7.0 or 7.1 on CentOS 7 on the default httpd server without having to use external repositories or recompile PHP from source?

The answer lies in the Software Collections. Here we will start from a fresh CentOS installation, and move forward into having a website running PHP 7.0.

First of all, we will install the Software Collection’s repository (it’s an official repo that needs to be enabled).

root @ centos7-vm: ~ # yum -y install centos-release-scl.noarch This command will deploy a new repository on your system, which is part of the official repositories of CentOS.

Once this is installed, let’s install the PHP 7 package as well as the httpd packages, along with the addons.

root @ centos7-vm: ~ 24 # yum -y install rh-php70 rh-php70-php rh-php70-php-fpm httpd In order to use php 7.0, we will be using php-fpm, which is the recommended way, in place of mod_php. To do this, we will use the fpm service. This service will run by default on port 9000. If you need to change that port, head to the file :

/etc/opt/rh/rh-php70/php-fpm.d/www.conf And change the line :

listen = 127.0.0.1:9000 to the one you want to setup (e.g 9002). Once this is done, we need to change the selinux database to add 9002 to a valid port to run for httpd services :

semanage port -a -t http_port_t -p tcp 9002 After that, start the php-fpm service and enable it at boot :

root @ centos7-vm: ~ 29 # systemctl enable rh-php70-php-fpm.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php70-php-fpm.service to /usr/lib/systemd/system/rh-php70-php-fpm.service.
root @ centos7-vm: ~ 30 # systemctl start rh-php70-php-fpm.service
root @ centos7-vm: ~ 31 # systemctl status rh-php70-php-fpm.service
● rh-php70-php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/rh-php70-php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-10-24 13:35:11 CEST; 2s ago
 Main PID: 30045 (php-fpm)
   Status: "Ready to handle connections"
   CGroup: /system.slice/rh-php70-php-fpm.service
           ├─30045 php-fpm: master process (/etc/opt/rh/rh-php70/php-fpm.conf)
           ├─30046 php-fpm: pool www
           ├─30047 php-fpm: pool www
           ├─30048 php-fpm: pool www
           ├─30049 php-fpm: pool www
           └─30050 php-fpm: pool www

Now, we need to configure our httpd daemon to tell it to use this service to process php pages.

Let’s create a file named <code>fpm.conf</code> in our <code>/etc/httpd/conf.d/</code> folder and give it the folder and give it the following content :

# PHP scripts setup 
ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/var/www/html

Alias / /var/www/html/

When doing this, apache will send all files that end with .php to our php-fpm service and display the result.

To confirm it’s working, we can create a small page with a phpinfo request in /var/www/html

root @ centos7-vm: ~ 1 # cat /var/www/html/index.php 
<?php phpinfo() ?>
root @ centos7-vm: ~ 1 #

Don’t forget to also start, enable and add your httpd service to your firewall :

root @ centos7-vm: ~ 43 # systemctl enable httpd ; systemctl start httpd 
root @ centos7-vm: ~ 46 # firewall-cmd --add-service=http --permanent
success
root @ centos7-vm: ~ 47 # firewall-cmd --reload
success

Now if we connect to the website, it will display the php correctly handled :


CategoryHomepage

ThibautPerrin (last edited 2017-10-25 21:21:24 by ThibautPerrin)