# Impossible de faire fonctionner apache avec un pool php-fpm

**URL:** <https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083>\
**Category:** Support Debian\
**Tags:** php-fpm, installation, apache\
**Created:** [Février 3, 2022, 4:02 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083 "2022-02-03T16:02:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sk4hrr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/7bcc69/32.png) [@sk4hrr](https://www.debian-fr.org/u/sk4hrr)\
**Post date:** [Février 3, 2022, 4:02 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083/1 "2022-02-03T16:02:25Z")

</div>

Bonjour,

Voilà des heures que j’essaye de faire fonctionner apache2 avec mon pool php-fpm, mais sans succès. A titre d’information, voici la configuration de mon pool :

```auto
[test.bidule.local]
user = www-data
group = www-data

listen = /run/php/test.bidule.local.sock
listen.mode = 0660

listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

```

Est-ce que l’un d’entre vous saurais quelle est la bonne configuration apache pour utiliser ce pool ? A titre d’information, ce pool fonctionne parfaitement sous nginx et apache2 fonctionne avec le pool par défaut (_www_).

Mon vhost apache ressemble à ça (pour l’instant, dernier test réalisé) :

```auto
<VirtualHost *:80>
  ServerName test.bidule.local
  ServerAlias test2.bidule.local test3.bidule.local test4.bidule.local
  ServerAdmin hostmaster@bidule.local
  DocumentRoot /var/www/html

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log rp_combined

  <Directory /var/www/html>
    RewriteEngine On
    AllowOverride all
    Options +FollowSymLinks -Indexes
    Require all granted

    <IfModule mod_proxy_fcgi.c>
      <FilesMatch "\.(php|html)$">
        SetHandler "proxy:unix:/run/php/test.bidule.local.sock|fcgi://localhost"
      </FilesMatch>		
    </IfModule>
  </Directory>
</VirtualHost>

```

Les versions des paquets que j’utilise :

- apache2: 2.4.52-1
- php8.0-fpm: 8.0.15-1 (en provenance de sury)
- libapache2-mod-fcgid: 1:2.3.9-4

Voilà, donc si quelqu’un a une idée ou des trucs à me faire essayer, je suis preneur.

Merci d’avance !

---

<div class="post-metadata">

**Author:** ![jipete](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jipete/32/11729_2.png) [@jipete](https://www.debian-fr.org/u/jipete)\
**Post date:** [Février 3, 2022, 5:49 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083/2 "2022-02-03T17:49:52Z")

</div>

Bonsoir,

> [@sk4hrr](#):
>
> si quelqu’un a une idée ou des trucs à me faire essayer, je suis preneur.

déjà, regarde les logs et donne les messages d’erreurs, ça pourra aider ceux qui connaissent ces environnements (moi pas).

---

<div class="post-metadata">

**Author:** ![sk4hrr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/7bcc69/32.png) [@sk4hrr](https://www.debian-fr.org/u/sk4hrr)\
**Post date:** [Février 3, 2022, 5:53 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083/3 "2022-02-03T17:53:13Z")

</div>

Aucun log malheureusement, ça serait trop simple.  
J’ai par contre omis d’indiquer que la page php consultée n’affichait que son contenu en texte, c’est à dire :

```auto
<?php phpinfo(); ?>

```

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Février 4, 2022, 9:00 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083/4 "2022-02-04T09:00:28Z")

</div>

Ton socket php il est bien créer, il appartient à qui avec quel droits ?

et ton user apache il a bien droits d’accéder à ton socket php ?

Au mieux pour ton test tu te créer un user test a qui appartiendra les fichiers/dossiers dans le docuemnt root, cet utilisateur appartiendra au groupe www-data et tu utilise cet utilisateur pour gérer ton socket php.  
Ainsi tu sera sûr de ton coup.

---

<div class="post-metadata">

**Author:** ![sk4hrr](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/7bcc69/32.png) [@sk4hrr](https://www.debian-fr.org/u/sk4hrr)\
**Post date:** [Février 4, 2022, 12:13 UTC](https://www.debian-fr.org/t/impossible-de-faire-fonctionner-apache-avec-un-pool-php-fpm/86083/5 "2022-02-04T12:13:50Z")

</div>

> [@Clochette](#):
>
> Ton socket php il est bien créer, il appartient à qui avec quel droits ?

```bash
sk4hrr@test:~$ ls -lah /run/php/
total 4.0K
drwxr-xr-x 2 www-data www-data 100 Feb 4 12:09 .
drwxr-xr-x 17 root root 500 Feb 4 12:08 ..
-rw-r--r-- 1 root root 5 Feb 4 12:09 php8.0-fpm.pid
lrwxrwxrwx 1 root root 30 Feb 4 12:07 php-fpm.sock -> /etc/alternatives/php-fpm.sock
srw-rw---- 1 www-data www-data 0 Feb 4 12:09 test.bidule.local.sock

```

> [@Clochette](#):
>
> et ton user apache il a bien droits d’accéder à ton socket php ?

```bash
sk4hrr@test:/var/www/html$ ls -lah
total 16K
drwxr-xr-x 1 root root 36 Feb 4 12:12 .
drwxr-xr-x 1 root root 8 Feb 4 12:08 ..
-rw-r--r-- 1 root root 11K Feb 4 12:08 index.html
-rw-r--r-- 1 www-data www-data 20 Feb 4 12:12 test.php
sk4hrr@test:/var/www/html$ cat test.php 
<?php phpinfo(); ?>

```

> [@Clochette](#):
>
> Au mieux pour ton test tu te créer un user test a qui appartiendra les fichiers/dossiers dans le docuemnt root, cet utilisateur appartiendra au groupe www-data et tu utilise cet utilisateur pour gérer ton socket php.  
> Ainsi tu sera sûr de ton coup.

Hum, mon pool est configuré comme celui par défaut, à la seule différence du `listen`. Du coup ça devrait être bon de bout en bout. Avant de procéder à l’isolation niveau utilisateur, j’aimerais déjà que ça fonctionne avec celui «&nbsp;de base&nbsp;», à savoir `www-data`.

En complément, j’ai aussi essayé en adaptant le contenu de _/etc/apache2/conf-available/php8.0-fpm.conf_ dans mon vhost, ce qui donne :

```auto
# Ansible managed

<VirtualHost *:80>
  ServerName test.bidule.local
  ServerAlias test2.bidule.local test3.bidule.local test4.bidule.local
  ServerAdmin hostmaster@bidule.local
  DocumentRoot /var/www/html

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log rp_combined

  <Directory /var/www/html>
    RewriteEngine On
    AllowOverride all
    Options +FollowSymLinks -Indexes
    Require all granted
  </Directory>

  <IfModule setenvif_module>
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
  </IfModule>
  <FilesMatch ".+\.ph(ar|p|tml)$">
    SetHandler "proxy:unix:/run/php/test.bidule.local.sock|fcgi://localhost"
  </FilesMatch>
  <FilesMatch ".+\.phps$">
      Require all denied
  </FilesMatch>
  <FilesMatch "^\.ph(ar|p|ps|tml)$">
    Require all denied
  </FilesMatch>
</VirtualHost>

```
