Déployer un site web via Git depuis cPanel Imprimer

  • Git, github, GitLab, BitBucket, dépôt, Git Version Control., Repository
  • 0

Le module Git Version Control de cPanel permet de livrer rapidement votre code sur l’hébergement (pull depuis GitHub/GitLab/Bitbucket ou depuis votre dépôt privé), avec ou sans automatisation. Ce guide décrit les prérequis, la création du dépôt côté cPanel, la configuration du déploiement et les bonnes pratiques.

Prérequis

  • Un compte cPanel actif et l’accès à Git Version Control.
  • Un dépôt Git distant (GitHub, GitLab, Bitbucket ou serveur privé) ou un dépôt local.
  • URL du dépôt en HTTPS (recommandé) ou SSH. Pour l’authentification SSH, ajoutez votre clé publique dans cPanel > SSH Access > Manage SSH Keys. (L’accès SSH interactif peut nécessiter une activation préalable selon l’offre.)
  • Connaître le document root du site (ex. /public_html ou /public_html/mon-site).

Créer (ou cloner) un dépôt dans cPanel

  1. Connectez-vous à cPanel > Git Version Control.
  2. Cliquez sur Create.
  3. Repository Path : choisissez un chemin hors du document root si vous prévoyez un déploiement (ex. /home/USER/repos/mon-site.git ou /home/USER/repos/mon-site).
  4. Clone URL : renseignez l’URL de votre dépôt (HTTPS ou SSH). Laissez vide pour créer un dépôt vierge.
  5. Validez : cPanel clone (ou initialise) le dépôt et l’ajoute à la liste.

Configurer le dossier de déploiement

Deux approches sont possibles :

  • Approche A (simple) : le dépôt est directement dans le document root du site (ex. /public_html). Chaque pull met à jour le site en place.
  • Approche B (recommandée) : le dépôt vit hors du document root (ex. /home/USER/repos/mon-site) et cPanel déploie dans un dossier public (ex. /public_html) via un script (.cpanel.yml). Cela évite d’exposer vos fichiers Git et permet d’exécuter des étapes (build, purge cache…).

Déploiement manuel depuis cPanel

  1. Dans Git Version Control, ouvrez votre dépôt.
  2. Cliquez sur Pull or Deploy puis sur Update from Remote pour récupérer la dernière version de la branche suivie.
  3. Si vous utilisez un fichier .cpanel.yml (voir plus bas), le bouton Deploy HEAD exécute le processus de déploiement.

Déploiement automatique avec .cpanel.yml

Placez un fichier .cpanel.yml à la racine du dépôt pour définir les étapes de déploiement. Exemple minimal pour synchroniser les fichiers de dist/ vers /public_html :

---
deployment:
  tasks:
    - export DEPLOY_PATH=/home/USER/public_html
    - /bin/find $DEPLOY_PATH -mindepth 1 -maxdepth 1 -not -name ".well-known" -exec /bin/rm -rf {} \;
    - /bin/cp -a dist/. $DEPLOY_PATH/

Adaptez USER et les chemins à votre compte. Ajoutez des étapes selon vos besoins (vider un cache applicatif, mettre un mode maintenance, etc.). Évitez les tâches lourdes (build npm long, conversions vidéo…) sur un hébergement mutualisé.

Exemples de tâches utiles

# Mettre le site en maintenance (ex. WordPress)
- /bin/touch /home/USER/public_html/.maintenance

# Purger un cache applicatif (ex. Symfony)
- /bin/rm -rf /home/USER/public_html/var/cache/*

# Mettre à jour les dépendances PHP (si Composer est disponible)
- /bin/php -d detect_unicode=0 /opt/cpanel/composer/bin/composer install --no-dev --optimize-autoloader -d /home/USER/repos/mon-site

# Relancer crons côté app (si nécessaire)
- /usr/local/bin/php /home/USER/public_html/artisan optimize

# Lever la maintenance
- /bin/rm -f /home/USER/public_html/.maintenance

Déclencher un déploiement depuis la plateforme Git (webhook)

  1. Dans cPanel > Git Version Control > votre dépôt, copiez l’URL de Deployment (si proposée) ou configurez un Webhook côté GitHub/GitLab vers un script de déploiement.
  2. Sur GitHub : Settings > Webhooks > Add webhook, collez l’URL, choisissez l’événement (push) et validez.
  3. À chaque push sur la branche cible (ex. main), cPanel tirera les modifications et exécutera .cpanel.yml.

Authentification : HTTPS vs SSH

  • HTTPS : simple et compatible partout. Utilisez un token personnel (PAT) si la plateforme le requiert et enregistrez-le lors du premier pull.
  • SSH : évite la saisie d’identifiants. Importez votre clé publique dans cPanel > SSH Access, autorisez-la, puis ajoutez la clé privée au dépôt distant (GitHub/GitLab). L’accès SSH interactif peut être restreint selon l’offre.

Organisation des branches

  • production : branche déployée sur le site public.
  • staging : préproduction, connectée à un sous-domaine (ex. staging.mondomaine.com).
  • develop : intégration continue, jamais déployée en public.

Bonnes pratiques en mutualisé

  • Évitez de committer vendor/, node_modules/ et les fichiers volumineux. Utilisez .gitignore.
  • Privilégiez des builds en local/CI et déployez uniquement le résultat (ex. dist/). Le mutualisé n’est pas fait pour des builds lourds.
  • Ne versionnez pas les secrets : utilisez des variables ou des fichiers de config hors webroot.
  • Testez sur staging avant la production, et archivez une sauvegarde avant chaque déploiement.

Dépannage

  • Erreur lors du pull : vérifiez l’URL du remote, les droits d’accès (token/clé), et la branche suivie.
  • .cpanel.yml ignoré : confirmez qu’il est à la racine du dépôt et que la section deployment: est correctement indentée.
  • Fichiers Git visibles en public : ne placez pas le dépôt dans /public_html, ou bloquez l’accès à /.git via .htaccess.
  • Ressources dépassées : allégez les tâches, déplacez le build hors serveur, ou cadrez la fréquence des déploiements.

En résumé

Avec Git Version Control, cPanel permet d’automatiser un flux de déploiement fiable : vous poussez votre code, cPanel le récupère et l’installe selon les étapes définies dans .cpanel.yml. En respectant quelques bonnes pratiques (webroot séparé, secrets protégés, builds hors serveur), vous obtenez un déploiement propre, rapide et reproductible.


Cette réponse était-elle pertinente?

« Retour

Nouveaux services

Création Site Web

  • Etude de Projet
  • Mis en oeuvre rapide
  • Conception
  • Réalisation
  • Développement
  • Suivi de Projet
  • Maintenance
sur devis

Refonte Site Web

  • Rafraichissement du design
  • Intégration des réseaux sociaux
  • Mise à jour des textes et photos
  • Nouvelles fonctionnalités
  • Améliorer la convivialité
  • Nouvelle ergonomie
  • Optimiser le référencement
sur devis

Mise à jours CMS

  • Eviter les piratages
  • Affichage plus rapide du site
  • Péréniser le référencement
  • Améliore la sécurité du site
  • Nouvelles fonctionalités
  • Gestion d’articles plus aisée
sur devis

Sécurisation CMS

  • Modifier les valeurs par défaut
  • Combler les failles de sécurité
  • installation d’un pare-feux
  • Forcer l’authetification via SSL
sur devis