Synology : Installation de Node.js

17/01/2015

Node.jsNode.js est un framework de développement JavaScript utilisant la machine virtuelle V8 de Google Chrome.
Node.js contient une bibliothèque de serveur HTTP intégrée, ce qui rend possible de faire tourner un serveur web sans avoir besoin d’un logiciel externe comme Apache ou Lighttpd.

Installer Node.js sur le NAS Synology

La version de DiskStation Manager utilisée dans cet article est la 5.1

Ouvrez le centre de paquet puis affichez la catégorie Utilitaires. Recherchez l’application Node.js et lancez l’installation.

Installation de Node.js sur un NAS Synology

Installation de Node.js sur un NAS Synology

Vérifier l’installation de Node.js sur le NAS Synology

Vous devez au préalable activer le protocole SSH sur votre NAS.

Connectez-vous au serveur et exécutez la commande suivante pour vérifier l’installation de Node.js :

node -v

Vérification de l'installation de Node.js sur le NAS Synology

Vérification de l’installation de Node.js sur le NAS Synology

Créer un serveur web avec Node.js

Le code suivant utilise la bibliothèque HTTP pour retourner au navigateur la chaîne Hello World\n. Le port par défaut du serveur est le 1337. Vous pouvez le changer pour le port 80, qui est le port par défaut utilisé par les navigateurs, mais vous devez vous assurer que le serveur Web Station ne soit pas démarrer sur votre NAS.

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

Attention : Remplacez l’IP local (127.0.0.1) par celle de votre NAS. Vous ne pourrez pas y accéder sinon.

Enregistrez ce code source dans un fichier test.js dans n’importe quel répertoire de votre NAS, puis lancer son exécution via la commande node.

node test.js

Exécution du serveur Web Node.js

Exécution du serveur Web Node.js

Testons maintenant notre serveur web !
Connectez vous via un navigateur sur le port 1337 de votre NAS : http://[IP-du-nas]:1337/

Attention : Si le pare feu est activé, vous devez créer une règle pour autoriser le trafic sur le port 1337.

Hello Word !

Hello Word !

8 réflexions au sujet de « Synology : Installation de Node.js »

  1. Julien

    Y a-t-il un moyen d’installer une version de Node.js supérieure à la version 0.10 sur un NAS Synology équipé en processeur ARM (tel qu’un DS211 par exemple) ?

  2. Bruno

    Bonjour,

    Je viens de suivre le tuto pour l’installation qui est ok en SSH mais pas en http? Une idée?

    Merci

  3. Stéph

    Bonjour Julien, j’ai une demande importante pour la suite de ce tuto car il n’est pas terminé. Et si vous pouvez m’aidé, je serais très heureux car cela fait un moment que je cherche une solution.

    Comment lancer nodeJS via un script sur le serveur nas pour qu’il soit autonome et qu’un autre script vérifie que nodeJS est toujours en état de marche et si ce n’est pas le cas, relance le serveur nodeJS ? Cette vérification devrait faire un check toutes les 60 secondes au cas ou une erreur de script js fait planté le serveur nodeJS.

    Si possible, prendre en considération que le serveur nodeJS est installé sur un nas Synology DMS 5.2-5644 Update 2

  4. Alex

    Bonjour Steph,

    Ah tu trouvés la solution a ton probleme ? Car cela m’interesse egalement. Merci !

  5. Stéph

    Bonjour, oui en effet :) j’ai trouvé une solution.

    Il faut utiliser le planificateur de taches qui est la gestion de cron de ton serveur Nas.

    J’utilise le cron pour deux taches impérative :
    1. La première tache est programmé à être lancé toute les 60 sec. Cette tache exécute un démon qui vérifie si le serveur NodeJS est ouvert. Et si ce n’est pas le cas, le démon lance le serveur.
    2. A ma demande et n’est pas programmé à être relancer, la deuxième tache exécute un démon qui relance le serveur NodeJS. Pratique après une mise à jour du code server.js

    Pour mettre cela en place, il faut comprendre ce qu’est un démon ! Car ce n’est pas le cron qui lance le serveur NodeJS mais le démon. Le cron exécute le démon.

    Avec ce processus, il est possible de gérer plusieurs serveurs NodeJS sur des ports différents.

    Bon courage pour la suite :)

  6. dav38

    Bonjour,
    J’ai mon appli node js qui crash tout les deux jours environs. Est il possible de laisser tourner une console sur dsm pour espionner ce qui se passe ?
    Merci

Laisser un commentaire