Installation Moodle · 6 min read · Nov 07, 2025
Comment installer Moodle sur ISPConfig
Moodle est une plateforme d’apprentissage conçue pour fournir aux éducateurs, aux administrateurs et aux apprenants un système unique, robuste, sécurisé et intégré pour créer des environnements d’apprentissage personnalisés.
Il est utilisé dans de nombreux environnements, allant de l’éducation, de l’e-learning aux tests de certification.
Je l’utiliserai personnellement tous les jours pour enseigner à mes étudiants dans un cours sur les systèmes d’exploitation et tant les enseignants que les étudiants l’apprécient.
Dans ce tutoriel, nous allons apprendre comment l’installer en tant que site Web à l’intérieur d’ISPConfig, également avec un certificat SSL de Let’s Encrypt.
Le tutoriel est basé sur Debian 8, mais il devrait également bien fonctionner avec Ubuntu et d’autres distributions prises en charge par ISPConfig.
Alors, quels sont les prérequis avant de commencer
- ISPConfig installé (ce guide devrait être correct https://www.howtoforge.com/tutorial/perfect-server-debian-8-4-jessie-apache-bind-dovecot-ispconfig-3-1/)
- DNS correctement configuré pour pointer vers votre site (pour notre test, nous utilisons course.servisys.it comme référence de l’exemple), cela est nécessaire pour la configuration correcte de Let’s Encrypt
1. Configurer le DNS
Dans notre exemple, nous avons dit que nous utiliserons le domaine course.servisys.it, donc lorsque nous ouvrirons notre site Moodle, nous utiliserons https://course.servisys.it, donc pour configurer le DNS. Allez dans l’onglet DNS dans ISPConfig et modifiez votre DNS pour qu’il ressemble à quelque chose comme l’image ci-dessous :

Attention à sélectionner un type d’enregistrement A. C’est une étape très importante, car l’enregistrement A est utilisé par Let’s Encrypt pour générer le certificat SSL.
Si vous gérez votre DNS chez un fournisseur externe, vous devrez créer le même type d’enregistrement là-bas.
2. Créer le site Web
Maintenant, allez dans l’onglet Site Web dans ISPConfig et créez un nouveau site, appelé comme la configuration DNS précédente, en modifiant les options suivantes :

Sous-domaine automatique : dans mon cas, j’ai changé de www. à aucun car mon domaine est course.servisys.it. Si vous le définissez sur www, l’automatisation de Let’s Encrypt essaiera de générer un certificat pour www.course.servisys.it et échouera. Faites donc attention à cette option.
SSL : Activer pour SSL.
Let’s Encrypt : oui, nous voulons générer un certificat avec cela.
PHP : Fastcgi fonctionne bien pour moi.
Maintenant, cliquez sur enregistrer et attendez que le certificat soit émis correctement.
Attendez quelques minutes et essayez d’ouvrir votre site Web, dans mon cas https://course.servisys.it, si tout va bien, vous verrez la barre verte !

3. Création de la base de données
Créons un utilisateur de base de données et une base de données à utiliser avec Moodle.
Allez dans l’onglet Sites, puis dans Utilisateurs de base de données > nouvel utilisateur.
Sélectionnez le client associé, choisissez un nom et un mot de passe, quelque chose comme ceci :

Prenez note de :
- Utilisateur de base de données
- Mot de passe
Retournez dans l’onglet Sites, et maintenant choisissez Bases de données, puis Ajouter une nouvelle base de données, sélectionnez votre site (courses.serverisy.it), choisissez un nom de base de données et sélectionnez l’utilisateur précédemment créé, puis cliquez sur enregistrer. Quelque chose comme la capture d’écran ci-dessous :

4. Modifier la configuration MySql
La configuration MySql par défaut nécessite quelques petites modifications pour fonctionner avec Moodle. Vous devez éditer le fichier :
nano /etc/mysql/my.cnfet au début, ajoutez la ligne rouge
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8mb4Toujours dans le même fichier, descendez un peu, avant que la déclaration [mysqldump] ne commence, et ajoutez à nouveau les lignes rouges
#Moodle - Matteo
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysqldump]
quick
quote-names
max_allowed_packet = 16MCes modifications sont nécessaires car elles sont des prérequis pour installer Moodle, sinon pendant l’installation, cela ne vous permettra pas de continuer.
Après cela, redémarrez MySql avec :
/etc/init.d/mysql restart5. Préparation de l’installation de Moodle
Nous sommes maintenant prêts à préparer l’installation de Moodle, nous allons le faire depuis la ligne de commande car c’est plus rapide que FTP :)
Allez sur cette page et sélectionnez l’installation qui convient à vos besoins, dans un environnement de production, je vous suggère d’utiliser la version stable. Au moment où nous écrivons, c’est la 3.2.2.
Donc, depuis la ligne de commande, allez dans le répertoire Web de votre site, dans mon cas, voici les commandes :
cd /var/www/course.servisys.it/web rm index.htmlwget https://download.moodle.org/download.php/direct/stable32/moodle-3.2.2.tgztar -zxvf moodle-3.2.2.tgzcp -pr moodle/* ./cp -pr moodle/.* ./Lorsque vous utilisez la commande cd, changez-la évidemment au nom de votre site.
Nous avons supprimé la page index.html par défaut, car nous voulons que la première page servie soit index.php.
Après cela, nous devons corriger la propriété des fichiers, pour correspondre à nos utilisateurs et groupes, pour savoir ce qui est correct pour vous, lancez simplement un
ls -alvous devriez voir beaucoup de fichiers, et certains des utilisateurs contiennent web client, dans mon cas :
drwxr-xr-x 18 1005 1005 4096 mar 11 22:16 report
drwxr-xr-x 24 1005 1005 4096 mar 11 22:16 repository
-rwxr-xr-- 1 web42 client1 14 apr 13 17:25 robots.txt
drwxr-xr-x 2 1005 1005 4096 mar 11 22:16 rss
drwxr-xr-x 7 1005 1005 4096 mar 11 22:16 search
drwxr-xr-x 2 web42 client1 4096 apr 13 17:25 stats
drwxr-xr-x 5 1005 1005 4096 mar 11 22:16 tag
-rw-r--r-- 1 1005 1005 615 mar 11 22:16 tags.txt
drwxr-xr-x 6 1005 1005 4096 mar 11 22:16 themeComme vous pouvez le voir, mon utilisateur est web42 et mon groupe est client1, donc maintenant corrigez les permissions avec :
chown -R web42:client1 *chown -R web42:client1 .*et corrigez à nouveau les permissions des répertoires
chown root:root stats/ error/Ensuite, nous allons créer un répertoire moodledata non accessible publiquement, pour ce faire, créez-le simplement dans le répertoire privé.
mkdir ../private/moodledatachown -R web42:client1 ../private/moodledata6. Installation Web de Moodle
C’est parti ! Maintenant, nous pouvons commencer la dernière étape de l’installation, ouvrez votre navigateur, vous devriez obtenir une page similaire à celle-ci lorsque vous ouvrez l’URL du site Web :

