Comment installer la plate-forme d'apprentissage Moodle avec Nginx dans Centos 8

Comment installer la plate-forme d'apprentissage Moodle avec Nginx dans Centos 8

Moodle est le système de gestion d'apprentissage le plus populaire au monde pour la construction de sites d'apprentissage en ligne robustes. Il dispose d'une gamme d'activités et d'outils éducatifs que vous pouvez choisir, il prend en charge la gestion de l'évaluation et les expéditeurs avec des certificats personnalisés. Il permet également de communiquer avec vos étudiants en temps réel avec un puissant outil de conférence vidéo. En outre, il est prêt pour le mobile, afin que vos étudiants puissent apprendre de leurs appareils mobiles.

Article associé: Comment installer Moodle Learning Platform dans Ubuntu

Exigences du serveur Moodle

  • Système opérateur: une installation minimale de serveur CentOS 8 ou RHEL 8 avec pile LEMP installée.
  • Espace disque: 200 Mo pour le Moodle, et 5 Go est probablement un minimum réaliste de stocker du contenu.
  • Processeur: 1 GHz (min), 2 GHz double cœur ou plus recommandé.
  • Mémoire: 512 Mo (min), 1 Go ou plus est recommandé. 8 Go plus est probablement sur un grand serveur de production.

Sur cette page

  • Création d'un dossier DNS de domaine pour le site Web Moodle
  • Installation de la plate-forme d'apprentissage Moodle dans le serveur CentOS 8
  • Configuration de Nginx pour servir le site Web Moodle
  • Installation complète de Moodle via l'installateur Web
  • Activer HTTPS sur le site Moodle en utilisant Let's Encrypt

Création d'un dossier 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.moi, vous pouvez créer un sous-domaine appelé apprentissage.testprojects.moi.

Ouvrez avancé de votre nom de domaine DNS Paramètres et ajouter un UN Enregistrer comme indiqué dans l'image suivante.

Ajouter un record pour le domaine Moodle

Installation de Moodle dans 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 Installer 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 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 [(aucun)]> Créer une base de données Moodledb; MariaDb [(aucun)]> Accorder Sélectionner, insérer, mettre à jour, supprimer, créer, créer des tables temporaires, dépasser, index, modifier Moodledb.* POUR 'Moodleadmin'@' localhost 'identifié par'[Protégé par e-mail]';; MariaDb [(aucun)]> Privilèges de rinçage; MariaDb [(aucun)]> sortie 

4. Maintenant téléchargez la dernière version de Moodle (3.9 Au moment de la rédaction du moment) sur le site officiel du projet Moodle Project, extraire le fichier d'archives et le déplacer dans votre webroot (/ var / www / html /) Répertoire, ensuite définir 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: // télécharger.Moodle.org / téléchargement.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 de lire et d'écrire l'accès à lui:

# mkdir -p / var / www / html / hoodledata # chmod 770 -r / var / www / html / hoodledata # chown: nginx -r / var / www / html / hoodledata 

6. Ensuite, déplacez-vous dans le Moodle Répertoire d'installation et créez un configurer.php fichier à partir de l'échantillon configurer.distr.php Fichier fourni, puis ouvrez-le pour l'édition pour configurer certains paramètres clés pour votre Moodle Plateforme, telle que les paramètres de connexion de 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 et l'utilisateur de la base de données et le mot de passe de l'utilisateur.

$ Cfg-> dbType = 'mariadb';; // 'pgsql', 'mariaDb', 'mysqli', 'sqlsrv' ou 'oci' $ cfg-> dblibrary = 'native'; // 'natif' uniquement pour le moment $ cfg-> dbhost = 'localhost'; // par exemple «localhost» ou «db.FAI.com 'ou ip $ cfg-> dbname ='Moodledb';; // Nom de la base de données, par exemple Moodle $ cfg-> dbuser = 'Moodleadmin';; // votre nom d'utilisateur de base de données $ cfg-> dbpass = '[e-mail protégé]zzwd0l2';; // votre mot de passe de base de données $ cfg-> prefix = 'mdl_'; // Préfixe à utiliser pour tous les noms de table 

7. Définissez également l'URL utilisée pour accéder à votre Moodle Asseyez-vous, cela spécifie l'emplacement du wwwroot où sont situés vos fichiers Web Moodle, ainsi que le dataroot (Le répertoire Moodledata):

$ Cfg-> wwwroot = 'http: // apprentissage.testprojects.moi';; $ Cfg-> dataroot = '/ var / www / html / hoodledata';; 

Configuration de 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 de serveur pour lui dans la configuration Nginx comme indiqué.

