Website-Suche

So installieren Sie die Moodle-Lernplattform in Ubuntu 20.04


Moodle ist die weltweit beliebteste, robusteste, kostenlose und quelloffene Verwaltungsplattform für Online-Lernen (E-Learning), die für Web und Mobilgeräte entwickelt wurde. Es bietet eine breite Palette an Aktivitäten und Bildungsinstrumenten, die es Schulen, Universitäten und verwandten Institutionen ermöglichen, Schülern jederzeit und überall eine flexible Lernplattform zu bieten, ohne dass ihre Kurse und Lehrpläne unterbrochen werden.

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 praktische Dateiverwaltung, ein einfacher intuitiver Texteditor, Benachrichtigungen und die Möglichkeit, den Fortschritt zu verfolgen.

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

In diesem Artikel erfahren Sie, wie Sie die neueste Version der Moodle Learning Platform mit NGINX und der MySQL/MariaDB-Datenbank unter Ubuntu 20.04 installieren ältere Versionen.

Serveranforderungen:

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

Sobald 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 eines DNS-Eintrags für die Moodle-Anwendung
  • Moodle auf Ubuntu Server installieren
  • Konfigurieren von NGINX für die Bereitstellung der Moodle-Anwendung
  • Abschluss der Moodle-Installation über den Web Installer
  • Aktivieren Sie HTTPS in der Moodle-Anwendung mit Let’s Encrypt

Einrichten eines 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, also müssen Sie einen DNS- erstellen Ein-Datensatz, um dies zu erreichen. Für diese Anleitung ist unsere Testdomäne testprojects.me, daher müssen wir eine Subdomäne erstellen, zum Beispiel learning.testprojects.me.

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

Moodle auf Ubuntu Server installieren

2. Als nächstes müssen Sie die für Moodle erforderlichen PHP-Erweiterungen und -Bibliotheken mithilfe des apt-Paketmanagers 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. Als nächstes erstellen Sie eine Datenbank für Ihr Moodle-System. Melden Sie sich bei der MySQL-Datenbankverwaltungsshell an und erstellen Sie die Datenbank wie gezeigt:

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 dieses Handbuch die neueste Version 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 tar-Befehl, um es entsprechend zu extrahieren. Verwenden Sie dann den Befehl ls, um zu bestätigen, dass das Moodle-Verzeichnis wie gezeigt unter /var/www/html/ vorhanden ist.

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 im Paket enthaltenen Beispielkonfigurationsdatei und öffnen Sie sie.

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

Suchen Sie nach dem 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 für den Server Ihrer Moodle-Site, wie im nächsten Abschnitt beschrieben.

Konfigurieren von NGINX für die Bereitstellung der Moodle-Anwendung

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

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

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

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

Abschluss der Moodle-Installation über den Web Installer

10. Öffnen Sie nun einen Webbrowser und navigieren Sie mit Ihrer Subdomain, zum Beispiel learning.testprojects.me, um auf das Moodle-Webinstallationsprogramm zuzugreifen.

http://learning.testprojects.me

Sobald die Begrüßungsseite 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 mit der eigentlichen Installation der Dateien und der Einrichtung der Datenbank zu beginnen Schema.

Beachten Sie, dass das Installationsprogramm eine Warnung anzeigt, dass die Website nicht über HTTPS läuft. Ignorieren Sie die Warnung vorerst. Im letzten Abschnitt erfahren Sie, wie Sie HTTPS auf Moodle mit kostenlosen Let’s Encrypt-Zertifikaten aktivieren.

Sobald die Installation abgeschlossen ist, klicken Sie auf Weiter.

12. Als Nächstes konfigurieren Sie das Administratorkonto Ihrer Moodle-Site, indem Sie den Benutzernamen, das Passwort, den Vor- und Nachnamen sowie die E-Mail-Adresse für das Konto erstellen. Scrollen Sie dann nach unten und klicken Sie auf Konto aktualisieren.

13. Konfigurieren Sie als Nächstes die Startseiteneinstellungen 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 bei der neuen Moodle-Site an. Sie können Ihre Website-Registrierung abschließen, indem Sie den Anweisungen auf dem Bildschirm folgen.

Einrichten von HTTPS in der Moodle-Anwendung mit Let’s Encrypt

15. Um Ihre Moodle-Site zu schützen, müssen Sie HTTPS aktivieren. Für diese Anleitung verwenden wir kostenlose und vertrauenswürdige SSL/TLS-Zertifikate von Let’s Encrypt. Ein weiterer Vorteil der Verwendung von Let’s Encrypt besteht darin, dass es automatisiert ist.

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

sudo snap install --classic certbot

16. Geben Sie dann den folgenden Befehl ein, um ein Zertifikat zu erhalten, und lassen Sie Certbot Ihre NGINX-Konfiguration bearbeiten, 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 im Browser, ob Ihre Moodle-Site jetzt auf HTTPS läuft.

https://learning.testprojects.me

Das ist alles für jetzt! Weitere Informationen, Konfigurationsoptionen und eine Nutzungsanleitung finden Sie in der Dokumentation zu Moodle 3.9.