Comment installer PHP sur CentOS Stream 9

PHP est un langage de script côté serveur largement utilisé, conçu pour le développement Web, mais également utilisé comme langage de programmation à usage général. Il est particulièrement apprécié pour créer des sites Web dynamiques et interactifs. L'installation des dernières versions de PHP, telles que 8.3, 8.2 ou 8.1, garantit que vous avez accès aux dernières fonctionnalités, améliorations de performances et correctifs de sécurité. Sur CentOS Stream 9, vous pouvez facilement installer ces versions à l'aide du référentiel Remi RPM, réputé pour fournir des packages PHP à jour.

Ce guide vous guidera tout au long du processus d'activation du référentiel Remi et d'installation des dernières versions de PHP sur CentOS Stream 9.

Importer Remi PHP RPM sur CentOS

Mise à jour du flux CentOS avant l'installation de PHP

Il est crucial de commencer par mettre à jour votre système CentOS Stream pour vous assurer que tous les packages existants sont à jour. Cette étape est essentielle pour la stabilité et la sécurité du système.

Ouvrez votre terminal et exécutez la commande suivante pour mettre à jour votre système :

sudo dnf upgrade --refresh

Cette commande actualise votre base de données de packages et met à niveau tous les packages installés vers leurs dernières versions disponibles.

Importation du référentiel Remi PHP RPM

Le référentiel Remi PHP est un référentiel tiers qui propose les dernières versions de PHP. Avant d'ajouter le référentiel Remi, vous devez installer le référentiel EPEL, qui fournit des packages supplémentaires pour Enterprise Linux.

Tout d’abord, l’activation du référentiel CodeReady Linux Builder (CRB) est recommandée, bien que facultative. Il fournit des outils de développement et des bibliothèques supplémentaires. Activez CRB avec :

sudo dnf config-manager --set-enabled crb

Après avoir activé CRB, installez le référentiel EPEL pour EL9 en utilisant :

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

Enfin, importez le dépôt Remi PHP pour EL9 :

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Activation du référentiel PHP Remi sur CentOS Stream

Liste des modules PHP disponibles

Avant d'installer PHP, il est essentiel d'identifier les versions PHP disponibles dans le référentiel Remi. Cette étape vous aide à prendre une décision éclairée quant à la version à installer.

Utilisez la commande suivante pour lister tous les modules PHP :

dnf module list php

Cette commande affiche toutes les versions de PHP disponibles dans le référentiel Remi. C'est une étape cruciale pour vous assurer de choisir la version la mieux adaptée à vos besoins.

Importation de la clé GPG pour le référentiel de Remi

Lorsque vous y êtes invité, vous devez confirmer l'importation de la clé GPG pour le référentiel de Remi. Cette étape est vitale pour des raisons de sécurité, car elle vérifie l'authenticité des packages que vous vous apprêtez à installer. Entrez « Y » lorsqu'on vous demande de procéder à l'importation.

Activation de la version PHP souhaitée

Après avoir confirmé les versions PHP disponibles, vous pouvez activer la version spécifique qui correspond à vos besoins. Il est conseillé de sélectionner une version stable et bien supportée de PHP pour vos projets.

Pour activer une version spécifique de PHP à partir du référentiel Remi, utilisez les commandes suivantes :

sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y

Chaque commande active une version différente de PHP à partir du référentiel Remi. Choisissez la commande qui correspond à la version que vous souhaitez installer. L'indicateur « -y » dans ces commandes indique une confirmation automatique de l'installation, rationalisant ainsi le processus.

Installez PHP 8.3, 8.2 ou 8.1 sur CentOS Stream

Choisir le serveur Web pour l'installation de PHP

La sélection du serveur Web approprié est une étape clé dans la configuration de PHP. CentOS Stream prend en charge à la fois Apache et Nginx, chacun nécessitant des packages PHP différents.

Apache (httpd)Installation PHP

