Comment installer PHP sur Rocky Linux 9/8

PHP est un langage de script populaire à usage général, particulièrement adapté au développement Web. Il est rapide, flexible et pragmatique et alimente tout, des blogs aux sites Web les plus populaires au monde. PHP offre une prise en charge étendue de diverses bases de données, ce qui en fait un outil essentiel pour les scripts côté serveur.

Le guide suivant démontrera les étapes pour installer PHP sur Rocky Linux 9 ou 8 à l'aide de commandes de ligne de commande. La méthode d'installation implique l'utilisation du référentiel Remi RPM pour les dernières versions stables de PHP 8.1, 8.2 et 8.3.

Importer le dépôt Remi PHP RPM

Mettre à jour Rocky Linux avant l'installation de PHP

Commencez par mettre à jour votre système Rocky Linux pour préparer l'installation de PHP. Ouvrez le terminal et saisissez :

sudo dnf upgrade --refresh

Importer le référentiel PHP Remi

Configuration du référentiel EPEL

EPEL (Extra Packages for Enterprise Linux) est crucial pour les packages logiciels supplémentaires dans Rocky Linux. Vous trouverez ci-dessous deux options pour installer EPEL sur Rocky Linux pour la dernière version EL9 ou EL8.

Importer EPEL pour Rocky Linux 9

Activer CRB

CRB donne accès à davantage d’outils de développement. Utiliser:

sudo dnf config-manager --set-enabled crb
Installer les référentiels EPEL

Pour obtenir les dernières versions EPEL pour Rocky Linux 9 :

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

Incorporez le référentiel Remi conçu pour EL 9 :

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

Importer EPEL pour Rocky Linux 8

Activer le référentiel PowerTools

PowerTools est essentiel pour les outils de développement PHP.

sudo dnf config-manager --set-enabled powertools
Activer EPEL pour Rocky Linux 8

Installez les référentiels EPEL pour Rocky Linux 8 :

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importer le référentiel Remi EL 8

Une fois EPEL installé, importez le RPM Remi contenant PHP pour EL 8 :

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

Activer PHP (8.x) à partir du référentiel Remi

Vérification des versions PHP

Commencez par confirmer les versions PHP disponibles dans le référentiel Remi. Cela garantit que vous avez accès à la version PHP souhaitée.

Exécuter dans le terminal :

dnf module list php

Si vous y êtes invité, importez la clé GPG pour le référentiel de Remi en tapant (Y).

Sélection de votre version PHP

Activer PHP 8.3

Pour installer PHP 8.3, une version stable et récente, utilisez :

sudo dnf module enable php:remi-8.3 -y

Activer PHP 8.2

Pour PHP 8.2, adapté aux applications nécessitant cette version spécifique :

sudo dnf module enable php:remi-8.2 -y

Activer PHP 8.1

Pour activer PHP 8.1, idéal pour la compatibilité avec certaines applications :

sudo dnf module enable php:remi-8.1 -y

Finaliser l'installation de PHP

Installation de PHP pour le support Apache ou Nginx

Après avoir activé le référentiel Remi PHP, vous pouvez installer PHP adapté aux besoins de votre serveur Web, Apache ou Nginx.

Apache (httpd)Installation PHP

sudo dnf install php php-cli -y

Installation de Nginx PHP

sudo dnf install php-fpm php-cli -y

Vérification de l'installation de PHP

Confirmez l'installation de PHP en exécutant :

php -v

Installation des extensions PHP

Installez les extensions PHP essentielles en fonction des besoins de votre projet. Évitez d'installer toutes les extensions pour maintenir des performances et une sécurité optimales.

Installation standard

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

Installation simplifiée

Pour une commande d'installation compacte :

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

