Ces dernières années, NodeJS n’a cessé de de grandir en popularité. Selon StackOverflow, Javascript est le language le plus populaire du moment. Si vous êtes un développeur NodeJS vous vous êtes certainement posé la question si développer des serveurs NodeJS était possible sur Plesk.
La réponse est oui ! C’est possible ! Dans ce tuto je vais vous expliquer comme mettre en place votre environnement étape par étape en utilisant Ubuntu 14.04 et Plesk 12,5. Vous pouvez utiliser ce tuto sur d’autres OS Linux ou version de Plesk mais il y aura des petites modifs à ajouter.
On va partir du principe que vous savez déjà installer node sur un serveur. Sinon je vous invite à suivre les instructions du site officiel nodejs.org:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash –
sudo apt-get install -y nodejs
Vérifions ensemble le bon déroulement de l’installation en vérifiant la version de node avec la commande :
node -v
Vous devriez avoir le résultat suivant
v6.2.0
Prochaine étape, installation d’une application coté serveur, Plesk 12,5 dispose du composant Phusion Passenger que vous pouvez facilement installer.
Croyez moi il est super utile et permettra une installation rapide.
Connectez-vous tout d’abord a Plesk avec les comptes admin. Allez dans “Tools & Settings” et cliquez sur le lien “Updates & Upgrades”:
Cliquez sur “Add/Remove Components” sur l’écran suivant et développez la branche “Web hosting” et cochez “Phusion Passenger server” :
Phusion Passenger se lancera comme un module web serveur, après l’installation il est normalement activé. Retournez sur “Tools & Settings” et cliquez sur le lien “Apache Web Server” (situé sous “General Settings”). C’est ici que nous avons besoin d’activer le module “passenger”:
La prochaine étape consiste à préparer un domaine pour héberger notre application NodeJS. Nous avons besoin de renseigner correctement le document root pour se domaine. Par défaut, Phusion Passenger se focus sur le fichier app.js qui doit être situé dans le dossier parent de la racine.
Nous allons déployer notre app sur le répertoire “my-app”, nous devons donc définir le document root comme “my-app/public”. Allez dans “Websites & Domains” et cliquez sur “Hosting Settings”. C’est ici on change le fameux document root.
Pour la dernière étape, nous allons déployer notre app NodeJS. Pour le moment, on va se contenter d’un simple “Hello World”.
Vous pouvez utiliser le File Manager pour créer les repertoires:
Vous pouvez aussi vous logguer via ssh et lancer les commandes suivantes:
mkdir my-app
mkdir my-app/public
mkdir my-app/tmp
Ensuite créer le fichier my-app/app.js avec le contenu suivant:
const http = require(‘http’);
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader(‘Content-Type’, ‘text/plain’);
res.end(‘Hello World\n’);
});
server.listen(0, ‘0.0.0.0’, () => {
console.log(‘Node.js app is running…’);
});
Vérifions le résultat en naviguant sur le site. Vous devriez voir apparaitre le message “Hello World” sur votre page. De plus, le fichier /var/log/apache2/error.log doit contenir le message codé plus haut à savoir “Node.js app is running…”. C’est d’ailleurs dans ce fichier que vous pourrez lire les erreurs si vous en avez.
– « Ok Jamy ! mais comment je redémarre mon app ? »
– « Tout simplement en utilisant la méthode standard de Phusion Passenger, créer ou faite un « touch » du fichier appelé restart.txt dans votre dossier /tmp
touch tmp/restart.txt
Et voila ! Félicitation, vous avez réussi à lancer votre premier serveur NodeJS sur votre Plesk.
La prochaine fois, nous ferons un système de Chat avec socket.io avec une dizaine de ligne uniquement !