Utiliser Node.js avec ISPConfig sur un VPS

Procédure

Pour exécuter une application Node.js sur votre VPS avec ISPConfig, vous devez configurer Apache en reverse proxy vers le port local de votre script. Node.js est un environnement d'exécution JavaScript côté serveur qui permet de créer des applications web rapides et évolutives. En combinant un gestionnaire de processus comme PM2 et les directives ISPConfig, vous assurez la persistance de votre service et la sécurisation par certificat SSL.

Les étapes

  1. Accéder à la gestion de votre VPS

    Connectez-vous à votre espace client, rendez-vous dans la rubrique Serveurs puis cliquez sur Gérer en face de votre machine VPS sous ISPConfig.

    Utiliser Node.js avec ISPConfig sur un VPS
  2. Ouvrir l'interface ISPConfig

    Dans le tableau de bord de votre serveur, cliquez sur Panel d'administration pour vous connecter à la console ISPConfig.

    Utiliser Node.js avec ISPConfig sur un VPS
  3. Gérer l'infogérance et l'accès root si nécessaire

    Si vous choisissez d'installer Node.js globalement pour tout le système plutôt que pour le compte local du site, cliquez sur Infogérance, cochez l'option Serveur NON infogéré par LWS et confirmez avec Valider. LWS ne gère alors plus le serveur, ce qui débloque les identifiants dans Accès ROOT SSH.

    Utiliser Node.js avec ISPConfig sur un VPS
  4. Créer le site web et activer le certificat SSL

    Dans ISPConfig, ouvrez l'onglet Sites, ajoutez votre domaine (par exemple « exemple.fr »), puis cochez les cases SSL et Let's Encrypt SSL avant d'enregistrer.

  5. Se connecter en SSH au serveur

    Ouvrez votre terminal et établissez la connexion SSH avec votre compte (utilisateur du site ISPConfig ou utilisateur root si l'infogérance a été retirée).

    Utiliser Node.js avec ISPConfig sur un VPS
  6. Activer les modules proxy d'Apache

    Pour rediriger le trafic HTTP vers votre application, activez les modules requis avec la commande a2enmod proxy proxy_http puis redémarrez Apache via systemctl restart apache2 (action nécessitant les droits d'administration ou déjà active selon votre formule).

  7. Installer Node.js LTS

    Installez Node.js en version LTS sur votre session à l'aide de nvm ou des dépôts de votre distribution, puis vérifiez la version installée en saisissant la commande node -v.

  8. Créer l'application Express minimale

    Placez-vous dans le répertoire de votre site web, initialisez un projet avec npm init -y, installez le framework Express avec npm install express et créez un fichier server.js configuré pour écouter sur le port local 3000.

  9. Démarrer et pérenniser l'application avec PM2

    PM2 est un gestionnaire de processus pour Node.js permettant de maintenir les applications actives en continu et de les relancer après un incident. Installez-le avec npm install -g pm2, démarrez votre script via pm2 start server.js --name mon-app et enregistrez l'état avec pm2 save.

  10. Configurer le reverse proxy Apache dans ISPConfig

    Un reverse proxy est un serveur intermédiaire qui réceptionne les requêtes web des visiteurs pour les transférer au serveur applicatif interne. Dans ISPConfig, éditez votre site, rendez-vous dans l'onglet Options, puis ajoutez dans le champ Directives Apache : ProxyPreserveHost On suivi de ProxyPass / http://localhost:3000/ et ProxyPassReverse / http://localhost:3000/.

  11. Tester le fonctionnement en HTTPS

    Ouvrez votre navigateur et saisissez l'adresse de votre site (par exemple https://exemple.fr) pour constater l'affichage de votre script Node.js sécurisé.

Méthodes d'installation de Node.js sur votre VPS

Plusieurs approches sont possibles pour intégrer les paquets Node.js selon vos exigences d'administration et le maintien de votre infogérance.

  • Installation via NVM (Node Version Manager) — Permet d'installer et gérer plusieurs versions de Node.js directement dans le répertoire utilisateur, sans privilèges root et sans modifier l'infogérance du VPS.
  • Installation via le gestionnaire de paquets APT de Debian — Installe une version stable globale pour tout le système d'exploitation, nécessitant les droits root et la désactivation de l'infogérance.

Questions fréquentes

Pourquoi mon site affiche-t-il une erreur 502 ou 503 ?

Une erreur 502 Bad Gateway ou 503 Service Unavailable indique qu'Apache ne parvient pas à joindre Node.js sur le port configuré. Vérifiez que votre application est bien lancée sous PM2 avec la commande pm2 status et qu'elle écoute bien sur le port 3000 en local.

L'infogérance LWS est-elle obligatoire pour faire fonctionner Node.js ?

Non. Le VPS ISPConfig est infogéré par défaut, ce qui garantit la prise en charge de votre serveur. Vous pouvez faire fonctionner Node.js sans root grâce à nvm sous le compte shell de votre site. Si vous retirez l'infogérance pour obtenir l'accès root, vous assurez vous-même l'administration totale du serveur.

Mon application Node.js redémarre-t-elle si le VPS est relancé ?

Oui, à condition d'avoir exécuté la commande pm2 startup puis pm2 save. PM2 réactive automatiquement vos scripts au démarrage du système.

Puis-je faire tourner plusieurs applications Node.js sur le même serveur ?

Oui. Attribuez simplement un port local différent à chaque application (par exemple 3000, 3001) et configurez les directives Apache ProxyPass correspondantes pour chaque domaine dans ISPConfig.

Faut-il ouvrir le port de mon application dans le pare-feu ?

Non. L'application Node.js écoute uniquement sur l'adresse locale (203.0.113.10 ou localhost). C'est le serveur Apache qui reçoit les connexions web sécurisées sur les ports standards 80 et 443 pour les rediriger en interne.

Liens utiles

aide.lws.fr/a/7952
Cet article vous a-t-il aidé ?

Oui

Non

Lu 3 fois

Merci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.

Articles similaires

Une question sur cet article ?

Posez-la à l'équipe LWS et à la communauté. Réponse publiée après modération.

Poser une question à l'équipe LWS et à sa communauté

RGPD : Responsable : LWS-Ligne Web Services. Finalité : modération et publication publique de votre question, notification éventuelle d'une réponse. Base légale : consentement (art. 6.1.a RGPD). Conservation des emails : 90 jours après notification, 12 mois maximum sans réponse. Pour exercer vos droits, consultez la section RGPD de nos CGV.