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

update repo

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

install lamp stack

Après l’installation, vérifiez l’état du service Apache avec la commande ci-dessous.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Dans ce qui suit, vous pouvez voir que le serveur web Apache est en cours d’exécution.

check apache2

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

check mariadb

Enfin, vérifiez la version de PHP et les extensions activées avec ce qui suit :

php -v  
php -m

Vous verrez que PHP 8.3 est installé sur votre serveur Ubuntu.

check php

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.cnf

Ajoutez 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 = 1

Enregistrez 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 mariadb

Enfin, 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_installation

Au 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 -p

Exé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

create database

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.ini

Changez 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 = 5000

Une 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 apache2

Té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.tgz

Aprè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.tgz

Enfin, 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/moodledata

Configuration 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 rewrite

Cré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.conf

Insé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 configtest

Enfin, exécutez la commande ‘systemctl‘ ci-dessous pour redémarrer Apache et appliquer vos modifications.

sudo systemctl restart apache2

Sé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 status

Sé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 -y

Aprè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.local

Lorsque 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.

language

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

moodle data

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

db driver

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

database

Cliquez sur Continuer pour confirmer l’avis de copyright.

copyright notices

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

system checks

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

installation

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

setup admin

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

moodle dashboard

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.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.