Configuration Node.js via cPanel

Guide complet pour déployer votre application Node.js sur Camfoot.biz via cPanel

Introduction

cPanel offre une interface "Setup Node.js App" qui permet de déployer facilement des applications Node.js sans accès SSH. Voici comment configurer votre application.

Note : Les captures d'écran sont fictives car je ne peux pas accéder à votre cPanel. Les instructions sont basées sur l'interface standard de cPanel.

Étapes de configuration

1Accéder à l'interface Node.js de cPanel

Connectez-vous à votre cPanel et recherchez l'icône "Setup Node.js App" ou "Node.js Selector".

Interface cPanel avec l'option "Setup Node.js App"

Exemple de l'interface cPanel avec l'option Node.js

2Créer une nouvelle application

Cliquez sur "Create Application" et remplissez les détails :

  • Node.js version : Choisissez la version 18+ (si disponible)
  • Application mode : Production
  • Application root : /home/camfootbiz/app
  • Application URL : https://camfoot.biz (ou le domaine que vous utilisez)
  • Application startup file : server.js
Important : L'application root doit pointer vers le répertoire qui contient votre fichier server.js et package.json

3Configurer les variables d'environnement

Dans la section "Environment Variables" de votre application Node.js dans cPanel, ajoutez les variables nécessaires :

NODE_ENV=production
PORT=3000
MONGODB_URI=votre_uri_mongodb
JWT_SECRET=votre_clé_secrète_jwt
CORS_ORIGIN=https://camfoot.biz
Attention : Ne commettez jamais de secrets ou clés API dans votre code. Utilisez toujours les variables d'environnement.

4Installer les dépendances

cPanel offre généralement un moyen d'exécuter "npm install" via l'interface :

  1. Allez dans la gestion de votre application Node.js
  2. Cherchez l'option "Run NPM Install"
  3. Exécutez l'installation des dépendances

Si cette option n'existe pas, vous devrez peut-être installer les dépendances manuellement via SSH :

# Se connecter en SSH à votre serveur
ssh camfootbiz@camfoot.biz

# Se placer dans le répertoire de l'application
cd /home/camfootbiz/app

# Installer les dépendances
npm install --production

5Démarrer l'application

Dans l'interface de gestion de votre application Node.js, cliquez sur le bouton "Run" ou "Restart" pour démarrer votre application.

Note : cPanel créera généralement un fichier de configuration Passenger qui gérera le processus Node.js pour vous.

6Configurer le domaine et SSL

Assurez-vous que votre domaine est correctement configuré dans cPanel :

  1. Allez dans "Domains" → "Addon Domains" si vous utilisez un domaine addon
  2. Configurez SSL via "SSL/TLS" → "Manage SSL sites"
  3. Utilisez Let's Encrypt pour un certificat gratuit

Configuration avancée

Fichier .htaccess pour le redirect

Si cPanel ne configure pas automatiquement le proxy, vous devrez peut-être créer un fichier .htaccess :

RewriteEngine On
RewriteRule ^$ http://127.0.0.1:3000/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]

Placez ce fichier dans le répertoire public_html de votre domaine.

Configuration PM2 alternative

Si vous avez accès à SSH, vous pouvez configurer PM2 manuellement :

# Installer PM2 globalement
npm install -g pm2

# Créer un fichier ecosystem.config.js
module.exports = {
  apps: [{
    name: 'camfoot-app',
    script: '/home/camfootbiz/app/server.js',
    instances: 1,
    autorestart: true,
    watch: false,
    env: {
      NODE_ENV: 'production',
      PORT: 3000
    }
  }]
};

# Démarrer avec PM2
pm2 start ecosystem.config.js

# Sauvegarder la configuration PM2
pm2 save

# Configurer le démarrage automatique
pm2 startup

Dépannage common

1

Application ne démarre pas

Vérifiez les logs dans cPanel → "Node.js App" → "View Logs" ou consultez /home/camfootbiz/app/logs

2

Erreurs de permission

Assurez-vous que les fichiers appartiennent à votre utilisateur cPanel :
chown -R camfootbiz:camfootbiz /home/camfootbiz/app

3

Port déjà utilisé

cPanel utilise souvent le port 3000 par défaut. Vérifiez si une autre application Node.js utilise déjà ce port.

4

Problèmes de dépendances

Exécutez npm install à nouveau et vérifiez qu'il n'y a pas d'erreurs. Certains packages peuvent nécessiter une compilation native.

Outils cPanel utiles

File Manager

Pour éditer les fichiers directement sans FTP/SSH. Pratique pour les corrections rapides.

MySQL Databases

Pour gérer votre base de données MySQL si vous en utilisez une.

Terminal

Certains hébergeurs proposent un terminal dans cPanel pour exécuter des commandes.

SSL/TLS

Pour installer et gérer les certificats SSL pour votre domaine.