Présentation
cPanel propose l'outil Setup Node.js App qui permet d'héberger des applications Node.js directement sur votre hébergement mutualisé. Vous pouvez déployer des API Express, des applications Next.js en mode serveur, ou tout autre projet Node.js.
Versions Node.js disponibles
Gaprod propose plusieurs versions LTS de Node.js (18, 20, 22). La version recommandée pour les nouveaux projets est Node.js 22 LTS. Vous pouvez changer de version depuis l'interface cPanel sans affecter les autres applications.
Créer une application Node.js
Accéder à Setup Node.js App
Dans cPanel, cherchez la section Logiciels et cliquez sur Setup Node.js App.
Créer une nouvelle application
Cliquez sur le bouton Créer une application (ou Create Application). Un formulaire de configuration s'affiche.
Configurer l'application
Renseignez les paramètres de votre application :
- Version Node.js : sélectionnez la version requise par votre projet (ex. : 22 LTS)
- Mode d'application : choisissez Production ou Development
- Répertoire de l'application : le dossier qui contiendra votre code source (ex. :
monapp— ce dossier sera créé dans votre répertoire home, pas danspublic_html) - URL de l'application : le domaine ou sous-domaine sur lequel votre application sera accessible (ex. :
app.votredomaine.fr) - Fichier de démarrage : le point d'entrée de votre application (ex. :
server.jsouindex.js)
Cliquez sur Créer pour valider.
Vérifier la création
Après création, l'application apparaît dans la liste avec son statut (Arrêtée au départ). Le dossier spécifié a été créé dans votre répertoire home.
Déployer votre code
Téléverser les fichiers de l'application
Transférez les fichiers de votre application dans le répertoire créé par cPanel. Vous pouvez utiliser :
- SFTP (avec FileZilla ou Cyberduck) : connexion sécurisée, idéale pour les gros projets
- Gestionnaire de fichiers cPanel : pour des modifications ponctuelles
- Git : pour un déploiement automatisé (voir le guide Déploiement avec Git)
Ne téléversez pas le dossier
node_modules/— il sera généré sur le serveur.Installer les dépendances
Dans cPanel → Setup Node.js App, cliquez sur l'icône Éditer de votre application. En bas de la page, cliquez sur Run NPM Install pour installer les dépendances listées dans votre
package.json.Cette opération peut prendre quelques minutes selon le nombre de dépendances.
Accès SSH pour plus de contrôle
Vous pouvez aussi installer les dépendances via SSH pour avoir plus de retours en cas d'erreur. Connectez-vous en SSH, naviguez vers le dossier de l'application et exécutez
npm install.Configurer les variables d'environnement
Toujours dans la page d'édition de l'application, la section Variables d'environnement vous permet de définir les variables
ENVnécessaires (connexion BDD, clés API, etc.) sans avoir à créer un fichier.envmanuellement.Cliquez sur Ajouter une variable et renseignez le nom et la valeur de chaque variable.
Démarrer l'application
De retour dans la liste des applications, cliquez sur le bouton Démarrer (icône triangle). L'application démarre et est maintenant accessible via l'URL configurée.
Vérifiez le statut : il doit passer à En cours d'exécution.
Configurer un sous-domaine pour l'application
Si vous avez configuré votre application sur app.votredomaine.fr, assurez-vous que ce sous-domaine existe.
Créer le sous-domaine dans cPanel
Dans cPanel → Domaines → Sous-domaines, créez le sous-domaine
apppour votre domaine. cPanel crée automatiquement un dossier et une entrée DNS.Vérifier le proxy
L'outil Setup Node.js App configure automatiquement un proxy Apache/LiteSpeed qui redirige les requêtes vers le port interne de votre application Node.js. Vous n'avez pas à configurer ce proxy manuellement.
Gérer l'application
Redémarrer après une mise à jour
Après avoir modifié votre code ou mis à jour les dépendances, redémarrez l'application depuis cPanel → Setup Node.js App → bouton Redémarrer.
Consulter les logs
Les logs de votre application Node.js sont accessibles via SSH ou dans cPanel → Journaux → Erreurs. Configurez votre application pour écrire les logs dans un fichier dédié :
// Dans votre server.js
const fs = require('fs');
const logStream = fs.createWriteStream('./app.log', { flags: 'a' });
console.log = (msg) => logStream.write(`${new Date().toISOString()} ${msg}\n`);
Arrêter et supprimer une application
Pour arrêter une application sans la supprimer, cliquez sur le bouton Arrêter. Pour la supprimer complètement, cliquez sur l'icône Supprimer — les fichiers du projet ne sont pas supprimés automatiquement.
Exemple : Déployer une API Express
Voici un exemple minimal de server.js pour une API Express :
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.use(express.json());
app.get('/', (req, res) => {
res.json({ message: 'API Gaprod opérationnelle' });
});
app.listen(PORT, () => {
console.log(`Serveur démarré sur le port ${PORT}`);
});
Et le package.json correspondant :
{
"name": "mon-api",
"version": "1.0.0",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "^4.18.0"
}
}
N'utilisez pas le port 80 ou 443 directement
Sur un hébergement mutualisé, vous ne pouvez pas écouter sur les ports 80 ou 443 directement. cPanel se charge du proxy. Utilisez un port interne (3000, 8080, etc.) — la variable process.env.PORT est automatiquement définie par cPanel.
Étapes suivantes
Votre application Node.js est déployée et accessible. Pour aller plus loin :
- Configurez un certificat SSL pour sécuriser votre sous-domaine
- Mettez en place un déploiement automatique avec Git
- Optimisez les performances avec des variables d'environnement
NODE_ENV=production