Aller au contenu principal

Guide d'Hébergement Mutualisé (cPanel, Plesk, DirectAdmin)

LeadHub est conçu dès le départ pour fonctionner sur un hébergement mutualisé. Vous n'avez pas besoin d'un VPS, d'un serveur dédié, d'un accès SSH ou de connaissances en ligne de commande. Si vous savez télécharger un fichier et remplir un formulaire web, vous pouvez installer et exécuter LeadHub.

Ce guide couvre tout ce qui est spécifique aux environnements d'hébergement mutualisé.


LeadHub sur Hébergement Mutualisé — Ce Qu'il Faut Savoir

Ce dont vous n'avez absolument PAS besoin

  • Pas de SSH / terminal / ligne de commande — jamais
  • Pas de commandes artisan — LeadHub ne nécessite jamais de taper des commandes
  • Pas de Composer — toutes les dépendances PHP sont pré-installées dans le dossier vendor/
  • Pas de Node.js ou npm — tout le CSS et JavaScript est pré-compilé
  • Pas de Redis — LeadHub utilise les sessions et le cache basés sur fichiers par défaut
  • Pas de Supervisor — le fichier cron.php remplace tout le traitement en arrière-plan
  • Pas d'accès root — les permissions utilisateur standard suffisent

Ce dont vous AVEZ besoin

  • PHP 8.3 ou supérieur (sélectionnable dans cPanel/Plesk/DirectAdmin)
  • Une base de données MySQL (tous les hébergeurs mutualisés la fournissent)
  • La possibilité d'ajouter un cron job
  • Environ 500 Mo d'espace disque libre
  • Apache avec mod_rewrite activé (par défaut sur pratiquement tous les hébergeurs)

Choisir Comment Installer — Option A ou Option B

  • Option A — Domaine Addon (Recommandé) : LeadHub obtient son propre domaine ou sous-domaine dédié (ex. leads.votredomaine.com). C'est la configuration la plus propre.
  • Option B — Installation à plat dans public_html : Vous installez LeadHub directement dans votre dossier public_html/. Fonctionne mais nécessite quelques étapes supplémentaires.

Option A — Domaine Addon (Recommandé)

Étape 1 : Créer un Domaine Addon ou Sous-domaine

Dans cPanel :

  1. Connectez-vous à cPanel.
  2. Cliquez sur Addon Domains.
  3. Remplissez :
    • New Domain Name : ex. leads.votredomaine.com
    • Document Root : changez-le en public_html/leadhub/public
  4. Cliquez sur Add Domain.

Pourquoi pointer vers public/ ? Les fichiers applicatifs de LeadHub (app/, config/, storage/, vendor/) sont conçus pour vivre au-dessus de la racine web. Seul le dossier public/ doit être accessible depuis un navigateur.

Dans Plesk : Ajoutez un domaine/sous-domaine et définissez la racine web vers leadhub/public.

Dans DirectAdmin : Ajoutez un domaine et définissez le document root vers leadhub/public.

Étape 2 : Téléchargez les Fichiers LeadHub

Structure du serveur :

public_html/
leadhub/ ← tous les fichiers LeadHub ici
app/
bootstrap/
config/
database/
public/ ← votre addon domain pointe ici
resources/
routes/
storage/
vendor/
cron.php
...etc

Étape 3 : Créez une Base de Données MySQL

Dans cPanel → MySQL Databases : créez une base, un utilisateur, et accordez tous les privilèges.

Étape 4 : Définissez les Permissions

  • storage755 (récursif)
  • bootstrap/cache755

Étape 5 : Lancez l'Assistant d'Installation

Visitez https://leads.votredomaine.com/install et suivez les cinq étapes.


Option B — Installation à Plat dans public_html/

Déplacez tout de public_html/leadhub/public/ vers public_html/, ainsi que toutes les autres dossiers LeadHub. Le fichier index.php détecte automatiquement cette disposition.

public_html/
index.php ← depuis leadhub/public/
.htaccess ← depuis leadhub/public/
app/ ← depuis leadhub/
storage/ ← depuis leadhub/
vendor/ ← depuis leadhub/
cron.php ← depuis leadhub/
...etc

Créez la base de données, définissez les permissions et visitez https://votredomaine.com/install.


Configurer le Cron Job — CRITIQUE

C'est l'étape la plus importante après l'installation. Sans le cron job, rien ne fonctionne en temps réel.

Dans cPanel

  1. Section Advanced → Cron Jobs.

  2. Tous les champs de temps à * (chaque minute).

  3. Commande :

    php /home/votreutilisateur/public_html/leadhub/cron.php >> /dev/null 2>&1

Dans Plesk

php /var/www/vhosts/votredomaine.com/leadhub/cron.php >> /dev/null 2>&1

Dans DirectAdmin

php /home/votreutilisateur/domains/votredomaine.com/leadhub/cron.php >> /dev/null 2>&1

Trouver le bon chemin PHP

Chemins courants : /usr/local/bin/php, /usr/bin/php, /opt/cpanel/ea-php83/root/usr/bin/php

Alternative : Cron basé sur le web

Ajoutez CRON_SECRET=VotreSecretAleatoire au fichier .env et configurez un cron URL :

https://votredomaine.com/cron.php?token=VotreSecretAleatoire

Référence des Permissions

Dossier / FichierPermissionRaison
storage/ (et sous-dossiers)755Sessions, logs, cache, fichiers téléchargés
bootstrap/cache/755Configuration compilée
public/755Le serveur web lit les fichiers ici
Fichiers PHP644Lisibles par le serveur web
.env640 ou 644Sensible

Sélectionner la Bonne Version PHP

cPanel : Software → MultiPHP Manager → PHP 8.3 → Apply. Plesk : Websites & Domains → PHP Settings → PHP 8.3 → OK. DirectAdmin : Domain Setup → PHP Version → 8.3.


Dépannage

ProblèmeCause probableSolution
Page blancheMauvaise version PHPPassez à PHP 8.3
Erreur 404Fichiers mal placés ou mod_rewrite inactifVérifiez les emplacements et .htaccess
Erreur 403Mauvaises permissionsMettez storage/ et public/ à 755
/install inaccessibleProblème de chemin (installation à plat)index.php doit être directement dans public_html/
Cron job ne fonctionne pasMauvais cheminVérifiez le chemin complet vers PHP et cron.php
Automatisations ne se déclenchent pasCron non configuréVérifiez le cron job
Uploads échouentstorage/app/public/ non accessible en écritureMettez storage/ à 755 récursivement
Emails non envoyésEmail non configuréParamètres → Email, configurez SMTP
Connexion base de données impossibleMauvais identifiantsVérifiez nom, utilisateur et mot de passe
Écran blanc après connexionProblème de sessionVérifiez storage/framework/sessions/
Installateur dit déjà installéinstalled.lock existeSupprimez-le de storage/
Addon domain affiche le site parentNe pointe pas vers public/Modifiez le document root