Recherche de site Web

Comment installer la plateforme d'apprentissage Moodle dans Ubuntu 20.04


Moodle est la plateforme de gestion d'apprentissage en ligne (e-learning) la plus populaire, la plus robuste, la plus gratuite et la plus open source au monde, conçue pour le Web et les mobiles. Il propose un large éventail d'activités et d'outils pédagogiques qui permettent aux écoles, universités et institutions connexes d'offrir aux étudiants une plate-forme d'apprentissage flexible à tout moment et en tout lieu, sans interruption de leurs cours et de leur programme.

Certaines de ses fonctionnalités générales incluent une interface moderne et facile à utiliser, un tableau de bord personnalisé, des outils et des activités de collaboration, un calendrier tout-en-un, une gestion pratique des fichiers, un éditeur de texte simple et intuitif, des notifications et un suivi des progrès.

Il est important de noter que Moodle est également hautement extensible grâce à plus d'un millier de plugins prenant en charge des activités, des blocs, des thèmes supplémentaires et bien plus encore.

Dans cet article, vous apprendrez comment installer la dernière version de la Moodle Learning Platform avec NGINX et la base de données MySQL/MariaDB sur Ubuntu 20.04 et Versions plus anciennes.

Exigences du serveur :

  • Un serveur Ubuntu 20.04 fraîchement installé avec LEMP Stack installé.

Une fois que vous avez installé la pile LEMP sur le serveur Ubuntu, vous pouvez continuer pour configurer Moodle sur le serveur comme expliqué ci-dessous.

Sur cette page

  • Configuration de l'enregistrement DNS pour l'application Moodle
  • Installer Moodle sur le serveur Ubuntu
  • Configuration de NGINX pour servir l'application Moodle
  • Terminer l'installation de Moodle via le programme d'installation Web
  • Activez HTTPS sur l'application Moodle à l'aide de Let's Encrypt

Configuration de l'enregistrement DNS pour l'application Moodle

1. Pour que les utilisateurs puissent accéder à votre instance Moodle, vous devez créer un sous-domaine pour celle-ci, vous devez donc créer un DNS. Un enregistrement pour y parvenir. Pour ce guide, notre domaine de test est testprojects.me, nous devons donc créer un sous-domaine, par exemple, learning.testprojects.me.

