1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Help with configuring to use PHP-FPM with Apache

Discussion in 'Apache' started by django_sr, Jul 22, 2017.

  1. #2
    Dear all,

    I'm new here and not sure this place is where I can posts these questions but I have been trying to configure my Ubuntu 16.04 VPS to use PHP-FPM with Apache2.

    I followed this source:
    1. https://www.howtoforge.com/tutorial/apache-with-php-fpm-on-ubuntu-16-04/

    Modified this file:
    /etc/apache2/sites-available/000-default.conf to now have this inside:

    <Directory /usr/lib/cgi-bin>
    Require all granted
    </Directory>
    <IfModule mod_fastcgi.c>
    AddHandler php7-fcgi .php
    Action php7-fcgi /php7-fcgi virtual
    Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
    </IfModule>

    Also modified this file /etc/apache2/conf-available and now it contains

    # Redirect to local php-fpm if mod_php is not available
    <IfModule !mod_php7.c>
    # Enable http authorization headers
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

    <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
    SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
    </FilesMatch>
    <FilesMatch ".+\.phps$">
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
    </FilesMatch>
    # Deny access to files without filename (e.g. '.php')
    <FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
    Require all denied
    </FilesMatch>
    </IfModule>

    However, when I look at the output of the info.php page I have created in the document root I see Server API --> Apache 2.0 Handler in stead of what I expected after fiddling with the configuration. I expected Server API --> FPM/FastCGI

    What I find strange, is the contents of /run/php and the size of the php7.0-fpm.sock, the www-data and s in front of the directory but don't know if this has anything to do with it.

    /run/php$ ls -l
    total 4
    -rw-r--r-- 1 root root 4 Jul 3 02:18 php7.0-fpm.pid
    srw-rw---- 1 www-data www-data 0 Jul 3 02:18 php7.0-fpm.sock

    Command uname -a gives:
    4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

    Command dpkg -l | grep apache gives
    ii apache2 2.4.18-2ubuntu3.3 amd64 Apache HTTP Server
    ii apache2-bin 2.4.18-2ubuntu3.3 amd64 Apache HTTP Server (modules and other binary files)
    ii apache2-data 2.4.18-2ubuntu3.3 all Apache HTTP Server (common files)
    ii apache2-utils 2.4.18-2ubuntu3.3 amd64 Apache HTTP Server (utility programs for web servers)
    ii libapache2-mod-fastcgi 2.4.7~0910052141-1.2 amd64 Apache 2 FastCGI module for long-running CGI scripts
    ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 server-side, HTML-embedded scripting language (Apache 2 module)

    Command dpkg -l | grep php gives:
    ii libapache2-mod-php7.0 7.0.18-0ubuntu0.16.04.1 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
    ii php-common 1:35ubuntu6 all Common files for PHP packages
    ii php-imagick 3.4.0~rc6-1ubuntu3 amd64 Provides a wrapper to the ImageMagick library
    ii php-pear 1:1.10.1+submodules+notgz-6 all PEAR Base System
    ii php-xml 1:7.0+35ubuntu6 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
    ii php7.0 7.0.18-0ubuntu0.16.04.1 all server-side, HTML-embedded scripting language (metapackage)
    ii php7.0-cli 7.0.18-0ubuntu0.16.04.1 amd64 command-line interpreter for the PHP scripting language
    ii php7.0-common 7.0.18-0ubuntu0.16.04.1 amd64 documentation, examples and common module for PHP
    ii php7.0-curl 7.0.18-0ubuntu0.16.04.1 amd64 CURL module for PHP
    ii php7.0-fpm 7.0.18-0ubuntu0.16.04.1 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)
    ii php7.0-gd 7.0.18-0ubuntu0.16.04.1 amd64 GD module for PHP
    ii php7.0-imap 7.0.18-0ubuntu0.16.04.1 amd64 IMAP module for PHP
    ii php7.0-intl 7.0.18-0ubuntu0.16.04.1 amd64 Internationalisation module for PHP
    ii php7.0-json 7.0.18-0ubuntu0.16.04.1 amd64 JSON module for PHP
    ii php7.0-mcrypt 7.0.18-0ubuntu0.16.04.1 amd64 libmcrypt module for PHP
    ii php7.0-mysql 7.0.18-0ubuntu0.16.04.1 amd64 MySQL module for PHP
    ii php7.0-opcache 7.0.18-0ubuntu0.16.04.1 amd64 Zend OpCache module for PHP
    ii php7.0-pspell 7.0.18-0ubuntu0.16.04.1 amd64 pspell module for PHP
    ii php7.0-readline 7.0.18-0ubuntu0.16.04.1 amd64 readline module for PHP
    ii php7.0-recode 7.0.18-0ubuntu0.16.04.1 amd64 recode module for PHP
    ii php7.0-snmp 7.0.18-0ubuntu0.16.04.1 amd64 SNMP module for PHP
    ii php7.0-sqlite3 7.0.18-0ubuntu0.16.04.1 amd64 SQLite3 module for PHP
    ii php7.0-tidy 7.0.18-0ubuntu0.16.04.1 amd64 tidy module for PHP
    ii php7.0-xml 7.0.18-0ubuntu0.16.04.1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP
    ii php7.0-xmlrpc 7.0.18-0ubuntu0.16.04.1 amd64 XMLRPC-EPI module for PHP
    ii php7.0-xsl 7.0.18-0ubuntu0.16.04.1 all XSL module for PHP (dummy)


    What have I missed and what should I do to have apache2 run with FastCGI?

    With kind regards,

    django_sr
     
    Last edited by a moderator: Jul 22, 2017
    django_sr, Jul 22, 2017 IP