Website-Suche

So installieren Sie die Moodle-Lernplattform in Ubuntu 20.04


Moodle ist die weltweit beliebteste, robusteste, kostenlose und quelloffene Plattform für die Verwaltung von Online-Lernen (E-Learning), die für Web und Mobilgeräte entwickelt wurde. Es bietet eine breite Palette von Aktivitäten und Bildungstools, die es Schulen, Universitäten und verwandten Institutionen ermöglichen, den Schülern jederzeit und überall eine flexible Lernplattform anzubieten, ohne ihren Kurs und Lehrplan zu unterbrechen.

Zu den allgemeinen Funktionen gehören eine moderne, benutzerfreundliche Oberfläche, ein personalisiertes Dashboard, Tools und Aktivitäten für die Zusammenarbeit, ein All-in-One-Kalender, eine bequeme Dateiverwaltung, ein einfacher intuitiver Texteditor, Benachrichtigungen und die Verfolgung des Fortschritts.

Wichtig ist, dass Moodle auch mit über tausend Plugins hochgradig erweiterbar ist, die zusätzliche Aktivitäten, Blöcke, Themen und vieles mehr unterstützen.

In diesem Artikel erfahren Sie, wie Sie die neueste Version der Moodle-Lernplattform mit NGINX und MySQL/MariaDB-Datenbank auf Ubuntu 20.04 und älteren Versionen installieren.

Server-Anforderungen:

  • Ein frisch installierter Ubuntu 20.04 Server mit installiertem LEMP Stack.

Nachdem Sie den LEMP-Stack auf dem Ubuntu-Server installiert haben, können Sie mit der Einrichtung von Moodle auf dem Server fortfahren, wie unten beschrieben.

Auf dieser Seite

  • Einrichten des DNS-Eintrags für die Moodle-Anwendung
  • Installieren von Moodle auf Ubuntu Server
  • Konfigurieren von NGINX für die Bereitstellung von Moodle-Anwendungen
  • Abschließen der Moodle-Installation über den Web Installer
  • Aktivieren Sie HTTPS in der Moodle-Anwendung mit Let's Encrypt

Einrichten des DNS-Eintrags für die Moodle-Anwendung

1. Damit Benutzer auf Ihre Moodle-Instanz zugreifen können, müssen Sie eine Subdomain dafür erstellen, daher müssen Sie einen DNS-A-Eintrag erstellen, um dies zu erreichen. Für diese Anleitung ist unsere Testdomain testprojects.me, daher müssen wir eine Subdomain erstellen, z. B. learning.testprojects.me.

Melden Sie sich also bei der Webkonsole Ihres Domain-Registrars an und greifen Sie auf die erweiterten Einstellungen Ihrer Domain zu, klicken Sie auf Neuen Eintrag vom Typ A hinzufügen, ein Host sollte lernen (oder ein beliebiges Wort Ihrer Wahl), und der Wert sollte die öffentliche IP-Adresse Ihres Ubuntu-Servers sein.

Installieren von Moodle auf Ubuntu Server

2. Als nächstes müssen Sie die von Moodle benötigten PHP-Erweiterungen und -Bibliotheken mit dem apt-Paketmanager installieren, wie gezeigt.

$ 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. Erstellen Sie als Nächstes eine Datenbank für Ihr Moodle-System. Melden Sie sich bei der Verwaltungsshell der MySQL-Datenbank an und erstellen Sie die Datenbank wie folgt:

$ 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. Wie bereits erwähnt, werden wir für diesen Leitfaden die neueste Version von Moodle herunterladen und installieren (Version 3.9 zum Zeitpunkt des Schreibens). Führen Sie den folgenden wget-Befehl aus, um das Moodle-Paket abzurufen, und verwenden Sie den Befehl tar, um es jeweils zu extrahieren. Verwenden Sie dann den Befehl ls, um zu bestätigen, dass das moodle-Verzeichnis unter /var/www/html/ vorhanden ist, wie gezeigt.

$ 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. Legen Sie als Nächstes die entsprechenden Berechtigungen für das Moodle-Verzeichnis fest, indem Sie die folgenden Befehle ausführen.

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

6. Erstellen Sie als Nächstes das Moodle-Datenverzeichnis, einen Ort, an dem Moodle hochgeladene Dateien speichern und seine Berechtigungen wie gezeigt festlegen kann.

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

7. Erstellen Sie dann die Moodle-Hauptkonfigurationsdatei aus der mit dem Paket bereitgestellten Beispielkonfigurationsdatei und öffnen Sie sie.

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

Lok für den Abschnitt Datenbankkonfiguration und konfigurieren Sie dann die Datenbank, in der alle Moodle-Daten gespeichert werden, wie im folgenden Screenshot gezeigt:

$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

Konfigurieren Sie außerdem den Speicherort der Moodle-Website sowie den Speicherort des Moodle-Datenverzeichnisses wie gezeigt.

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

