Installer Composer sur un synology sous DSM 6

Si vous disposez d’un NAS Synology sous DSM6 et que vous souhaitez utiliser Composer pour créer des projets PHP, cet article peut vous aider !

Prérequis

En prérequis, je considère comme acquis les points suivants :

  • Votre accès SSH est opérationnel,
  • Web Station est activée,
  • Vous avez installé PHP 5.6 et/ou PHP 7 sur votre NAS,
  • L’extension « phar » est active au moins dans la configuration PHP de la version avec laquelle vous souhaitez utiliser Composer.

Installation de Composer

La première chose à savoir – je suis tombé dans le panneau et c’est la raison de ce billet – c’est que votre NAS est équipé d’une version de PHP dédiée à l’exécution du DSM. Cette version n’est pas utilisée par Web Station. C’est-à-dire qu’en tapant php en ligne de commande, c’est le PHP interne qui se lance et qui est limité au niveau de ses extensions (je me suis retrouvé confronté à l’absence de « tokenizer » en souhaitant installer un logiciel). Les autres versions de PHP sont accessibles depuis les commandes php56 et/ou php70 ; qui sont installées dans /usr/local/bin.

Je vous propose donc d’installer Composer globalement au serveur dans le même répertoire que les différentes versions PHP installées ; parce que taper du php56 composer.phar, ça va deux secondes…

Commençez donc par ouvrir votre accès SSH :

$ ssh yourname@ip

Accédez au compte root :

$ sudo -i

Déplacez-vous dans le répertoire où nous installerons Composer :

$ cd /usr/local/bin

Installez Composer :

$ curl -s http://getcomposer.org/installer | php56
 All settings correct for using Composer
 Downloading...

Composer (version 1.3.1) successfully installed to: /usr/local/bin/composer.phar
 Use it: php composer.phar

Comme composer.phar utilise par défaut la commande php nous devons créer une commande qui permet d’outrepasser ce comportement. Créons donc ce script :

$ vi composer

Enregistrez le contenu suivant (tapez « i » pour passer en modification de contenu) :

!/bin/bash
php56 /usr/local/bin/composer.phar $*

Tapez Echap pour quitter le mode modification puis :wq pour enregistrer et fermer le fichier.

Rendez le script exécutable :

$ chmod +X composer

Quittez le mode root :

$ exit

Testez pour finir que la commande fonctionne correctement :

$ composer --version
Composer version 1.3.1 2017-01-07 18:08:51

Si la version s’affiche correctement, c’est tout bon !

Leave a comment

Merci d'utiliser le forum pour toute demande de support relatif aux ressources proposées sur ce site.