GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie die Moodle-Lernplattform mit Nginx in CentOS 8

Moodle ist das weltweit beliebteste Lernmanagementsystem zum Erstellen robuster Online-Lernseiten. Es bietet eine Reihe von Aktivitäten und Bildungstools, aus denen Sie auswählen können, es unterstützt das Bewertungsmanagement und wird mit benutzerdefinierten Zertifikaten geliefert. Es ermöglicht auch die Kommunikation mit Ihren Schülern in Echtzeit mit einem leistungsstarken Videokonferenz-Tool. Außerdem ist es für Mobilgeräte vorbereitet, sodass Ihre Schüler von ihren Mobilgeräten aus lernen können.

Verwandter Artikel :So installieren Sie die Moodle-Lernplattform in Ubuntu

Moodle-Serveranforderungen

  • Betriebssystem :eine minimale Installation von CentOS 8 oder RHEL 8 Server mit installiertem LEMP-Stack.
  • Speicherplatz :200 MB für Moodle und 5 GB sind wahrscheinlich ein realistisches Minimum zum Speichern von Inhalten.
  • Auftragsverarbeiter :1 GHz (min), 2 GHz Dual-Core oder mehr empfohlen.
  • Erinnerung :512 MB (min), 1 GB oder mehr wird empfohlen. 8 GB plus sind wahrscheinlich auf einem großen Produktionsserver.

Auf dieser Seite

  • Erstellen eines Domain-DNS-Eintrags für die Moodle-Website
  • Installieren der Moodle-Lernplattform in CentOS 8 Server
  • Konfigurieren von NGINX zum Bereitstellen der Moodle-Website
  • Schließen Sie die Moodle-Installation über den Web-Installer ab
  • Aktivieren Sie HTTPS auf der Moodle-Site mit Let’s Encrypt

Erstellen eines Domain-DNS-Eintrags für die Moodle-Website

1. Erstellen Sie zunächst eine Subdomain, die Benutzer für den Zugriff auf Moodle verwenden Online-Lernseite. Zum Beispiel, wenn Ihr Domänenname testprojects.me ist , können Sie eine Subdomain mit dem Namen learning.testprojects.me erstellen .

Öffnen Sie das erweiterte DNS Ihres Domainnamens Einstellungen und fügen Sie ein A hinzu wie im folgenden Bild gezeigt aufnehmen.

Moodle auf CentOS 8 Server installieren

2. Vor der Installation von Moodle , stellen Sie sicher, dass Sie die erforderlichen PHP-Erweiterungen auf Ihrem Server haben, können Sie den folgenden Befehl ausführen, um sie zu installieren:

# 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. Erstellen Sie als Nächstes eine Datenbank für Moodle Anwendung wie folgt.

# mysql -u root -p

Erstellen Sie dann die Datenbank, den Datenbankbenutzer und erstellen Sie ein sicheres Passwort für die Verwendung.

MariaDB [(keine)]> DATENBANK moodledb ERSTELLEN;MariaDB [(keine)]> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER ON moodledb .* ZU 'moodleadmin '@'localhost' IDENTIFIZIERT DURCH '[email protected] ';MariaDB [(keine)]> FLUSH-RECHTE;MariaDB [(keine)]> beenden

4. Laden Sie jetzt die neueste Version von Moodle herunter (3.9 zum Zeitpunkt des Schreibens) von der offiziellen Moodle-Projekt-Website, extrahieren Sie die Archivdatei und verschieben Sie sie in Ihr Webroot (/var/www/html/ )-Verzeichnis und legen Sie dann die entsprechenden Berechtigungen und Eigentumsrechte fest, um dem Webserver wie folgt Zugriff auf das Moodle-Verzeichnis zu gewähren.

# 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. Erstellen Sie als Nächstes die moodledata Verzeichnis, das der Speicherort von Dateien ist, die von Moodle hochgeladen oder erstellt werden Benutzeroberfläche und weisen Sie dann die entsprechenden Berechtigungen und Eigentumsrechte zu, um dem Webserver Lese- und Schreibzugriff darauf zu gewähren:

