Installation Moodle · 8 min read · Nov 02, 2025
Comment installer Moodle LMS sur un serveur Ubuntu 24.04

Moodle est une plateforme open-source populaire utilisée par des établissements éducatifs du monde entier pour créer des cours en ligne, gérer du contenu et faciliter l’apprentissage collaboratif. Exécuter Moodle sur Ubuntu est un choix courant en raison de la stabilité, de la sécurité et du support d’Ubuntu pour une large gamme de paquets logiciels. Le processus implique l’installation de composants nécessaires comme Apache ou Nginx en tant que serveur web, MySQL ou PostgreSQL en tant que base de données, et PHP en tant que langage de script, tous bien supportés sur Ubuntu. Cette configuration permet aux établissements de créer un environnement d’apprentissage en ligne robuste, évolutif et personnalisable, adapté à des besoins éducatifs spécifiques.
Dans ce tutoriel, nous allons vous montrer comment installer Moodle sur un serveur Ubuntu 24.04. Vous installerez Moodle avec la pile LAMP, puis sécuriserez Moodle avec UFW et HTTPS via Certbot et Letsencrypt.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un serveur Ubuntu 24.04.
- Un utilisateur non-root avec des privilèges d’administrateur.
- Un nom de domaine pointant vers une adresse IP de serveur.
- Un pare-feu UFW en cours d’exécution.
Installation des dépendances
Moodle est une plateforme d’apprentissage open-source écrite en PHP. Pour installer Moodle, vous avez besoin d’Apache/Nginx, MySQL/MariaDB/PostgreSQL et PHP. Dans cette section, vous allez installer la pile LAMP (Linux, Apache, MariaDB et PHP) sur Ubuntu et configurer Moodle par-dessus.
Pour commencer, exécutez la commande suivante et mettez à jour votre index de paquets Ubuntu.
sudo apt update
Maintenant, exécutez la commande ci-dessous pour installer les dépendances de la pile LAMP (Apache, MariaDB et PHP). Entrez ‘Y’ pour confirmer l’installation.
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php
Après l’installation, vérifiez l’état du service Apache avec la commande ci-dessous.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Dans ce qui suit, vous pouvez voir que le serveur web Apache est en cours d’exécution.

Vérifiez le serveur de base de données MariaDB avec la commande suivante. Vous verrez que le serveur MariaDB est en cours d’exécution.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Enfin, vérifiez la version de PHP et les extensions activées avec ce qui suit :
php -v
php -mVous verrez que PHP 8.3 est installé sur votre serveur Ubuntu.

