initial commit
This commit is contained in:
9
Readme.md
Normal file
9
Readme.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
##### PHP-FPM
|
||||||
|
|
||||||
|
Public: b1
|
||||||
|
|
||||||
|
Durée: 2h
|
||||||
|
|
||||||
|
Validation: attention à la présence du module / paquet php (le fichier /etc/httpd/conf.d/php.conf ne doit pas exister - ou doit avoir été modifié)
|
||||||
|
|
||||||
|
Todo: rajouter quelques pointeurs vers des docs complètes
|
||||||
64
correction.md
Normal file
64
correction.md
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
Prérequis: Apache, gestion des services et des packages, principe de configuration
|
||||||
|
|
||||||
|
Information et liens utiles:
|
||||||
|
|
||||||
|
* https://blog.remirepo.net/pages/Config
|
||||||
|
|
||||||
|
|
||||||
|
### Théorie
|
||||||
|
|
||||||
|
Quelles sont les différences entre php en tant que module apache (paquet php) et php-fpm ?
|
||||||
|
|
||||||
|
module: l'interpréteur est intégré à apache. Pas possible de faire tourner plusieurs versions de php, pb de perf, pb de stabilité. À l'inverse, php-fpm permet d'embarquer un interpréteur dans un service autonome. On peut donc en avoir plusieurs, avec des paramètres de performance différent, des versions différentes. On peut même les faire tourner avec des comptes utilisateurs distincts (1 client -> 1 compte utilisateur -> 1 arborescence utilisateur -> 1 php-fpm dédié)
|
||||||
|
|
||||||
|
Quelle est la version de php disponible par défaut sur RedHat / CentOS ?
|
||||||
|
|
||||||
|
5.4 - complètement obsolète
|
||||||
|
|
||||||
|
Quelle est la dernière version disponible de php ?
|
||||||
|
|
||||||
|
7.4 à ce jour (2020-04-27)
|
||||||
|
|
||||||
|
### Pratique
|
||||||
|
|
||||||
|
Installez php-fpm en version 7.3
|
||||||
|
|
||||||
|
la version 7.3 n'étant pas disponible par défaut, il faut utiliser un dépôt externe. Pour ce faire, suivre les instructions ici:
|
||||||
|
|
||||||
|
* yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||||
|
* yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
|
||||||
|
* yum install yum-utils
|
||||||
|
* yum install php73-php-fpm
|
||||||
|
|
||||||
|
Assurez-vous que le service soit activé et démarré
|
||||||
|
|
||||||
|
systemctl enable php73-php-fpm
|
||||||
|
|
||||||
|
systemctl start php73-php-fpm
|
||||||
|
|
||||||
|
Configurez apache pour que toutes les ressources .php soient traitées par php-fpm
|
||||||
|
<code>
|
||||||
|
vim /etc/httpd/conf.d/php.conf
|
||||||
|
<FilesMatch \.php$>
|
||||||
|
SetHandler proxy:fcgi://localhost:9000
|
||||||
|
</FilesMatch>
|
||||||
|
</code>
|
||||||
|
|
||||||
|
### Validation
|
||||||
|
|
||||||
|
Créer la page /var/www/html/version.php avec le contenu suivant:
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
echo 'Current PHP version: ' . phpversion() ."\n" . php_sapi_name() ."\n" ;
|
||||||
|
|
||||||
|
Appeler la page:
|
||||||
|
curl http://localhost/version.php
|
||||||
|
|
||||||
|
Résultat attendu: affichage sur la console de :
|
||||||
|
Current PHP version: 7.3.XX
|
||||||
|
fpm-fcgi
|
||||||
|
|
||||||
|
### À rendre
|
||||||
|
|
||||||
|
Réalisation technique et fichier /srv/php-fpm.txt contenant la réponse aux questions théoriques
|
||||||
11
eval
Normal file
11
eval
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#le module php n'est pas installé ou pas utilisé
|
||||||
|
|
||||||
|
#présence du fichier de dépot
|
||||||
|
|
||||||
|
#le service php-fpm tourne
|
||||||
|
|
||||||
|
|
||||||
|
# la page version.php existe
|
||||||
|
|
||||||
|
|
||||||
|
# la page version.php renvoie la bonne valeur
|
||||||
18
eval.sh
Normal file
18
eval.sh
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
function e {
|
||||||
|
echo -ne "${1}\t"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -ne "$(hostname -s)\t$(cat /etc/motd )\t"
|
||||||
|
if ( rpm -qa | grep -qE '^php-[57]' ) ; then e 0 ; else e 1 ; fi
|
||||||
|
|
||||||
|
if [ -f /etc/yum.repos.d/remi.repo ] ; then e 1 ; else e 0 ; fi
|
||||||
|
|
||||||
|
if ( systemctl status php-fpm &>/dev/null || systemctl status php73-php-fpm &> /dev/null ) ; then e 1 ; else e 0 ; fi
|
||||||
|
|
||||||
|
if [ -f /var/www/html/version.php ] ; then e 1 ; else e 0 ; fi
|
||||||
|
|
||||||
|
if ( curl localhost/version.php 2>/dev/null |grep -q 7.3 ) ; then e 1 ; else e 0 ; fi
|
||||||
|
echo
|
||||||
45
tp_php-fpm.md
Normal file
45
tp_php-fpm.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
Prérequis: Apache, gestion des services et des packages, principe de configuration
|
||||||
|
|
||||||
|
Information et liens utiles:
|
||||||
|
|
||||||
|
* https://blog.remirepo.net/pages/Config
|
||||||
|
|
||||||
|
|
||||||
|
### Théorie
|
||||||
|
|
||||||
|
Quelles sont les différences entre php en tant que module apache (paquet php) et php-fpm ?
|
||||||
|
|
||||||
|
Quelles sont les avantages et inconvénients de ces solutions ?
|
||||||
|
|
||||||
|
Quelle est la version de php disponible par défaut sur RedHat / CentOS ?
|
||||||
|
|
||||||
|
Quelle est la dernière version disponible de php ?
|
||||||
|
|
||||||
|
### Pratique
|
||||||
|
|
||||||
|
Installez php-fpm en version 7.3
|
||||||
|
|
||||||
|
Assurez-vous que le service soit activé et démarré
|
||||||
|
|
||||||
|
Configurez apache pour que toutes les ressources .php soient traitées par php-fpm
|
||||||
|
|
||||||
|
### Validation
|
||||||
|
|
||||||
|
Créer la page version.php dans le DocumentRoot de votre serveur, avec le contenu suivant:
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
echo 'Current PHP version: ' . phpversion() ."\n" . php_sapi_name() ."\n" ;
|
||||||
|
|
||||||
|
Appeler la page:
|
||||||
|
curl http://localhost/version.php
|
||||||
|
|
||||||
|
Résultat attendu: affichage sur la console de :
|
||||||
|
Current PHP version: 7.3.XX
|
||||||
|
fpm-fcgi
|
||||||
|
|
||||||
|
### À rendre
|
||||||
|
|
||||||
|
Réalisation technique
|
||||||
|
|
||||||
Reference in New Issue
Block a user