Moodle ist ein kostenloses und quelloffenes Lernmanagementsystem (LMS). Es ist in der Programmiersprache PHP geschrieben. Moodle wird von vielen Schulen, Universitäten und Organisationen für eine bessere Lernerfahrung verwendet.
Moodle bietet Inhaltsverwaltung, benutzerfreundliche Benutzeroberfläche, Berichterstattung, Quiz, Feedback, Anwesenheitslisten und mehr.
Diese Anleitung erklärt, wie Sie Ihr eigenes Moodle einrichten Server von Grund auf neu auf Ubuntu 20.04 mithilfe von LEMP stapeln.
LEMP Stack auf Ubuntu installieren
LEMP ist eine Sammlung von Open-Source-Software, die Linux, Nginx, MySQL/MariaDB und PHP umfasst. LEMP ist im Wesentlichen eine Alternative zum LAMP-Stack mit Nginx als Webserver anstelle von Apache.
Für Linux arbeiten wir in diesem Handbuch mit Ubuntu 20.04. Stellen Sie sicher, dass Sie Ihren mit einem Benutzer mit Sudo-Fähigkeit verwenden können.
Installieren Sie Nginx
Nginx ist erforderlich, um die Lernressourcen über das Internet bereitzustellen. Wenn Sie keine vorhandene Instanz des NGINX-Webservers haben, befolgen Sie bitte die Schritte in dieser anderen Anleitung, um NGINX auf Ubuntu 20.04 zu installieren. Sobald Sie NGINX erfolgreich mit Ihrem registrierten Domainnamen konfiguriert haben, können Sie zu dieser Anleitung zurückkehren und mit den nächsten Schritten unten fortfahren.
Installieren Sie MySQL/MariaDB
Zur Speicherung von Moodle-Daten ist eine Datenbank erforderlich. Die am häufigsten verwendete Datenbank für Moodle ist typischerweise MySQL/MariaDB oder Postgres.
Die Moodle-Datenbanktabelle enthält Informationen zu Benutzern, Kursen, Standortinformationen und Daten für Analysen.
Wir werden MariaDB installieren, ein Open-Source-Datenbankverwaltungssystem, das von MySQL abgeleitet ist.
Führen Sie den folgenden Befehl aus, um MariaDB zu installieren auf Ubuntu:
$ sudo apt-get install mariadb-server mariadb-client
Der nächste Befehl führt ein eingebautes Skript zum Konfigurieren und Sichern Ihrer Mariadb-Installation aus.
$ sudo mysql_secure_installation
Es ist wichtig, dass Sie die Anweisungen sorgfältig lesen. Zunächst werden Sie aufgefordert, das aktuelle Passwort für den mysql-Root-Benutzer einzugeben. Da es sich um eine Neuinstallation handelt, hat der MySQL-Root-Benutzer ein leeres Passwort. Drücken Sie also die Eingabetaste, um fortzufahren.
Enter current password for root (enter for none): OK, successfully used password, moving on…
Der zweite Schritt besteht darin, das Root-Passwort für mariadb festzulegen. Geben Sie y ein und geben Sie dann Ihr gewünschtes Passwort ein.
Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success!
Entfernen Sie als Nächstes anonyme Benutzer. Geben Sie y ein zu bestätigen.
Remove anonymous users? [Y/n] y … Success!
Der nächste Schritt betrifft die Deaktivierung der Root-Anmeldung aus der Ferne. Geben Sie y ein zu bestätigen.
Disallow root login remotely? [Y/n] y … Success!
Geben Sie y ein um das Entfernen der Testdatenbank zu bestätigen.
Remove test database and access to it? [Y/n] y Dropping test database… … Success! Removing privileges on test database… … Success!
Der letzte Schritt besteht darin, die Berechtigungstabellen neu zu laden, damit Ihre Änderungen wirksam werden. Geben Sie y ein zu bestätigen.
Reload privilege tables now? [Y/n] y … Success! Cleaning up… All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Sie können sich jetzt bei mariadb anmelden und eine Datenbank zum Speichern von Moodle-Daten erstellen. Führen Sie den folgenden Befehl aus und geben Sie das Mariadb-Root-Passwort ein, wenn Sie dazu aufgefordert werden.
$ sudo mysql -u root -p
Führen Sie nach der Anmeldung den folgenden Befehl aus, um eine Datenbank zu erstellen.
> CREATE DATABASE moodle;
Als nächstes erstellen Sie wie folgt ein Benutzerkonto für Moodle in mariadb. Denken Sie daran, moodlesuper zu ersetzen und Passwort mit Ihren eigenen Werten.
> CREATE USER 'moodlesuper'@'localhost' IDENTIFIED BY 'password';
Der nächste Befehl erteilt dem neu erstellten Benutzerkonto die erforderlichen Berechtigungen.
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodlesuper'@'localhost';
Melden Sie sich wie folgt von mariadb ab.
> quit
Installieren Sie PHP
PHP wird benötigt, um Benutzeranfragen für Moodle-Inhalte dynamisch zu verarbeiten. NGINX arbeitet mit PHP unter Verwendung von PHP-FPM – d. h. FastCGI Process Manager.
Installieren Sie die erforderlichen PHP-Komponenten, indem Sie den folgenden Befehl ausführen.
$ sudo apt-get install php-fpm php-mysql php-xml
Nach der Installation besteht der nächste Schritt darin, NGINX so zu konfigurieren, dass PHP-Anforderungen an PHP-FPM weitergeleitet werden. Dazu müssten Sie die NGINX-Serverblockdatei für Ihre Moodle-Website bearbeiten. Der folgende Befehl öffnet beispielsweise die Serverblockdatei für meine Moodle-Website „cloudindevs.com“.
$ sudo nano /etc/nginx/sites-available/cloudindevs
Fügen Sie in der Serverblockdatei index.php hinzu zu der Zeile, die mit Index beginnt. Kopieren Sie außerdem die folgende Konfigurationsanweisung und fügen Sie sie direkt unter der vorhandenen Standortanweisung in Ihre Serverblockdatei ein.
# pass PHP scripts to FastCGI server
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Nach den Änderungen sollte dieser Teil Ihrer Serverblockdatei ähnlich aussehen wie im Bild unten. Die Neuzugänge sind rot markiert.
Um Ihre Konfiguration zu testen, führen Sie den folgenden Befehl aus, um eine index.php-Beispieldatei im Stammverzeichnis Ihrer Moodle-Website zu erstellen. Denken Sie daran, „cloudindevs.com“ durch Ihre eigene Website-Adresse zu ersetzen.
$ sudo nano /var/www/cloudindevs.com/index.php
Kopieren Sie den folgenden PHP-Beispielcode und fügen Sie ihn in die Datei index.php ein.
<?php echo 'NGINX is working with PHP-FPM!'; ?>
Speichern und schließen Sie die Datei index.php. Besuchen Sie yourwebsite.com/index.php in einem Webbrowser und Sie sollten die Beispielseite unten sehen.
Um SSL (https) zu haben, folgen Sie Nginx mit Let's Encrypt.
Installieren Sie Moodle auf Ubuntu
Zum Zeitpunkt der Erstellung dieses Leitfadens die neueste Moodle-Version ist 3.10.1 und kann wie folgt heruntergeladen werden.
$ sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz
Extrahieren Sie als Nächstes den Inhalt des heruntergeladenen Pakets und legen Sie es im Stammverzeichnis Ihrer Moodle-Website ab. Hier ist ein Beispiel.
$ sudo tar -zxvf moodle-3.10.1.tgz -C /var/www/cloudindevs.com
Es ist notwendig, den Besitz und die Berechtigungen für den extrahierten Moodle-Ordner wie folgt zu ändern. Das standardmäßige NGINX-Dienstkonto ist www-data .
$ sudo chown -R www-data:www-data /var/www/cloudindevs.com/moodle $ sudo chmod -R 755 /var/www/cloudindevs.com/moodle
Führen Sie die nächsten drei Befehle aus, um ein Verzeichnis mit den entsprechenden Berechtigungen für Moodle zum Speichern hochgeladener Dateien und Ordner zu erstellen. Das Moodle-Datenverzeichnis sollte nicht über das Internet zugänglich sein.
$ sudo mkdir /var/moodledata $ sudo chown -R www-data:www-data /var/moodledata $ sudo chmod -R 755 /var/moodledata
Moodle-Konfiguration
Jetzt ist es an der Zeit, die Moodle-Hauptkonfigurationsdatei zu erstellen. Wechseln Sie dazu das Verzeichnis und kopieren Sie dann die Beispielkonfigurationsdatei in den extrahierten Moodle-Ordner, indem Sie die folgenden Befehle ausführen.
$ cd /var/www/cloudindevs.com/moodle $ sudo cp config-dist.php config.php
Öffnen Sie die Datei config.php zum Bearbeiten.
$ sudo nano config.php
Im DATENBANK-SETUP Abschnitt der Datei config.php gehen Sie wie folgt vor.
- Ersetzen Sie pgsql mit mariadb
- Ersetze moodle mit dem Namen der Datenbank, die Sie beim Einrichten von mariadb erstellt haben
- Ändern Sie den Benutzernamen auf den tatsächlichen Datenbank-Benutzernamen, den Sie zuvor erstellt haben
- Ändern Sie das Passwort zu Ihrem Datenbankpasswort
Drücken Sie die Abwärtspfeiltaste, bis Sie zum WEB SITE LOCATION gelangen Abschnitt der Datei config.php.
Ersetzen Sie http://example.com/moodle mit http://yoursite.com/moodle
Meine wäre zum Beispiel „https://cloudindevs.com/moodle“
Scrollen Sie weiter nach unten zum DATENDATEI-SPEICHER Abschnitt der Datei config.php.
Ändern Sie /home/example/moodledata in Ihr Moodle-Datenverzeichnis, das Sie zuvor erstellt haben. Meine wäre /var/moodledata
Zugriff auf die Moodle-Weboberfläche
An dieser Stelle können Sie einen Webbrowser öffnen und yoursite.com/moodle besuchen, um die Installation abzuschließen.
Folgendes erhalte ich, wenn ich in einem Webbrowser auf „www.cloudindevs.com/moodle“ gehe.
Klicken Sie auf Weiter fortfahren. Auf der nächsten Seite können Fehler bezüglich fehlender Plugins auftreten. Sehen Sie sich ein Beispiel im Bild unten an.
Um die Probleme zu beheben, klicken Sie auf muss installiert und aktiviert sein und folgen Sie den Anweisungen, um die erforderlichen Erweiterungen zu installieren. Nachdem Sie die erforderlichen Erweiterungen installiert haben, starten Sie NGINX mit sudo systemctl restart nginx neu und laden Sie dann die Seite Serverprüfungen neu, um zu bestätigen, ob die Fehler verschwunden sind.
Wenn die Fehler verschwunden sind, können Sie auf Weiter klicken um fortzufahren.
Moodle-Hauptadministratorkonto konfigurieren
Nach erfolgreicher Installation von Moodle wird Ihnen eine Seite zur Konfiguration Ihres Hauptadministratorkontos angezeigt. Sie müssten einen Benutzernamen, ein Passwort und andere erforderliche Informationen angeben.
Außerdem werden Sie aufgefordert, den Namen Ihrer Website, die Zusammenfassung der Startseite, die Standorteinstellungen usw. zu konfigurieren. Wenn Sie fertig sind, klicken Sie auf Änderungen speichern unten auf der Seite.
Und damit ist die Installation von Moodle abgeschlossen. So sieht meine neue Moodle-Website aus.
Schlussfolgerung
Online-Lernen hat seit Beginn der Covid-19-Pandemie viel Aufmerksamkeit erregt – und das ist eine Tatsache. Viele Bildungseinrichtungen erstellen E-Learning-Plattformen über Online-Lernmanagementsysteme wie Moodle.
In diesem Handbuch haben wir erfolgreich einen Moodle-Server von Grund auf auf Ubuntu 20.04 installiert und konfiguriert. Weitere Informationen zur Verwendung und Verwaltung Ihrer Moodle-Website finden Sie in den offiziellen Moodle-Dokumenten.