Configuration du serveur MariaDB
Après l’installation des dépendances, vous devez changer le moteur de stockage par défaut de MariaDB en ‘InnoDB‘, qui est requis par Moodle. Cela peut être fait en modifiant la configuration du serveur MariaDB. Ensuite, vous sécuriserez également le déploiement du serveur MariaDB en utilisant l’utilitaire ‘mariadb_secure_installation‘.
Ouvrez le fichier de configuration du serveur MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf‘ avec l’éditeur ‘nano’.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnfAjoutez la configuration suivante sous la section ‘[mysqld]‘. Cela changera le moteur de stockage par défaut en ‘innodb‘.
innodb_file_format = Barracuda
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1Enregistrez le fichier et quittez l’éditeur.
Maintenant, exécutez la commande ‘systemctl‘ ci-dessous pour redémarrer le serveur MariaDB et appliquer vos modifications.
sudo systemctl restart mariadbEnfin, exécutez la commande ‘mariadb_secure_installation‘ ci-dessous pour configurer l’utilisateur root de MariaDB et sécuriser votre déploiement.
sudo mariadb_secure_installationAu cours du processus, vous serez interrogé avec ce qui suit :
- Pour l’installation par défaut du serveur MariaDB sans mot de passe root, appuyez sur ENTRER lorsqu’on vous demande le mot de passe.
- L’authentification locale pour les utilisateurs root de MariaDB est sécurisée par défaut, entrez ‘n’ lorsqu’on vous demande de changer la méthode d’authentification en ‘unix_socket’.
- Entrez ‘Y’ pour créer un nouveau mot de passe root MariaDB. Ensuite, entrez le mot de passe fort pour votre utilisateur root MariaDB et répétez.
- Lorsqu’on vous demande de désactiver l’authentification à distance pour l’utilisateur root de MariaDB, entrez ‘Y’ pour accepter.
- L’installation par défaut du serveur MariaDB est livrée avec la base de données ‘test’ et permet à un utilisateur anonyme d’y accéder. Entrez ‘Y’ pour les deux paramètres afin de supprimer la base de données par défaut ‘test’ et de supprimer le privilège anonyme.
- Enfin, entrez ‘Y’ pour confirmer le rechargement des privilèges de table.
Création de la base de données et de l’utilisateur
Maintenant que vous avez configuré le serveur MariaDB, créons une nouvelle base de données et un utilisateur via le client ‘mariadb’.
Connectez-vous au serveur MariaDB avec la commande client ‘mariadb‘ ci-dessous. Entrez votre mot de passe root MariaDB lorsqu’on vous le demande.
sudo mariadb -u root -pExécutez maintenant les requêtes suivantes pour créer une nouvelle base de données ‘moodle‘, un utilisateur ‘moodle‘, et assurez-vous de changer le mot de passe avec vos informations.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
QUIT
Configuration de PHP
Dans cette section, vous allez modifier la configuration PHP ‘php.ini’ et changer certaines valeurs par défaut requises par Moodle.
Ouvrez la configuration PHP ‘/etc/php/8.3/apache2/php.ini‘ avec l’éditeur ‘nano‘.
sudo nano /etc/php/8.3/apache2/php.iniChangez la configuration par défaut avec ce qui suit. Assurez-vous d’ajuster les options ‘memory_limit‘ et ‘date_timezone‘ avec vos informations.
memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000Une fois terminé, enregistrez le fichier et quittez.
Enfin, exécutez la commande ci-dessous pour redémarrer le serveur web Apache et appliquer vos modifications à PHP.
sudo systemctl restart apache2Téléchargement du code source de Moodle
À ce stade, vous avez installé et configuré la pile LAMP. Téléchargeons le code source de Moodle et configurons le répertoire d’installation de Moodle.
Allez dans le répertoire ‘/var/www‘ et téléchargez le code source de Moodle en utilisant la commande ‘wget‘. Assurez-vous de visiter la page de téléchargement de Moodle pour obtenir le lien de la dernière version. Dans ce cas, vous allez télécharger la dernière version stable Moodle 40.4.
cd /var/www
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgzAprès le téléchargement de Moodle, extrayez-le avec la commande ‘tar‘ ci-dessous. Le code source de Moodle sera disponible dans le répertoire ‘/var/www/moodle‘.
tar xvf moodle-latest-404.tgzEnfin, exécutez la commande ci-dessous pour créer un nouveau répertoire de données ‘/var/www/moodledata‘, changer la propriété du répertoire Moodle à l’utilisateur ‘www-data‘, et vous assurer que les répertoires Moodle et de données sont accessibles en écriture par l’utilisateur ‘www-data‘.
sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledataConfiguration de l’hôte virtuel Apache
Avec Moodle téléchargé, vous allez créer un nouveau fichier d’hôte virtuel Apache pour exécuter Moodle. Assurez-vous que vous avez votre domaine prêt et résolu à l’adresse IP de votre serveur Ubuntu.
Tout d’abord, exécutez la commande ‘a2enmod‘ ci-dessous pour activer le module ‘rewrite‘.
sudo a2enmod rewriteCréez un nouveau fichier d’hôte virtuel Apache ‘/etc/apache2/sites-available/moodle.conf‘ avec l’éditeur ‘nano‘.
sudo nano /etc/apache2/sites-available/moodle.confInsérez la configuration suivante et assurez-vous de changer le nom de domaine avec vos informations.
DocumentRoot /var/www/moodle/
ServerName moodle.howtoforge.local
ServerAdmin [email protected]
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
Enregistrez le fichier et quittez l’éditeur une fois terminé.
Maintenant, exécutez la commande suivante pour activer le fichier ‘moodle.conf‘ et vérifier votre syntaxe Apache. Si vous avez la bonne syntaxe Apache, vous verrez une sortie ‘Syntax is OK‘.
sudo a2ensite moodle.conf
sudo apachectl configtestEnfin, exécutez la commande ‘systemctl‘ ci-dessous pour redémarrer Apache et appliquer vos modifications.
sudo systemctl restart apache2Sécurisation de Moodle avec UFW
Dans cette étape, vous allez ouvrir les protocoles HTTP et HTTPS via UFW (Uncomplicated Firewall). Assurez-vous que vous avez UFW en cours d’exécution avant de commencer.
Exécutez la commande ci-dessous pour activer le profil ‘Apache Full‘ sur UFW. Avec cela, le trafic HTTP et HTTPS sera autorisé.
sudo ufw allow 'Apache Full'Maintenant, vérifiez la liste des règles activées sur UFW avec ce qui suit. Vous verrez que le profil ‘Apache Full‘ est activé.
sudo ufw statusSécurisation de Moodle avec HTTPS
En plus du pare-feu, vous allez également générer des certificats SSL/TLS et sécuriser Moodle avec HTTPS. Dans cette section, vous allez mettre en œuvre HTTPS pour Moodle via Certbot et Letsencrypt. Si vous installez Moodle localement, passez cette étape.
Installez les paquets ‘certbot‘ et ‘python3-certbot-apache‘ avec la commande suivante.
sudo apt install certbot python3-certbot-apache -yAprès l’installation, exécutez la commande ‘certbot‘ ci-dessous pour générer des certificats SSL/TLS pour Moodle. Assurez-vous de changer le nom de domaine et l’adresse e-mail avec vos informations.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d moodle.howtoforge.localLorsque le processus est terminé, vos certificats SSL seront disponibles dans le répertoire ‘/etc/letsencrypt/live/domain.com‘, et votre installation de Moodle devrait être sécurisée automatiquement avec HTTPS.
Installation de Moodle
Visitez votre nom de domaine Moodle tel que https://moodle.howtoforge.local/ et vous verrez l’assistant d’installation.
Sélectionnez votre langue par défaut et cliquez sur Suivant.

Entrez votre répertoire de données pour Moodle ‘/var/www/moodledata‘.

Sélectionnez MariaDB comme pilote de base de données.

Entrez les détails de votre base de données et utilisateur MariaDB.

Cliquez sur Continuer pour confirmer l’avis de copyright.

Dans la section des vérifications du serveur, assurez-vous que votre environnement est prêt.

Maintenant, l’installation de Moodle sera traitée.

Après l’installation, entrez le nouvel utilisateur admin, l’e-mail et le mot de passe pour Moodle.

Maintenant, vous verrez le tableau de bord Moodle comme suit :

Conclusion
Félicitations ! Vous avez terminé l’installation de Moodle sur le serveur Ubuntu 24.04. Vous avez installé Moodle 40.4 sur Ubuntu avec la pile LAMP (Linux, Apache, MariaDB et PHP), et sécurisé Moodle avec UFW (Uncomplicated Firewall) et HTTPS via Certbot et Letsencrypt.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.