# vim / etc / nginx / confr.D / Moodle.confli 

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 accepter Fastcgi Demandes utilisant l'adresse définie dans le / etc / nginx / confre.d / php-fpm.confli configuration).

Server écouter 80; nom du serveur apprentissage.testprojects.moi; racine / var / www / html / moodle; Index index.PHP; Emplacement / try_files $ uri $ uri / / index.php?$ query_string;  emplacement ~ ^ (.+\.php) (.*) $ fastcgi_split_path_info ^ (.+\.php) (.*) $; Index FastCGI_INDEX.PHP; fastcgi_pass php-fpm; inclure / etc / nginx / mime.les types; Inclure 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. Puis vérifiez le Nginx Configuration pour l'exactitude, si c'est D'accord, redémarrer le nginx et php-fpm Services pour appliquer les changements récents:

# nginx -t # systemctl redémarrer nginx # systemctl redémarrer php-fpm 

dix. Si tu as Selinux activé sur votre système, puis exécutez les commandes suivantes pour définir le contexte correct pour accéder au Moodle Fichiers Web sur le serveur:

# setSebool -p httpd_can_network_connect sur # chcon -r --type httpd_sys_rw_content_t / var / www / html 

11. De plus, assurez-vous que le Http et Https Les services sont ouverts dans le pare-feu pour permettre 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 l'installateur Web

12. Pour accéder au Moodle Installateur Web, ouvrez votre navigateur Web et naviguez en utilisant le sous-domaine vous avez créé ci-dessus:

http: // apprentissage.testprojects.moi 

Une fois que la page de bienvenue chargera les termes et les conditions et cliquez Continuer.

Installateur Web Moodle

13. Ensuite, l'installateur Web vérifiera si votre système répond aux exigences pour l'exécution d'un Moodle site de la version spécifiée. Vous pouvez faire défiler vers le bas pour afficher plus d'informations.

Vérification des exigences du serveur Moodle

14. Le programme d'installation se plaindra de Https Ne pas être activé, ignorer cette erreur pour l'instant (dans la section suivante, nous montrerons comment activer les HTTP sur Moodle) et cliquer Continuer, Pour démarrer l'installation réelle des fichiers Web.

Moodle Https Erreur

15. Maintenant, l'installateur démarrera l'installation réelle du Moodle Fichiers comme indiqué dans la capture d'écran suivante. Une fois il est terminé, cliquez Continuer.

Installation de Moodle

16. Dans 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 et le nom de famille et l'adresse e-mail. Puis faites défiler la page et cliquez Mettre à jour le profil.

Détails du site Moodle

17. Puis mettez à jour les paramètres de première page du site Moodle. Puis faites défiler vers le bas et cliquez Mise à jour Pour commencer à utiliser votre site Moodle.

Paramètres de la première page Moodle

18. Ensuite, vous devez enregistrer votre site en suivant les instructions à l'écran. Vous pouvez aller au tableau de bord en cliquant sur le tableau de bord.

Installation Web Moodle complète

Configuration de HTTPS sur le site Moodle en utilisant 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 des demandes et fournit des réponses).

Vous pouvez acheter un certificat SSL / TLS à partir d'un CA commercial ou utiliser Escryptons qui est gratuit et reconnu par tous les navigateurs Web modernes. Pour ce guide, nous utiliserons Escryptons.

19. Le Escryptons Le déploiement de certificat est automatiquement géré à l'aide du Certbot outil. Vous pouvez installer Certbot et d'autres packages requis avec la commande suivante:

# DNF Installer certbot python3-certbot-nginx 

20. Puis exécutez la commande suivante pour obtenir un Escryptons certificat et demandez à certificat éditer votre Nginx configuration automatiquement pour le servir (il configurera également Http être redirigé automatiquement vers Https).

# Certbot --nginx 
Activer HTTPS sur Moodle

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; importer time; time.dormir (aléatoire.random () * 3600) '&& certbot renouvellement -q "| sudo tee -a / etc / crontab> / dev / null 

22. Ensuite, mettez à jour votre configuration Moodle pour commencer à utiliser Https.

# vim / var / www / html / hoodle / config.php 

changer la wwwroot URL de Http pour Https:

$ Cfg-> wwwroot = 'https: // apprentissage.testprojects.moi';; 

23. Enfin et surtout, confirmez que votre Moodle Le site fonctionne maintenant sur Https.

Site Moodle fonctionnant sur HTTPS

C'est tout pour le moment! Pour plus d'informations et d'options de configuration pour exécuter votre nouvelle plateforme d'apprentissage, accédez au site Web Moodle et lisez la documentation officielle.