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 (le « $ » n’est pas à taper, il représente les extraits correspondants à de la ligne de commande) :

$ 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 !

2 Comments

  1. Patrick:

    Bonjour,

    très bon tuto

    Je travaille sur Putty, donc le $ que tu places dans le tuto mon comliqué la tache pour comprendre que pour mon cas je ne suis pas obligé de le mettre, j’ai perdu beaucoup de temps pour comprendre.

    quand je teste
    composer –version

    j’ai comme reponse

    Permission denied

    je suis en dernière version de dsm.

    Merci

  2. SamRay1024:

    Merci pour ce retour, j’ai ajouté une note sur le $ 😉

    Pardon pour le délai, je suis passé à côté des commentaires à approuver (c’est que je ne suis pas habitué à en avoir !).

    As-tu pu résoudre ton souci depuis la rédaction de ce commentaire ?

    Il faut vérifier les droits d’accès au binaire de composer et les ajuster en conséquence pour que tu puisses l’utiliser dans ta session utilisateur.

Leave a comment

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