Moodle est le système de gestion de l’apprentissage le plus populaire au monde pour la création de sites d’apprentissage en ligne robustes. Il propose une gamme d’activités et d’outils pédagogiques parmi lesquels vous pouvez choisir, il prend en charge la gestion des évaluations et est livré avec des certificats personnalisés. Il permet également de communiquer avec vos étudiants en temps réel avec un puissant outil de vidéoconférence. De plus, il est prêt pour les appareils mobiles, afin que vos élèves puissent apprendre à partir de leurs appareils mobiles.
Configuration requise pour le serveur Moodle
- Système opérateur: une installation minimale de CentOS 8 ou RHEL 8 serveur avec Pile LEMP installée.
- Espace disque: 200 Mo pour le Moodle, et 5 Go est probablement un minimum réaliste de stockage de contenu.
- Processeur: 1 GHz (min), 2 GHz dual-core ou plus recommandé.
- Mémoire: 512 Mo (min), 1 Go ou plus sont recommandés. 8 Go plus est probablement sur un grand serveur de production.
Création d’un enregistrement DNS de domaine pour le site Web Moodle
1. Commencez par créer un sous-domaine que les utilisateurs utiliseront pour accéder au Moodle site d’apprentissage en ligne. Par exemple, si votre nom de domaine est testprojects.me
, vous pouvez créer un sous-domaine appelé learning.testprojects.me
.
Ouvrez avancé de votre nom de domaine DNS paramètres et ajoutez un A
enregistrer comme indiqué dans l’image suivante.
Installation de Moodle sur le serveur CentOS 8
2. Avant d’installer Moodle, assurez-vous que vous disposez des extensions PHP requises sur votre serveur, vous pouvez exécuter la commande suivante pour les installer:
# dnf 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 le Moodle application comme suit.
# mysql -u root -p
Créez ensuite la base de données, l’utilisateur de la base de données et créez un mot de passe sécurisé pour l’utilisation.
MariaDB [(none)]> CREATE DATABASE moodledb; MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email protected]'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
4. Téléchargez maintenant la dernière version de Moodle (3,9 au moment de la rédaction) du site officiel du projet moodle, extrayez le fichier d’archive et déplacez-le dans votre racine Web (/var/www/html/
), puis définissez les autorisations et la propriété appropriées pour permettre au serveur Web d’accéder au répertoire Moodle, comme suit.
# wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz # tar -xzvf moodle-latest-39.tgz # mv moodle /var/www/html/ # chmod 775 -R /var/www/html/moodle # chown nginx:nginx -R /var/www/html/moodle
5. Ensuite, créez le moodledata répertoire qui est l’emplacement des fichiers téléchargés ou créés par le Moodle interface, puis attribuez les autorisations et la propriété appropriées pour permettre au serveur Web d’y accéder en lecture et en écriture:
# mkdir -p /var/www/html/moodledata # chmod 770 -R /var/www/html/moodledata # chown :nginx -R /var/www/html/moodledata
6. Ensuite, passez au Moodle répertoire d’installation et créez un config.php
fichier de l’exemple config.dist.php
fichier fourni, puis ouvrez-le pour le modifier afin de configurer certains paramètres clés pour votre Moodle plate-forme, tels que les paramètres de connexion à la base de données et l’emplacement du site et où il peut trouver le répertoire moodledata:
# cd /var/www/html/moodle/ # cp config-dist.php config.php # vim config.php
Définissez le type de base de données correct, l’hôte de base de données correct, le nom de la base de données, l’utilisateur de la base de données et le mot de passe de l’utilisateur.
$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="moodledb"; // database name, eg moodle $CFG->dbuser="moodleadmin"; // your database username $CFG->dbpass="[email protected]zzwd0L2"; // your database password $CFG->prefix = 'mdl_'; // prefix to use for all table names
7. Définissez également l’URL utilisée pour accéder à votre Moodle assis, cela spécifie l’emplacement du wwwroot où se trouvent vos fichiers Web Moodle, ainsi que dataroot (le répertoire moodledata):
$CFG->wwwroot="http://learning.testprojects.me"; $CFG->dataroot="/var/www/html/moodledata";
Configurer NGINX pour servir le site Web Moodle
8. Dans cette section, vous devez configurer NGINX pour servir votre Moodle application. Vous devez créer un bloc serveur pour celui-ci dans la configuration NGINX comme indiqué.
# vim /etc/nginx/conf.d/moodle.conf
Copiez et collez la configuration suivante dans le fichier de configuration du bloc serveur. Remplace le nom du serveur avec votre nom de sous-domaine créé ci-dessus, et le fastcgi_pass devrait pointer vers php-fpm (notez que sur CentOS 8, PHP-FPM accepte FastCGI demandes utilisant l’adresse définie dans le /etc/nginx/conf.d/php-fpm.conf configuration).
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 php-fpm; 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. Vérifiez ensuite le NGINX configuration pour l’exactitude, si c’est D’accord, redémarrez le nginx et php-fpm services pour appliquer les modifications récentes:
# nginx -t # systemctl restart nginx # systemctl restart php-fpm
dix. Si tu as SELinux activé sur votre système, puis exécutez les commandes suivantes pour définir le contexte approprié pour accéder au Moodle fichiers Web sur le serveur:
# setsebool -P httpd_can_network_connect on # chcon -R --type httpd_sys_rw_content_t /var/www/html
11. En outre, assurez-vous que le HTTP et HTTPS les services sont ouverts dans le pare-feu pour autoriser le trafic vers le NGINX serveur Web:
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --reload
Installation complète de Moodle via Web Installer
12. Pour accéder au Moodle programme d’installation Web, ouvrez votre navigateur Web et naviguez à l’aide du sous-domaine vous avez créé ci-dessus:
http://learning.testprojects.me
Une fois la page d’accueil chargée, lisez les termes et conditions et cliquez sur Continuer.
13. Ensuite, le programme d’installation Web vérifiera si votre système répond aux exigences pour exécuter un Moodle site de la version spécifiée. Vous pouvez faire défiler vers le bas pour afficher plus d’informations.
14. L’installateur se plaindra de HTTPS n’étant pas activé, ignorez cette erreur pour le moment (dans la section suivante, nous montrerons comment activer HTTPS sur Moodle), et cliquez sur Continuer, pour démarrer l’installation proprement dite des fichiers Web.
15. Maintenant, le programme d’installation commencera l’installation proprement dite du Moodle fichiers comme indiqué dans la capture d’écran suivante. Une fois terminé, cliquez sur Continuer.
16. À l’étape suivante, vous devez mettre à jour votre Moodle compte administrateur du site en mettant à jour le nom d’utilisateur, le mot de passe, le prénom, le nom et l’adresse e-mail. Faites ensuite défiler la page et cliquez sur Mettre à jour le profil.
17. Ensuite, mettez à jour les paramètres de la page d’accueil du site Moodle. Puis faites défiler vers le bas et cliquez sur Mettre à jour pour commencer à utiliser votre site Moodle.
18. Ensuite, vous devez enregistrer votre site en suivant les instructions à l’écran. Vous pouvez accéder au tableau de bord en cliquant sur le tableau de bord.
Configurer HTTPS sur le site Moodle à l’aide de Let’s Encrypt
HTTPS ajoute la première couche de sécurité à votre site pour permettre des communications sécurisées entre vos utilisateurs et le Moodle application (en particulier le NGINX serveur Web qui reçoit les demandes et fournit des réponses).
Vous pouvez acheter un certificat SSL / TLS auprès d’une autorité de certification commerciale ou utiliser Crypterons qui est gratuit et reconnu par tous les navigateurs Web modernes. Pour ce guide, nous utiliserons Crypterons.
19. le Crypterons Le déploiement du certificat est géré automatiquement à l’aide de certbot outil. Vous pouvez installer certbot et autres packages requis avec la commande suivante:
# dnf install certbot python3-certbot-nginx
20. Exécutez ensuite la commande suivante pour obtenir un Crypterons certificat et demandez à Certbot de modifier votre NGINX configuration automatiquement pour le servir (il configurera également HTTP être redirigé automatiquement vers HTTPS).
# certbot --nginx
21. Exécutez ensuite la commande suivante pour activer le renouvellement automatique du Cryptons SSL / TLS certificat:
# echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
22. Ensuite, mettez à jour votre configuration Moodle pour commencer à utiliser HTTPS.
# vim /var/www/html/moodle/config.php
changer la wwwroot URL de HTTP à HTTPS:
$CFG->wwwroot="https://learning.testprojects.me";
23. Dernier point mais non le moindre, confirmez que votre Moodle le site fonctionne maintenant sur HTTPS.
C’est tout pour le moment! Pour plus d’informations et les options de configuration pour exécuter votre nouvelle plate-forme d’apprentissage, accédez au site Web de Moodle et lisez le documentation officielle.
.