Vous êtes ici : Accueil / Debian GNU/Linux / Système / Logiciels / Installer Composer sur Debian

Installer Composer sur Debian

Par Pierre-Yves Landuré Dernière modification 29/10/2017 18:32

Composer est un gestionnaire de paquet pour PHP. Il facilite la gestion des dépendances des gros projets PHP. Ce guide facilite son installation en tant que commande système sur Debian

Ce guide est testé sur:

  • Debian 8.0 Jessie
  • Debian 9.0 Stretch

Ce guide est testé avec ces versions de Composer

  • 1.5.1

Pré-requis

Ce guide nécessite:

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Détectez le nom des paquets PHP disponibles:

phpVersion='5'
if [ -n "$(command apt-cache pkgnames php-cli)" ]; then
phpVersion=''
fi

Déterminez l'utilisateur pour l'utilisation de composer:

composerUser='composer'

Déterminez le répertoire principal de l'utilisateur composer:

composerHome="/var/lib/${composerUser}"

Préparation de l'environnement

Installez les logiciels nécessaires:

${cmdProxy} apt-get install php${phpVersion}-cli php${phpVersion}-curl sudo

Rechargez la configuration de PHP:

${cmdProxy} php-tools --reload

Créez un utilisateur système dédié à composer:

${cmdProxy} adduser --system --disabled-password --group --home "${composerHome}" "${composerUser}"

Mise en place de l'outil

Téléchargez le script d'installation de l'outil:

${cmdProxy} php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');"

Installez composer:

${cmdProxy} php '/tmp/composer-setup.php' \
--no-plugins --no-scripts \
--filename='composer' \
--install-dir='/usr/local/bin'

Supprimez le script d'installation:

${cmdProxy} rm '/tmp/composer-setup.php'

Mise à jour automatisée

Mettez en place un script de mise à jour automatique quotidienne de composer:

${cmdProxy} tee '/etc/cron.daily/composer' <<< '#!/bin/bash
# Daily update check for composer.
command test -x "/usr/local/bin/composer" || exit 1
composer --no-plugins self-update 2>"/dev/null"'
${cmdProxy} chmod +x '/etc/cron.daily/composer'

Utilisation de l'outil

Utilisez l'outil à l'aide de la commande:

echo "# Use composer with this command:
sudo -u '${composerUser}' composer"

Remerciements