Pour ceux qui utilisent Apache comme serveur Web, la commande suivante installe PHP avec l'interface de ligne de commande (CLI) PHP, essentielle pour exécuter des scripts PHP à partir de la ligne de commande :

sudo dnf install php php-cli -y

Installation de Nginx PHP

Si vous utilisez Nginx, vous devrez installer PHP FastCGI Process Manager (FPM) avec la CLI PHP. PHP-FPM est une implémentation alternative de PHP FastCGI très efficace pour les sites à fort trafic :

sudo dnf install php-fpm php-cli -y

Vérification de l'installation de PHP

Après l'installation, il est important de confirmer que PHP est correctement installé. Exécutez la commande suivante pour vérifier la version PHP installée :

php -v

Cette commande affiche la version actuelle de PHP, vérifiant la réussite de l'installation.

Installation des extensions PHP courantes

Pour améliorer les fonctionnalités PHP, vous devrez peut-être installer des extensions supplémentaires. La commande ci-dessous installe les extensions PHP couramment utilisées, qui sont vitales pour diverses plates-formes CMS et besoins de développement :

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Il est conseillé de vérifier et d'omettre toutes les extensions qui ne sont pas nécessaires à votre configuration.

Affichage des modules PHP chargés

Pour inspecter les modules PHP actuellement chargés, exécutez :

php -m

Il est recommandé de surveiller et d'élaguer régulièrement les modules inutiles pour maintenir des performances optimales du système.

Installation de la branche de développement PHP

Pour des besoins de développement spécifiques, vous aurez peut-être besoin de la branche de développement PHP. Installez-le avec :

sudo dnf install php-devel

Remarque : Cette installation introduit plusieurs dépendances. Ne procédez qu'en cas de besoin spécifique dans votre environnement de développement PHP.

Ajout d'outils de développement PHP

Pour les fonctionnalités de développement avancées, y compris le débogage, installez des outils supplémentaires à l'aide de :

sudo dnf install php-xdebug php-pcov

Ces outils sont essentiels pour le débogage et l’analyse de la couverture du code en PHP, mais soyez prudent quant aux dépendances supplémentaires qu’ils introduisent.

Configuration de l'utilisateur Nginx pour PHP-FPM sur CentOS Stream

Modification de la configuration PHP-FPM pour Nginx

Dans CentOS Stream, l'utilisateur par défaut pour PHP-FPM est défini sur « Apache », ce qui n'est pas compatible avec les configurations Nginx. Pour optimiser PHP-FPM pour Nginx, un changement de configuration est nécessaire.

Accéder à la configuration PHP-FPM

Commencez par ouvrir le fichier de configuration PHP-FPM. Ce fichier contient les paramètres spécifiques à la manière dont PHP-FPM interagit avec votre serveur Web. Utilisez la commande suivante pour modifier le fichier www.conf :

sudo nano /etc/php-fpm.d/www.conf

Cette commande lance l'éditeur de texte Nano avec le fichier de configuration PHP-FPM.

Modification des paramètres d'utilisateur et de groupe

Dans le fichier de configuration, localisez les lignes spécifiant l'utilisateur et le groupe. Par défaut, ceux-ci sont définis sur « Apache ». Remplacez l'utilisateur et le groupe par « Nginx » pour aligner le service PHP-FPM avec Nginx :

; Utilisateur/groupe de processus Unix ; Remarque : L'utilisateur est obligatoire. Si le groupe n'est pas défini, le groupe de l'utilisateur par défaut ; sera utilisé. ; RPM : apache Choisi pour pouvoir accéder à certains répertoires en tant que httpd user = nginx ; RPM : gardez un groupe autorisé à écrire dans le répertoire du journal. groupe = nginx

Voici des exemples visuels fonctionnels :

Enregistrement et sortie du fichier de configuration