Speichern Sie die Datei und schließen Sie sie. Konfigurieren Sie dann NGINX so, dass Ihre Moodle-Site wie im nächsten Abschnitt beschrieben servert wird.

Konfigurieren von NGINX für die Bereitstellung von Moodle-Anwendungen

8. Damit NGINX Ihre Moodle-Site server kann, müssen Sie eine neue Serverblockkonfiguration unter der NGINX-Konfiguration im Verzeichnis /etc/nginx/conf.d/ erstellen.

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

Kopieren Sie die folgende Konfiguration, fügen Sie sie ein und ersetzen Sie learning.testprojects.me durch Ihre Subdomain. Außerdem sollte die Direktive fastcgi_pass auf die Adresse verweisen, an der PHP-FPM FastCGI-Anfragen akzeptiert (weitere Informationen finden Sie in der Datei /etc/php/7.4/fpm/pool.d/www.conf).

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;
}
}

Speichern Sie die Datei, und schließen Sie sie.

9. Überprüfen Sie als Nächstes, ob die NGINX-Konfiguration in Ordnung ist, nachdem Sie die oben genannten Änderungen vorgenommen haben, und starten Sie dann den NGINX-Dienst ordnungsgemäß neu.

$ sudo nginx -t
sudo systemctl reload nginx

Abschließen der Moodle-Installation über den Web Installer

10. Öffnen Sie nun einen Webbrowser und navigieren Sie mit Ihrer Subdomain, z. B. learning.testprojects.me, um auf den Moodle-Web-Installer zuzugreifen.

http://learning.testprojects.me

Sobald die Willkommensseite geladen ist, lesen Sie die Nachricht durch und klicken Sie auf Weiter.

11. Als nächstes prüft das Installationsprogramm, ob Ihr System die Anforderungen erfüllt, wenn alles in Ordnung ist, scrollen Sie nach unten und klicken Sie auf Weiter, um die eigentliche Installation der Dateien zu starten und das Datenbankschema einzurichten.

Beachten Sie, dass das Installationsprogramm eine Warnung anzeigt, dass die Site nicht auf HTTPS ausgeführt wird, ignorieren Sie die Warnung vorerst. Im letzten Abschnitt werden wir uns mit der Aktivierung von HTTPS in Moodle mit kostenlosen Let's Encrypt-Zertifikaten befassen.

Sobald die Installation abgeschlossen ist, klicken Sie auf Weiter.

12. Konfigurieren Sie als Nächstes das Administratorkonto Ihrer Moodle-Site, indem Sie den Benutzernamen des Kontos, das Passwort, den Vor- und Nachnamen sowie die E-Mail-Adresse erstellen. Scrollen Sie dann nach unten und klicken Sie auf Konto aktualisieren.

13. Konfigurieren Sie als Nächstes die Einstellungen für die Startseite der Moodle-Site, wie im folgenden Screenshot gezeigt. Scrollen Sie dann nach unten und klicken Sie auf Aktualisieren.

14. Der Web-Installer meldet Sie automatisch auf der neuen Moodle-Site an. Sie können die Registrierung Ihrer Website abschließen, indem Sie den Anweisungen auf dem Bildschirm folgen.

Einrichten von HTTPS in einer Moodle-Anwendung mit Let's Encrypt

15. Um Ihre Moodle-Site zu schützen, müssen Sie HTTPS aktivieren. Für diesen Leitfaden verwenden wir die kostenlosen und vertrauenswürdigen SSL/TLS-Zertifikate von Let's Encrypt. Ein weiterer Vorteil der Verwendung von Let's Encrypt ist, dass es automatisiert ist.

Gehen Sie also zurück zu Ihrem Terminal und führen Sie den folgenden Befehl aus, um den Certbot auf Ubuntu zu installieren (ein kostenloses Open-Source-Tool zur automatischen Verwendung von Let's Encrypt-Zertifikaten, um HTTPS auf manuell verwalteten Websites zu aktivieren).

$ sudo snap install --classic certbot

16. Geben Sie dann den folgenden Befehl ein, um ein Zertifikat abzurufen und Certbot Ihre NGINX-Konfiguration bearbeiten zu lassen, um das neue Zertifikat automatisch zu konfigurieren.

$ sudo certbot --nginx

17. Gehen Sie als Nächstes zurück zur Konfigurationsdatei der Moodle-Site.

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

und ändern Sie die URL von HTTP in HTTPS, wie im folgenden Screenshot gezeigt.

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

18. Überprüfen Sie abschließend über den Browser, ob Ihre Moodle-Site jetzt auf HTTPS ausgeführt wird.

https://learning.testprojects.me

Das war's fürs Erste! Weitere Informationen, Konfigurationsoptionen und Nutzungsanleitungen finden Sie in der Dokumentation zu Moodle 3.9.

Verwandte Artikel: