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.
Connectez-vous à votre espace client, rendez-vous dans la rubrique Serveurs puis cliquez sur Gérer en face de votre machine VPS sous ISPConfig.
Dans le tableau de bord de votre serveur, cliquez sur Panel d'administration pour vous connecter à la console ISPConfig.
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.
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.
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).
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).
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.
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.
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.
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/.
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é.
Plusieurs approches sont possibles pour intégrer les paquets Node.js selon vos exigences d'administration et le maintien de votre infogérance.
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.
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.
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.
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.
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.