Après avoir effectué les modifications, enregistrez le fichier en appuyant sur CTRL+O puis quittez avec CTRL+X. Cette action enregistre les modifications et ferme l'éditeur Nano.

Redémarrage du service PHP-FPM

Pour appliquer les modifications, redémarrez le service PHP-FPM en utilisant :

sudo systemctl restart php-fpm

Cette commande garantit que PHP-FPM démarre sous l'utilisateur et le groupe Nginx, garantissant ainsi la compatibilité et une sécurité renforcée pour la configuration de votre serveur Web Nginx sur CentOS Stream.

Exemple de code de bloc du serveur Nginx PHP-FPM

Configuration du bloc serveur Nginx pour le traitement PHP

Pour activer le traitement PHP dans Nginx sur CentOS Stream, le bloc serveur dans le fichier de configuration Nginx doit être modifié. L'exemple suivant illustre la configuration nécessaire pour gérer les fichiers PHP. Cette configuration nécessite de spécifier le bloc d'emplacement PHP.

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Ce code garantit que Nginx gère correctement les fichiers PHP, en les redirigeant vers le processeur PHP-FPM. Voici une ventilation rapide :

  • location ~ .php$ : Cette directive indique à Nginx d'appliquer les règles suivantes à tout fichier se terminant par .php. Le tilde ~ indique qu'il s'agit d'une correspondance d'expression régulière.
  • try_files $uri =404 : Cette ligne vérifie si le fichier PHP existe à l'URI spécifié. Si ce n'est pas le cas, Nginx renvoie une erreur 404. Il s'agit d'une mesure de sécurité visant à empêcher l'exécution de scripts non autorisés.
  • fastcgi_pass unix:/run/php-fpm/www.sock; : Cette directive spécifie le socket où le service PHP-FPM écoute. Dans ce cas, Nginx transmet les requêtes PHP au processus PHP-FPM via le socket /run/php-fpm/www.sock.
  • fastcgi_index index.php; : Ceci définit index.php comme script par défaut à exécuter lors de l'accès à un répertoire.
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; : Cette ligne définit le paramètre SCRIPT_FILENAME, qui est essentiel à PHP-FPM pour trouver le fichier de script sur le système de fichiers. Il combine la racine du document avec le nom du script.
  • include fastcgi_params ; : cela inclut les paramètres FastCGI par défaut fournis par Nginx. Ce sont des paramètres standards requis pour que PHP-FPM fonctionne correctement.

Cette configuration garantit que Nginx gère correctement les requêtes PHP en les transmettant au service PHP-FPM pour traitement, une étape cruciale pour exécuter des sites Web et des applications basés sur PHP sur un serveur Nginx.

Vérification de la configuration de Nginx

Après avoir mis à jour le bloc serveur, vérifiez la configuration Nginx pour toute erreur de syntaxe avec la commande suivante :

sudo nginx -t

Exemple de résultat confirmant une vérification de syntaxe réussie :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Cette étape garantit que votre configuration Nginx est exempte d'erreurs de syntaxe et prête à être implémentée.

Redémarrage du service Nginx

Pour appliquer les modifications de configuration PHP-FPM, redémarrez le service Nginx :

sudo systemctl restart nginx

Ce redémarrage rend les modifications effectives, permettant à Nginx de traiter les fichiers PHP à l'aide de la configuration de bloc serveur mise à jour.

Conclusion

En installant PHP via le référentiel Remi RPM sur CentOS Stream 9, vous vous assurez que votre système est équipé des dernières versions stables de PHP, notamment 8.3, 8.2 et 8.1. Cette configuration vous offre des performances améliorées, un accès aux dernières fonctionnalités et une sécurité améliorée pour vos applications Web. La mise à jour régulière de PHP via le référentiel Remi maintiendra votre système sécurisé et à jour avec les derniers développements de PHP. Profitez de la flexibilité et de la puissance offertes par PHP pour créer et maintenir des applications Web dynamiques.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire