[[hebergement-mutualise:gestion-web:installer-nodejs-avec-cgi-node]]

Installer nodeJS dans un contexte mutualisé avec CGI-Node

Actuellement, nodeJS n'est pas proposé officiellement sur nos espaces d'hébergements, cependant vous pouvez l'utiliser en passant par cgi-node. CGI-Node permet d'utiliser nodeJS en bénéficiant du support CGI de nos hébergements.

Cette méthode est dépréciée, à présent, nous vous recommandons d'utiliser l'outil Setup Node.js App qui se trouve dans cPanel dans la catégorie des “logiciels”. La documentation de cet outil est en cours de rédaction, en attendant, vous pouvez consulter ce lien.

Pour commencer, il est recommandé de demander le déblocage de votre accès SSH au support. Cela sera utile pour l'installation de cgi-node. Vous pouvez faire cela en suivant cette procédure. C'est possible de l'installer sans SSH mais cela est moins évident.

Dans un premier temps, il faut télécharger l'ensemble des ressources nécessaires au fonctionnement de cgi-node. Deux choses doivent être télécharger : le binaire de nodeJS et cgi-node qui permet de le faire fonctionner en mode CGI.

Installation de nodeJS

NodeJS peut être récupéré depuis ce lien. Il faut choisir la dernière version, 64 bits, situé dans le dossier release/latest.

Par exemple, à cet instant le fichier se nomme node-v6.2.0-linux-x64.tar.gz. Il ne faut pas se tromper de version, il existe d'autres versions avec des noms similaires mais il faut impérativement choisir la version linux 64 bits.

Choix du binaire nodeJS sur la page de téléchargement du site officiel

Choix du binaire nodeJS sur la page de téléchargement du site officiel

Ensuite il faut extraire ce fichier sur votre ordinateur (à l'aide de 7Zip par exemple) puis envoyer le dossier extrait dans le répertoire bin de votre hébergement. Vous pouvez renommer le dossier en “nodejs” en enlevant le numéro de version, cela sera plus pratique pour la suite.

Si vous travaillez en SSH, vous pouvez faire cela directement depuis votre shell :

Installation de nodeJS
wget https://nodejs.org/download/release/latest/node-v10.5.0-linux-x64.tar.gz
tar -xvf node-*.tar.gz
mkdir ~bin
mv node-v10.5.0-linux-x64 ~/bin/nodejs
~/bin/nodejs/bin/node --version

Installation de CGI-Node

La dernière version de CGI-Node peut être téléchargée depuis ce lien.

Il faut télécharger la version optimisée qui sert à la production.

Choix de la version de CGI-Node à télécharger

Choix de la version de CGI-Node à télécharger

Ensuite, il faut placer ce fichier dans le répertoire cgi-bin du répertoire dans lequel vous souhaitez installer votre projet nodeJS. Dans cet exemple, il s'agit du répertoire public_html/cgi-bin.

Nous vous recommandons de renommer le fichier cgi-node.min.js en cgi-node.js et de lui attribuer les droits d'exécution (chmod 755).

Ensuite, il faut éditer ce fichier à deux endroits :

  • il faut changer le chemin vers l'exécutable nodeJS visible dans la première ligne. Dans notre exemple il s'agit de /home/demo/bin/nodejs/bin/node. Vous pouvez trouver la première partie de ce chemin dans l'outil gestionnaire de fichier de cPanel ou si vous travaillez en SSH avec la commande pwd.
  • il faut changer le chemin vers le répertoire de stockage des sessions visibles à la fin de la seconde ligne. Vous pouvez créer un dossier dédié à cela sur votre hébergement ou bien mettre le dossier tmp situé à la racine de votre hébergement. Dans notre exemple /home/demo/tmp.

Les deux endroits ou doivent les modifications doivent être apportées

Les deux endroits où doivent être appliquées les modifications

Si vous travaillez en SSH :

Installation de cgi-node
wget -O cgi-node.js https://github.com/UeiRicho/cgi-node/releases/download/v0.2/cgi-node.min.js
chmod 755 cgi-node.js
pwd
vi cgi-node.js 
# modification des chemins vers les exécutables dans le fichier

Pour activer cgi-node, il faut ajouter (ou éditer s'il existe déjà) le fichier .htaccess qui se situe dans le répertoire dans lequel vont aller les fichiers de votre projet. Dans notre exemple, il s'agit de public_html/.htaccess.

Le fichier .htaccess devra contenir les intructions suivantes :

Ajout de l'exécution des fichiers jscript par nodejs
Action cgi-node /cgi-bin/cgi-node.js 
AddHandler cgi-node .jscript
# vous pouvez ajouter d'autres extensions qui devront être interprétées par node dans le AddHandler

Pour tester si cela fonctionne, il suffit de créer un fichier info.jscript qui contient les instructions suivantes puis de l'ouvrir avec un navigateur :

Equivalent du phpinfo nodeJS
<? CgiNodeInfo() ?>

Voici le résultat :

Affichage de la page d'info nodeJS équivalente au phpinfo

Affichage de la page d'info nodeJS équivalente au phpinfo

  • Dernière modification: 17/06/2019 17:06
  • par o2switch