# mkdir -p /var/www/html/moodledata# chmod 770 -R /var/www/html/moodledata# chown :nginx -R /var/www/html/moodledata

6. Als nächstes wechseln Sie in das Moodle Installationsverzeichnis und erstellen Sie eine config.php Datei aus dem Beispiel config.dist.php bereitgestellte Datei, und öffnen Sie sie dann zum Bearbeiten, um einige wichtige Einstellungen für Ihr Moodle zu konfigurieren Plattform, wie z. B. Datenbankverbindungsparameter und den Standort der Website und wo das Moodledata-Verzeichnis zu finden ist:

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

Legen Sie den richtigen Datenbanktyp, den richtigen Datenbankhost, den Datenbanknamen und den Datenbankbenutzer sowie das Kennwort des Benutzers fest.

$CFG->dbtype ='mariadb '; // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' oder 'oci'$CFG->dblibrary ='native'; // momentan nur 'native'$CFG->dbhost ='localhost'; // zB 'localhost' oder 'db.isp.com' oder IP$CFG->dbname ='moodledb '; // Datenbankname, zB moodle$CFG->dbuser ='moodleadmin '; // Ihr Datenbank-Benutzername$CFG->dbpass ='[email protected]zzwd0L2 '; // Ihr Datenbankpasswort$CFG->prefix ='mdl_'; // Präfix für alle Tabellennamen

7. Legen Sie auch die URL fest, die für den Zugriff auf Ihr Moodle verwendet wird sit, dies gibt den Speicherort von wwwroot an wo sich Ihre Moodle-Webdateien befinden, und auch die Datenwurzel (das Moodledata-Verzeichnis):

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

Konfigurieren von NGINX zum Bereitstellen der Moodle-Website

8. In diesem Abschnitt müssen Sie NGINX konfigurieren um Ihr Moodle zu bedienen Anwendung. Sie müssen einen Serverblock dafür in der NGINX-Konfiguration wie gezeigt erstellen.

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

Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Konfigurationsdatei des Serverblocks ein. Ersetzen Sie den Servernamen mit Ihrem Subdomain-Namen oben erstellt und der fastcgi_pass sollte auf php-fpm zeigen (Beachten Sie, dass auf CentOS 8 , PHP-FPM akzeptiert FastCGI Anfragen unter Verwendung der in /etc/nginx/conf.d/php-fpm.conf definierten Adresse Konfiguration).

server{ listen 80; Servername learning.testprojects.me; root /var/www/html/moodle; indexindex.php; Ort / { Versuchsdateien $uri $uri/ /index.php?$query_string; } Ort ~ ^(.+\.php)(.*)$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_index index.php; fastcgi_pass php-fpm; schließen Sie /etc/nginx/mime.types ein; schließen Sie fastcgi_params ein; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}}

Speichern Sie die Datei und schließen Sie sie.

9. Überprüfen Sie dann die NGINX Konfiguration auf Korrektheit prüfen, wenn sie Ok ist , starten Sie nginx neu und php-fpm Dienste, um die letzten Änderungen anzuwenden:

# nginx -t# systemctl nginx neu starten# systemctl php-fpm neu starten

10. Wenn Sie SELinux haben auf Ihrem System aktiviert haben, führen Sie dann die folgenden Befehle aus, um den richtigen Kontext für den Zugriff auf Moodle festzulegen Webdateien auf dem Server:

# setsebool -P httpd_can_network_connect on# chcon -R --type httpd_sys_rw_content_t /var/www/html

11. Stellen Sie außerdem sicher, dass die HTTP und HTTPS Dienste sind in der Firewall geöffnet, um Datenverkehr zu NGINX zuzulassen Webserver:

# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https# firewall-cmd --reload 

Schließen Sie die Moodle-Installation über den Web-Installer ab

12. Um auf Moodle zuzugreifen web installer, öffnen Sie Ihren Webbrowser und navigieren Sie mithilfe der Subdomain Sie haben oben erstellt:

http://learning.testprojects.me

Lesen Sie nach dem Laden der Willkommensseite die Nutzungsbedingungen durch und klicken Sie auf Weiter .

13. Als nächstes prüft der Webinstaller, ob Ihr System die Voraussetzungen für den Betrieb von Moodle erfüllt Website der angegebenen Version. Sie können nach unten scrollen, um weitere Informationen anzuzeigen.

14. Der Installer wird sich über HTTPS beschweren nicht aktiviert ist, ignorieren Sie diesen Fehler vorerst (im nächsten Abschnitt zeigen wir, wie HTTPS auf Moodle aktiviert wird) und klicken Sie auf Weiter , um die eigentliche Installation der Webdateien zu starten.

15. Nun beginnt der Installer mit der eigentlichen Installation von Moodle Dateien wie im folgenden Screenshot gezeigt. Klicken Sie nach Abschluss auf Weiter .

16. Im nächsten Schritt müssen Sie Ihr Moodle aktualisieren Administratorkonto der Website, indem Sie den Benutzernamen, das Passwort, den Vor- und Nachnamen sowie die E-Mail-Adresse aktualisieren. Scrollen Sie dann auf der Seite nach unten und klicken Sie auf Profil aktualisieren .

17. Aktualisieren Sie dann die Startseiteneinstellungen der Moodle-Site. Scrollen Sie dann nach unten und klicken Sie auf Aktualisieren um mit der Nutzung Ihrer Moodle-Site zu beginnen.

18. Als nächstes müssen Sie Ihre Site registrieren, indem Sie den Anweisungen auf dem Bildschirm folgen. Sie können zum Dashboard wechseln, indem Sie auf Dashboard klicken.

Einrichten von HTTPS auf der Moodle-Site mit Let’s Encrypt

HTTPS fügt Ihrer Website die erste Sicherheitsebene hinzu, um eine sichere Kommunikation zwischen Ihren Benutzern und Moodle zu ermöglichen Anwendung (insbesondere die NGINX Webserver, der Anfragen entgegennimmt und Antworten liefert).

Sie können entweder ein SSL/TLS-Zertifikat von einer kommerziellen Zertifizierungsstelle erwerben oder Let’s Encrypt verwenden das kostenlos ist und von allen modernen Webbrowsern erkannt wird. Für diesen Leitfaden verwenden wir Let's Encrypt .

19. Das Let’s Encrypt Die Zertifikatsbereitstellung wird automatisch mit dem certbot verwaltet Werkzeug. Sie können certbot installieren und andere erforderliche Pakete mit dem folgenden Befehl:

# dnf install certbot python3-certbot-nginx

20. Führen Sie dann den folgenden Befehl aus, um ein Let’s Encrypt zu erhalten Zertifikat und lassen Sie Certbot Ihr NGINX bearbeiten Konfiguration automatisch, um es bereitzustellen (es wird auch HTTP konfigurieren automatisch auf HTTPS umgeleitet werden ).

# certbot --nginx

21. Führen Sie dann den folgenden Befehl aus, um die automatische Erneuerung von Let’s Encrypt SSL/TLS zu aktivieren Zertifikat:

# 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. Aktualisieren Sie als Nächstes Ihre Moodle-Konfiguration, um mit der Verwendung von HTTPS zu beginnen .

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

Ändern Sie die wwwroot URL von HTTP zu HTTPS :

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

23. Bestätigen Sie zu guter Letzt, dass Ihr Moodle Website läuft jetzt auf HTTPS .

Das war es fürs Erste! Weitere Informationen und Konfigurationsoptionen zum Ausführen Ihrer neuen Lernplattform finden Sie auf der Moodle-Website und lesen Sie die offizielle Dokumentation.


Cent OS
  1. So installieren Sie WordPress mit Nginx unter CentOS 7

  2. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  3. So installieren Sie Nginx mit dem RTMP-Modul unter CentOS 7

  4. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7 / RHEL 7

  5. So installieren Sie Sitemagic CMS auf CentOS 7 – mit Nginx

So installieren Sie phpMyAdmin mit Nginx unter CentOS 8 / RHEL 8

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie Laravel mit Nginx unter CentOS 8

So installieren Sie die Moodle-Lernplattform in Ubuntu 20.04