Sélectionnez la langue et cliquez sur suivant.

Le répertoire de données par défaut pour Moodle apparaîtra comme /var/www/clients/client1/web42/moodledata mais notre répertoire est dans le dossier privé, donc modifiez le chemin pour qu’il utilise le dossier moodle dans le dossier privé à la place : /var/www/clients/client1/web42/private/moodledata
Ensuite, sélectionnez le type de base de données, dans mon cas MySql.

Ensuite, complétez avec les données MySql.

Hôte de la base de données : localhost
Nom de la base de données : c1_moodle
Utilisateur de la base de données : c1_moodle
Mot de passe de la base de données : celui que vous avez choisi lors de la création de l’utilisateur de base de données
Préfixe de table : mdl_
Port de la base de données :
Socket Unix :
Maintenant, cliquez et attendez, après quelques secondes, vous devriez voir les conditions que vous devez accepter.

Après cela, Moodle effectuera quelques vérifications système pour tester que tout fonctionne correctement.
Tout devrait être vert maintenant !!!

Cliquez sur Continuer et d’autres vérifications apparaîtront….

Cliquez sur continuer, remplissez les données de l’utilisateur admin (Nom, Prénom, mot de passe utilisateur..).

Vous devriez remplir les données de votre nouvelle plateforme d’apprentissage et de test :)

Profitez de vos cours !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.