Maintenant, décomposons ce que fait chacune de ces extensions PHP :

  • php-cli: Interface de ligne de commande pour PHP, utile pour exécuter des scripts PHP dans le shell.
  • php-fpm: FastCGI Process Manager, utile pour gérer et servir les requêtes PHP.
  • php-curl: Vous permet de vous connecter et de communiquer avec différents types de serveurs et de protocoles.
  • php-mysqlnd: MySQL Native Driver, utilisé pour les connexions aux bases de données MySQL.
  • php-gd: Graphics Draw, utile pour créer et manipuler des fichiers image.
  • php-opcache: Opcode Cache, utilisé pour accélérer l'exécution de PHP.
  • php-zip: Vous permet de travailler avec des archives zip.
  • php-intl: Extension d'internationalisation pour travailler avec des jeux de caractères et des paramètres régionaux internationaux.
  • php-commun: Fichiers et paramètres communs utilisés par plusieurs modules PHP.
  • php-bcmath: La calculatrice binaire permet des mathématiques de précision arbitraire.
  • php-imagick: Fournit des méthodes pour créer et modifier des images à l’aide de la bibliothèque ImageMagick.
  • php-xmlrpc: Permet de créer un serveur XML-RPC et facilite l'envoi de requêtes XML-RPC.
  • php-json: Extension JSON (JavaScript Object Notation) pour encoder et décoder les données JSON.
  • php-readline: Permet de lire une ligne de données depuis le terminal.
  • php-memcached: Fournit une mise en cache rapide et distribuée des objets de mémoire.
  • php-redis: Extension PHP pour s'interfacer avec Redis.
  • php-mbstring: Chaîne multi-octets pour la gestion des chaînes non-ASCII.
  • php-apcu: APC User Cache, une extension de mise en cache de l'espace utilisateur basée sur APC.
  • php-xml: Analyseur XML pour analyser les documents XML.
  • php-dom: Document Object Model, pour manipuler des documents XML de manière orientée objet.
  • php-memcache: Fournit une interface procédurale et orientée objet pratique pour memcached.
  • savon php: Utilisé pour écrire des serveurs et des clients SOAP.
  • php-ldap: Protocole d'accès léger à l'annuaire utilisé pour accéder et gérer les informations d'annuaire.
  • php-pdo: PHP Data Objects, une couche d'accès aux bases de données fournissant une méthode d'accès uniforme à plusieurs bases de données.

Vous pouvez utiliser la commande suivante pour afficher les modules chargés à tout moment.

php -m

Une surveillance régulière et la suppression des modules inutiles sont recommandées pour l'efficacité des performances.

Installation des outils de développement PHP

À des fins de développement, installez la branche de développement PHP et les outils de débogage :

Branche de développement PHP

sudo dnf install php-devel

Outils de débogage PHP

sudo dnf install php-xdebug php-pcov

Il est important de noter que l'installation de cette version entraînera plusieurs dépendances, et il n'est pas recommandé de le faire, sauf si vous en avez un besoin spécifique dans votre développement PHP ou toute exigence particulière.

Configurer l'utilisateur PHP-FPM Nginx sur Rocky Linux

Ajustement de PHP-FPM pour Nginx

Les distributions basées sur RHEL comme Rocky Linux utilisent par défaut l'utilisateur « Apache » pour PHP-FPM, ce qui ne convient pas aux configurations Nginx. Il est indispensable de modifier cela pour un fonctionnement optimal avec Nginx.

Modification de la configuration PHP-FPM

Ouvrir le fichier de configuration

Accéder au www.conf fichier à éditer :

sudo nano /etc/php-fpm.d/www.conf
Modifier les paramètres d'utilisateur et de groupe

Remplacez l'utilisateur et le groupe Apache par Nginx dans le fichier.

Post-modification :

Enregistrez vos modifications en appuyant sur (CTRL+O), puis quittez avec (CTRL+X).

Redémarrez le service PHP-FPM

Après avoir modifié la configuration, redémarrez PHP-FPM pour appliquer les modifications :

sudo systemctl restart php-fpm

Exemple de code de bloc du serveur Nginx PHP-FPM

Configuration de Nginx pour le traitement PHP

Pour permettre à Nginx de gérer les fichiers PHP, le bloc serveur doit être configuré correctement. L'exemple suivant illustre la configuration nécessaire dans le server{} bloc pour le traitement des fichiers PHP.

Configuration Nginx PHP-FPM
    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;
    }

Validation de la configuration Nginx

Après avoir mis à jour la configuration, validez-la pour garantir l'absence d'erreurs de syntaxe.

sudo nginx -t

Le résultat attendu devrait confirmer que la configuration est correcte :

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

Redémarrage du service Nginx

Pour appliquer les modifications, redémarrez le service Nginx :

sudo systemctl restart nginx

Ce redémarrage est indispensable pour les modifications et pour que Nginx commence à traiter les fichiers PHP avec la nouvelle configuration.

Conclusion

Très bien, cela conclut notre voyage ! Nous avons réussi à configurer PHP sur Rocky Linux, à le peaufiner pour Apache ou Nginx et à affiner PHP-FPM pour des performances optimales. N'oubliez pas que la vérification régulière de vos modules et configurations PHP garantit le bon fonctionnement. Et n'oubliez pas de redémarrer vos services après toute modification.

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

Laissez un commentaire