Installer PHP et Composer PHP-FPM, extensions courantes et Composer global sur un VPS Linux HolyCloud. ~11 min de lecture Intermédiaire #php #composer #php-fpm #nginx Installer PHP et Composer Ce guide installe PHP-FPM et les extensions usuelles sur un VPS HolyCloud, puis Composer en binaire global pour déployer Symfony, Laravel ou WordPress en CLI. Prérequis VPS Ubuntu 22.04/24.04 ou Debian 12 Accès sudo Nginx ou Apache déjà prévu pour passerelle vers PHP-FPM (optionnel) Conseil : une version PHP par site en production ; utilisez des pools FPM séparés si vous hébergez plusieurs clients. Étape 1 : ajouter le dépôt PHP (Sury sur Debian/Ubuntu) sudo apt update sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common sudo add-apt-repository -y ppa:ondrej/php sudo apt update Sur Debian 12 (sans PPA), utilisez le dépôt Sury : sudo apt install -y apt-transport-https lsb-release ca-certificates curl sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt update Étape 2 : installer PHP 8.3-FPM et extensions sudo apt install -y php8.3-fpm php8.3-cli php8.3-common php8.3-mysql php8.3-xml php8.3-curl \ php8.3-mbstring php8.3-zip php8.3-intl php8.3-gd php8.3-bcmath php8.3-opcache Activez et démarrez FPM : sudo systemctl enable --now php8.3-fpm sudo systemctl status php8.3-fpm Vérifiez la version : php -v php -m | grep -E 'curl|mbstring|openssl' Socket FPM (pour Nginx) : ls -la /run/php/php8.3-fpm.sock Exemple de fragment Nginx : location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } Étape 3 : tuning PHP-FPM minimal Éditez le pool www : sudo nano /etc/php/8.3/fpm/pool.d/www.conf Ajustements pour un VPS 2 Go RAM (exemple) : pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 4 sudo systemctl restart php8.3-fpm Étape 4 : installer Composer (global) cd /tmp curl -sS https://getcomposer.org/installer -o composer-setup.php php composer-setup.php --install-dir=/usr/local/bin --filename=composer rm composer-setup.php Vérifiez : composer --version which composer Projet test : mkdir -p ~/demo-php && cd ~/demo-php composer init --name=demo/app --no-interaction composer require monolog/monolog composer install php -r "require 'vendor/autoload.php'; echo 'Composer OK';" Étape 5 : Composer global (outils CLI) Le répertoire global est ~/.composer ou ~/.config/composer. Ajoutez le bin au PATH : composer global require laravel/installer echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc source ~/.bashrc Liste des paquets globaux : composer global show Vérification php-fpm8.3 -t sudo systemctl status php8.3-fpm echo '<?php phpinfo();' | php | head -20 Fichier php.ini production : display_errors = Off, opcache.enable = 1. Besoin d'aide ? Pour erreurs 502 Nginx ↔ PHP-FPM, vérifiez le socket, les permissions et sudo journalctl -u php8.3-fpm. Suite de la lecture Article précédent Installer Node.js (LTS) Lire Article suivant Installer Plesk Obsidian Lire