Article

Table of Contents
Try Vultr Today with

$50 Free on Us!

Use PHP5-FPM with Apache 2 on Ubuntu 14.04

Published on: Sat, Nov 22, 2014 at 12:31 am EST
PHP Ubuntu Web Servers

Introduction

Apache is popular web server software that is used by most web hosting providers. PHP5-FPM is a FastCGI implementation for PHP. It is useful for processing PHP scripts on busy websites.

Rationale

Normally, Apache uses mod_php to process PHP pages on your VPS. Mod_php consumes more resources than PHP5-FPM. Since Apache is also compatible with PHP5-FPM, we can use that option to reduce the resource usage and improve performance.

Installation

Step 1

Install and activate apache2-mpm-event by running the following commands:

sudo apt-get update
sudo apt-get install apache2-mpm-event

You can test Apache's server status with this command:

sudo service apache2 status

If the service is running, "apache2 is running" will be printed to your terminal. Otherwise, you can start the service with this command:

sudo service apache2 start

Step 2

To use PHP5-FPM with Apache, we need to install libapache2-mod-fastcgi module. The libapache2-mod-fastcgi module is not available in the Ubuntu package. Therefore, we need to update the apt sources. Follow these steps.

  1. Run the following command to edit the source list:

    sudo nano /etc/apt/sources.list
    
  2. Add the following lines at the end of the file:

    deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
    deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
    deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
    
  3. Press CTRL + X, then Y to save the file.

  4. Install libapache2-mod-fastcgi:

    sudo apt-get update
    sudo apt-get install libapache2-mod-fastcgi
    

Step 3

Install PHP5-FPM with the following command:

sudo apt-get install php5-fpm

Step 4

Create the PHP5-FPM configuration file for Apache:

sudo nano /etc/apache2/conf-available/php5-fpm.conf

... then add the following lines:

<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization

<Directory /usr/lib/cgi-bin>
    Require all granted
</Directory>

</IfModule>

Press CTRL + X, then Y to save the file.

Enable the new modules and configuration for Apache:

sudo a2enmod actions fastcgi alias
sudo a2enconf php5-fpm

Finally, restart Apache:

sudo service apache2 restart

Step 5

Test your installation by creating a test PHP file:

sudo nano /var/www/html/info.php

Add the following content to the file:

<?php phpinfo(); ?>

Press CTRL + X, then Y to save the file.

Now open the http://[SERVER_IP_ADDRESS]/info.php in browser. Upon success, you will see information about PHP and your server. Your setup is now complete.

Want to contribute ?

You could earn up to $300 by adding new articles