Alors, connectez-vous à la console Web de votre registraire de domaine et accédez aux paramètres avancés de votre domaine, cliquez sur Ajouter un nouvel enregistrement de type A, un hôte devrait être en train de apprendre (ou n'importe quel mot de votre choix), et la valeur doit être l'adresse IP publique de votre serveur Ubuntu.

Installer Moodle sur le serveur Ubuntu

2. Ensuite, vous devez installer les extensions et bibliothèques PHP requises par Moodle à l'aide du gestionnaire de paquets apt, comme indiqué.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Ensuite, créez une base de données pour votre système Moodle. Connectez-vous au shell d'administration de la base de données MySQL et créez la base de données comme indiqué :

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Comme mentionné précédemment, pour ce guide, nous téléchargerons et installerons la dernière version Moodle (version 3.9 au moment de la rédaction). Exécutez la commande wget suivante pour récupérer le package Moodle et utilisez la commande tar pour l'extraire respectivement. Utilisez ensuite la commande ls pour confirmer que le répertoire moodle existe sous /var/www/html/ comme indiqué.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Ensuite, définissez les autorisations appropriées sur le répertoire Moodle en exécutant les commandes suivantes.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Ensuite, créez le répertoire Moodle data, un endroit où Moodle peut enregistrer les fichiers téléchargés et définir ses autorisations comme indiqué.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Créez ensuite le fichier de configuration principal Moodle à partir de l'exemple de fichier de configuration fourni avec le package, ouvrez-le.

cd /var/www/html/moodle/
sudo cp config-dist.php config.php
sudo vim config.php

Recherchez la section de configuration de la base de données, puis configurez la base de données dans laquelle toutes les données Moodle seront stockées, comme indiqué dans la capture d'écran suivante :

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Configurez également l'emplacement du site Web Moodle ainsi que l'emplacement du répertoire de données Moodle, comme indiqué.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Enregistrez et fermez le fichier. Configurez ensuite NGINX pour serveur votre site Moodle comme décrit dans la section suivante.

Configuration de NGINX pour servir l'application Moodle

8. Pour que NGINX serveur votre site Moodle, vous devez créer une nouvelle configuration de bloc serveur sous la configuration NGINX, dans le répertoire /etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Copiez et collez la configuration suivante, remplacez learning.testprojects.me par votre sous-domaine. A côté, la directive fastcgi_pass doit pointer vers l'adresse sur laquelle PHP-FPM accepte les requêtes FastCGI (vérifiez le /etc/php/7.4/fpm/pool.d/www.conf pour plus d’informations).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Enregistrez le fichier et fermez-le.

9. Ensuite, vérifiez que la configuration NGINX est correcte après avoir effectué les modifications ci-dessus, puis redémarrez correctement le service NGINX.

sudo nginx -t
sudo systemctl reload nginx

Terminer l'installation de Moodle via le programme d'installation Web

10. Ouvrez maintenant un navigateur Web et naviguez en utilisant votre sous-domaine, par exemple learning.testprojects.me pour accéder au programme d'installation Web Moodle.

http://learning.testprojects.me

Une fois la page d'accueil chargée, lisez le message et cliquez sur Continuer.

11. Ensuite, le programme d'installation vérifiera si votre système répond aux exigences. Si tout est OK, faites défiler vers le bas et cliquez sur Continuer pour démarrer l'installation proprement dite des fichiers et la configuration de la base de données. schéma.

Notez que le programme d'installation affichera un avertissement indiquant que le site ne fonctionne pas sur HTTPS, ignorez l'avertissement pour l'instant. Dans la dernière section, nous expliquerons comment activer HTTPS sur Moodle à l'aide de certificats Let's Encrypt gratuits.

Une fois l'installation terminée, cliquez sur Continuer.

12. Ensuite, configurez le compte administrateur de votre site Moodle en créant le nom d'utilisateur, le mot de passe, le prénom et le nom ainsi que l'adresse e-mail du compte. Faites ensuite défiler vers le bas et cliquez sur Mettre à jour le compte.

13. Ensuite, configurez les paramètres de la page d'accueil du site Moodle comme indiqué dans la capture d'écran suivante. Faites ensuite défiler vers le bas et cliquez sur Mettre à jour.

14. L'installateur Web vous connectera automatiquement au nouveau site Moodle. Vous pouvez terminer l'inscription de votre site en suivant les instructions à l'écran.

Configuration de HTTPS sur l'application Moodle à l'aide de Let's Encrypt

15. Pour protéger votre site Moodle, vous devez activer HTTPS. Pour ce guide, nous utiliserons des certificats SSL/TLS Let's Encrypt gratuits et fiables. Un autre avantage de l’utilisation de Let’s Encrypt est qu’elle est automatisée.

Revenez donc à votre terminal et exécutez la commande suivante pour installer le certbot sur Ubuntu (un outil gratuit et open source permettant d'utiliser automatiquement les certificats Let's Encrypt pour activer HTTPS sur les sites administrés manuellement).

sudo snap install --classic certbot

16. Exécutez ensuite la commande suivante pour obtenir un certificat et demandez à Certbot de modifier votre configuration NGINX pour configurer automatiquement le nouveau certificat.

sudo certbot --nginx

17. Ensuite, revenez au fichier de configuration du site Moodle.

sudo vim /var/www/html/moodle/config.php 

et modifiez l'URL de HTTP à HTTPS comme indiqué dans la capture d'écran suivante.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Enfin, vérifiez depuis le navigateur que votre site Moodle fonctionne désormais sur HTTPS.

https://learning.testprojects.me

C'est tout pour le moment! Accédez à la documentation Moodle 3.9 pour plus d'informations, les options de configuration et le guide d'utilisation.