Tous les articles
Moodle

Moodle 5.2 peut-il fonctionner sur hébergement mutualisé ?

10 août 2026 · 7 min de lecture

izon
rizon.agency
Moodle 5.2 peut-il fonctionner sur hébergement mutualisé ?

La réponse honnête

Moodle 5.2 peut tourner sur un hébergement mutualisé seulement si l’hôte donne assez de contrôle sur la racine du document, la version PHP, la base de données, les règles de routage, Composer, cron et la sécurité de moodledata. Beaucoup d’offres mutualisées échouent sur au moins un de ces points.

La demande sur le forum Moodle.org est claire : « Shared Hosting problem [resolved] » compte 77 réponses, avec d’autres discussions sur GoDaddy, Hostinger, cPanel, les sous-dossiers, les racines de document et le routage. Moodle 5.x a changé ce que « téléverser dans public_html » veut dire.

Les symptômes sont concrets : /admin/index.php renvoie 404, Moodle dit que le dossier racine ne doit pas être public, ou config.php signale que $CFG->wwwroot ne doit pas finir par /public. Le dossier public doit être publié, mais /public ne doit pas apparaître dans l’URL visible.

Pourquoi Moodle 5.x est plus exigeant

Moodle 5.1 a introduit le dossier public. Le guide de mise à niveau 5.2 indique que le serveur web doit servir Moodle depuis public, tandis que les fichiers sensibles restent hors de la racine web.

Sur VPS :

DocumentRoot /var/www/moodle/public

Sur mutualisé, le domaine principal est souvent verrouillé sur :

public_html

Ce décalage crée le problème. Si l’hôte ne peut pas pointer le domaine vers moodle/public, il faut utiliser sous-domaine, lien symbolique, alias ou réécriture.

La checklist hébergement

ExigencePourquoi
Racine du domaine réglable vers moodle/publicMoodle 5.x expose seulement public
Liens symboliques autorisésUtile si public_html est verrouillé
PHP 8.3 ou 8.4 web et CLIMoodle 5.2 exige PHP 8.3+
Extensions PHP requisessodium, intl, mbstring, soap, etc.
Base supportéeMariaDB 10.11, MySQL 8.4, PostgreSQL 16 ou SQL Server supporté
Composer avec le bon PHPLe dossier vendor peut être requis
.htaccess ou règles de réécritureNécessaire si FallbackResource est indisponible
Cron fiableMoodle dépend des tâches planifiées
moodledata hors webSinon risque de sécurité
Accès aux logsSans logs, chaque erreur devient devinette

Si l’hôte ne répond pas clairement, prévoyez du temps perdu.

cPanel, Hostinger, GoDaddy et sous-domaines

La solution fréquente sur cPanel est de créer un domaine additionnel ou un sous-domaine dont la racine peut être modifiée :

moodle.example.com -> /home/account/moodle/public

Le dossier parent vit alors ici :

/home/account/moodle

et seul public est exposé.

Certains panneaux type Hostinger permettent de choisir le dossier public plus directement. Certaines offres GoDaddy sont plus restrictives. Le nom de marque compte moins que les contrôles exacts de votre plan.

Si la racine ne peut pas changer

OptionQuand ça marcheRisque
Lien symbolique de public_html vers moodle/publicL’hôte autorise les symlinksPeut perturber d’autres sites
Domaine additionnel ou sous-domaineRacine personnalisableURL à planifier
Réécriture .htaccessRéécriture suffisamment supportéePlus fragile qu’une vraie racine

Ne rendez pas tout le dossier Moodle public. Moodle a déplacé des fichiers hors web pour une raison.

Routeur et Composer en mutualisé

La documentation Configuring the Router couvre FallbackResource, try_files et les règles de réécriture. En mutualisé, vous êtes souvent limité à .htaccess. Placez les règles dans public.

Si le contrôle échoue, consultez Moodle 5.2 : routeur mal configuré.

Pour Composer, Moodle peut demander :

composer install --no-dev --classmap-authoritative

Questions à poser :

  • avez-vous SSH ?
  • Composer existe-t-il ?
  • utilise-t-il PHP 8.3 ou 8.4 ?
  • pouvez-vous téléverser un artefact complet avec vendor ?

Sinon, lisez Moodle Composer vendor directory not found avant de bricoler des uploads partiels.

Mutualisé ou VPS ?

BesoinMutualiséVPS
Racine documentParfois verrouilléeContrôle total
Routage.htaccess ou limites panneauApache/Nginx complet
PHP-FPMDéfini par l’hôteContrôle total
BaseVersion imposéeVersion contrôlée
ComposerSouvent limitéContrôle total
CronLimites panneauCron système
LogsPartielsComplets

Pour des apprenants payants, de la formation conformité ou une école, le contrôle opérationnel vaut souvent un VPS ou un hébergement Moodle managé.

FAQ

Moodle 5.2 peut-il tourner sur cPanel ?

Oui si cPanel permet de pointer un domaine ou sous-domaine vers moodle/public, avec PHP/base supportés, réécriture, cron et moodledata privé.

GoDaddy ou Hostinger ?

Cela dépend du plan. Vérifiez les contrôles réels, pas seulement la marque.

Un lien symbolique vers public est-il sûr ?

Oui s’il pointe seulement vers public. N’exposez pas le dossier parent Moodle.

Dois-je utiliser MoodleCloud ?

Utilisez MoodleCloud ou un hébergement managé si vous voulez Moodle sans administrer le serveur. Utilisez un VPS si vous voulez le contrôle.

Écrit par Choaib Mouhrach

Fondateur et ingénieur logiciel senior

Je conçois et développe des plateformes d’apprentissage sur mesure pour les organisations dont les parcours de formation et de certification sont complexes. Plutôt que d’assembler des plugins et des outils tiers, je crée des systèmes adaptés au fonctionnement réel de chaque activité, afin de réduire la charge administrative et d’améliorer l’expérience des apprenants.

Commencer

Votre produit d'apprentissage mérite sa propre plateforme.

Si vous voulez offrir une expérience d'apprentissage construite autour de votre produit, de vos apprenants et de vos objectifs, vous êtes au bon endroit. Nous construisons des plateformes qui vous donnent le contrôle et la flexibilité pour grandir sans limites.