Installation von Moodle
Diese Anleitung beschreibt, wie Sie Moodle installieren. Wenn Sie ein Experte sind, versuchen Sie es mit der Installation in Kürze.
Wenn Sie die Installation von Moodle komplett vermeiden möchten, sollten Sie MoodleCloud in Betracht ziehen, den Hosting-Dienst von Moodle.
Systemanforderungen
Moodle wird hauptsächlich auf dem Betriebssystem Linux mit einem Apache-Webserver, MySQL-Datenbank und PHP (auch bekannt als LAMP-Plattform) entwickelt. Im Zweifelsfall ist das die sicherste Kombination. Es gibt andere Optionen, siehe Abschnitt "Software" weiter unten.
Grundlegende Voraussetzungen für ein Moodle-System sind folgende:
Hardware
- Plattenspeicher: 200 MB frei (Minimum). Darüberhinaus benötigen Sie weiteren Platz, um Ihre Materialien zu speichern. 5GB ist wahrscheinlich ein realistisches Minimum.
- Prozessor: 1 GHz (mindestens), 2 GHz Dual-Core oder höher empfohlen.
- Speicher: 512 MB (mindestens), 1 GB oder mehr wird dringend empfohlen. 8 GB ist wahrscheinlich realistisch für große Produktivsysteme.
- Ziehen Sie separate Server für das Moodle-Frontend und die Datenbank in Betracht. Die Optimierung ist dadurch wesentlich einfacher.
Alle oben genannten Anforderungen variieren je nach den jeweiligen Hardware- und Softwarekombinationen sowie der Art der Nutzung und der Auslastung; stark frequentierte Moodle-Sites erfordern unter Umständen zusätzliche Ressourcen. Weitere Hinweise finden Sie unter Geschwindigkeitssempfehlungen. Moodle lässt sich durch den Einsatz leistungsfähigerer Hardware problemlos skalieren.
Bei sehr großen Websites ist es weitaus besser, mit einem kleinen Pilotprojekt zu beginnen und zunächst Erfahrungen und Einblicke zu sammeln. Ein Beitrag in den Foren nach dem Motto Welche Hardware brauche ich für 50.000 Nutzer? wird höchstwahrscheinlich keine hilfreiche Antwort erhalten.
Software
Detaillierte Informationen zu den Software-Anforderungen finden Sie in den Release Notes in der Entwicklerdokumenation.
Server aufsetzen
Ein Moodle-Server kann alles Mögliche sein - von einem Desktop-PC (z.B. für Test- und Evaluierungszwecke) über eine Rack-montierte oder geclusterte Lösung bis hin zu Cloud-VMs oder anderen gehosteten Lösungen. Wie oben erwähnt, gibt es zahlreiche Möglichkeiten zur Installation der grundlegenden Serversoftware. Weitere Informationen finden Sie unter:
- Nginx
- Apache
- AMP AMP (englisch)
- IIS
- OpenLiteSpeed (englisch)
Sie sollten auch die Informationen im Artikel Moodle Router (englisch) lesen.
Darüber hinaus verwendet Moodle ab Version 5.1 nun das Verzeichnis public für alle über das Web zugänglichen Dateien. Ihr Webserver sollte so konfiguriert sein, dass er Dateien aus diesem Verzeichnis bereitstellt. Anleitungen zur Aktualisierung Ihrer Konfiguration finden Sie im Abschnitt Umstrukturierung des Moodle-Code-Verzeichnisses. Dort finden Sie weitere Details.
Unabhängig davon, für welche Bereitstellungsoptionen Sie sich entscheiden, ist es äußerst hilfreich, wenn Sie sich die Zeit nehmen, um zu verstehen, wie die verschiedenen Komponenten Ihres Software-Stacks (HTTP-Daemon, Datenbank, PHP usw.) konfiguriert werden. Gehen Sie nicht davon aus, dass die Standardkonfiguration des Servers für Moodle optimal ist. So müssen beispielsweise der Webserver und die Datenbankserver mit ziemlicher Sicherheit angepasst werden, um das Beste aus Moodle herauszuholen.
Wenn Sie sich nicht sicher sind, welche Pakete Sie verwenden sollen (z.B. MariaDB oder MySQL), informieren Sie sich im Internet über den allgemeinen Konsens, werfen Sie aber auch einen Blick auf die Seite Geschwindigkeitsempfehlungen, da Ihnen dies ebenfalls dabei helfen kann, sich ein Bild davon zu machen, wie viel Aufwand damit verbunden ist bzw. wie Ihr Arbeitsablauf letztendlich aussehen könnte, und diesen Aspekt ebenfalls zu planen.
Wenn Sie einen Hosting-Anbieter nutzen, stellen Sie sicher, dass alle Moodle-Anforderungen (wie z.B. PHP- und Datenbankversionen) von der Hosting-Plattform erfüllt werden, bevor Sie mit der Installation beginnen. Es ist hilfreich, sich mit der Änderung von Einstellungen auf der Plattform des Hosting-Anbieters vertraut zu machen (z.B. mit den Höchstgrenzen für den Upload von PHP-Dateien), da die bereitgestellten Optionen und Tools variieren.
Moodle-Paket herunterladen und an den richtigen Ort kopieren
Wichtig: Inzwischen gibt es im Internet zahlreiche Webseiten, auf denen Sie Moodle herunterladen können. Wir empfehlen jedoch ausdrücklich, Moodle nur von moodle.org herunterzuladen. Dann können wir wesentlich einfacher Support anbieten, falls Sie Probleme bei der Installation von Moodle bekommen.
Es gibt zwei Möglichkeiten, um an Moodle heranzukommen:
- Laden Sie die erforderliche Version von http://download.moodle.org/ herunter und entpacken Sie die *.zip oder *.tgz Datei
- oder ziehen Sie den Code aus dem Git repository (empfohlen für Entwickler/innen und vereinfacht das Aktualisieren von Moodle)
$ git clone -b MOODLE_502_STABLE git://git.moodle.org/moodle.git
Detaillierte Informationen finden Sie im Artikel Git für Administratoren.
Beide oben genannten Vorgehensweisen sollten zu einem Verzeichnis namens moodle führen, das eine Reihe von Dateien und Verzeichnissen enthält. In der Regel können Sie diesen Ordner entweder innerhalb oder außerhalb des WebserverRoot-Verzeichnisses ablegen oder den Inhalt von moodle innerhalb des WebserverRoot-Verzeichnisses ablegen.
Nehmen wir an, das über das Web zugängliche Verzeichnis Ihres Servers, auch als DocumentRoot bekannt, heißt public_html. Nehmen wir außerdem an, dass das moodle-Code-Verzeichnis den Standardnamen moodle trägt. Es gibt drei mögliche Speicherorte für das Moodle-Verzeichnis oder dessen Inhalt.
- Sie können den gesamten Inhalt des Verzeichnisses moodle innerhalb von public_html ablegen, wodurch Moodle in der Regel unter www.example.com erreichbar ist. Wer dies tut, widmet oft seine gesamte Website Moodle. Dies ist auf dedizierten Servern ein recht gängiger Ansatz. Für Moodle 5.1 und höher müssen Sie jedoch einige Sicherheitsanforderungen erfüllen.
- Vor Moodle 5.1 war es üblich, das Verzeichnis moodle innerhalb von public_html anzulegen (z.B. public_html/moodle), wodurch Moodle unter www.example.com/moodle leicht erreichbar war und auch andere Dateien und Ordner bereitgestellt werden konnten. Wenn Sie eine ältere Version von Moodle (vor 5.1) installieren, ist diese Vorgehensweise weiterhin in Ordnung. Ab Moodle 5.1 wird diese Vorgehensweise jedoch aus Sicherheitsgründen nicht mehr empfohlen.
- Wenn Sie den Moodle-Code im Verzeichnis moodle belassen möchten, empfiehlt es sich, das Verzeichnis moodle außerhalb von public_html anzulegen (z.B. moodle/public_html). Anschließend können Sie verschiedene Methoden anwenden, um die Moodle-Anwendung bereitzustellen, sodass Moodle unter www.example.com/moodle erreichbar ist und Sicherheitsanforderungen erfüllt werden. Wenn Sie eine ältere Version von Moodle (vor 5.1) installieren, ist die Platzierung des Verzeichnisses moodle außerhalb von public_html gemäß den Sicherheitsrichtlinien von Moodle 5.1 möglich, auch wenn dies in der Vergangenheit nicht üblich war.
Einige Optionen zur Einrichtung des Ordners public:
1. Wenn sich Ihr Moodle-Code innerhalb von public_html befindet, können Sie
- das DocumentRoot Ihres Servers so umkonfigurieren, dass es auf das public-Verzeichnis von Moodle verweist.
- die Konfigurationsdateien von Apache so anpassen, dass das public-Verzeichnis der über das Web zugängliche Ordner ist.
- eine Router-Methode verwenden.
2. Befindet sich Ihr Moodle-Verzeichnis innerhalb des Verzeichnisses public_html, können Sie
- den DocumentRoot Ihres Servers auf das public-Verzeichnis von Moodle umkonfigurieren.
3. Befindet sich Ihr Moodle-Verzeichnis außerhalb von public_html, können Sie
- eine symbolische Verknüpfung erstellen, die innerhalb von public_html abgelegt wird und auf den Speicherort des Moodle-Verzeichnisses public verweist. Die allgemeine Form zum Erstellen dieser symbolischen Verknüpfung lautet wie folgt:
ln -fs path_to/public symbolic_link_name (e.g., ln -fs ~/mdl_sites/moodle/public ~/public_html/moodle).
Hinweis: Dieser Ansatz mit symbolischen Links funktioniert auch, wenn sich Ihr moodle-Verzeichnis innerhalb von public_html befindet, entspricht jedoch nicht den Sicherheitsanforderungen.
Wenn Sie sich bezüglich der verfügbaren Optionen unsicher sind, sollten Sie in der Dokumentation Ihres Systems oder Webservers nachschlagen. Auch die Diskussionen auf moodle.org können hilfreich sein.
Tipp: Wenn Sie Moodle auf Ihren lokalen Computer herunterladen und anschließend auf Ihre gehostete Website hochladen, ist es in der Regel besser, die komprimierte Moodle-Datei hochzuladen und sie dann auf Ihrer gehosteten Website zu entpacken. Wenn Sie Moodle auf Ihrem lokalen Computer entpacken, kann es beim Versuch, die über 25.000 Moodle-Code-Dateien mit einem FTP-Client oder dem Dateimanager Ihres Hosts hochzuladen, vorkommen, dass eine Datei übersehen wird und Fehler auftreten.
- Sichere Moodle-Dateien: Es ist entscheidend, dass der Webserver-Nutzer die Moodle-Code-Dateien nicht schreiben/verändern kann. D.h. unter Linux/Unix müssen Sie als Root-Nutzer/in folgende Kommandos ausführen:
# chown -R root /path/to/moodle # chmod -R 0755 /path/to/moodle
D.h. die Dateien gehören dem Root-Nutzer und dürfen nur von ihm geschrieben werden, alle anderen dürfen lesen und ausführen.
Auf Test- oder Entwicklungsseiten möchten Sie die Dateien möglicherweise beschreibbar machen, um den integrierten Plugin-Installer nutzen zu können. Für Produktionsseiten wird davon abgeraten (oder kehren Sie zumindest zu sichereren Einstellungen zurück, falls Sie dies dennoch tun).
Dieser Link zum Einstellen von Verzeichnisberechtigungen auf Linux-Webservern könnte ebenfalls hilfreich sein: Die richtigen Ordnerberechtigungen für eine Website auf einem Linux-Server.
Leere Moodle-Datenbank anlegen
Als nächstes müssen Sie in Ihrem Datenbanksystem eine leere Datenbank anlegen. Notieren Sie sich folgende Informationen, die Sie später bei der Installation von Moodle benötigen:
- dbhost - Hostname des Datenbankservers, vermutlich localhost, wenn der Webserver und der Datenbankserver auf derselben Maschine laufen, andernfalls der Name des Datenbankservers.
- dbname - Name der Datenbank. z.B. moodle.
- dbuser - Name des Datenbanknutzers, der Zugriff auf die angelegte Datenbank hat, z.B. moodleuser. Verwenden Sie aus Sicherheitsgründen nicht den Root-Nutzer des Datenbankservers. Geben Sie dem Datenbanknutzer nur die Rechte, die er unbedingt benötigt.
- dbpass - Kennwort des Datenbanknutzers.
Wenn Ihre Moodle-Site gehostet wird, sollten Sie im Control Panel eine webbasierte Verwaltungsseite für Datenbanken finden (oder fragen Sie Ihre Webadministration). Detaillierte Anleitungen finden Sie auf der Seite für den von Ihnen gewählten Datenbankserver:
Moodle-Datenverzeichnis anlegen
Moodle braucht außerdem ein Verzeichnis, um hochgeladene Dateien oder Nutzerbilder zu speichern. Der Webserver-Nutzer muss auf diesem Verzeichnis Schreibrechte haben. Stellen Sie sicher, dass dieses Verzeichnis ausreichend viel Plattenplatz zur Verfügung hat, siehe Abschnitt "Hardware" weiter oben.
Aufgrund der standardmäßigen Art und Weise, wie Moodle Daten zwischenspeichert, kann es zu erheblichen Leistungseinbußen kommen, wenn Sie für dieses Verzeichnis einen relativ langsamen Speicher (z. B. NFS) verwenden. Lesen Sie die Geschwindigkeitsempfehlungen sorgfältig durch und erwägen Sie den Einsatz von z.B. Redis-Cache oder memcached für das Caching.
Wichtiger Sicherheitshinweis: Aus Sicherheitsgründen darf dieses Verzeichnis nicht direkt über den Webserver erreichbar sein, also nicht public_html/moodledata). Der einfachste Weg ist der, ein Verzeichnis außerhalb des WebserverRoot-Verzeichnisses auszuwählen, z.B. moodledata/public_html.
Auf bestimmten Systemen erstellt die Moodle-Installation den Ordner moodledata möglicherweise automatisch. Wir empfehlen jedoch, ihn manuell anzulegen. Hier finden Sie ein Beispiel (Unix/Linux) für die Erstellung des Verzeichnisses und die Einrichtung von Berechtigungen, damit jeder auf dem Server dort Schreibrechte hat. Dies ist nur für Moodle-Server geeignet, die nicht gemeinsam genutzt werden. Besprechen Sie dies mit Ihrer Serveradministration, um geeignetere Berechtigungen festzulegen, die lediglich dem Webserver-Nutzer den Zugriff auf diese Dateien ermöglichen.
# mkdir /path/to/moodledata # chmod 0777 /path/to/moodledata
Moodle-Datenverzeichnis im Webserver-Verzeichnis absichern
Wenn Sie keine Alternative haben und das Moodle-Datenverzeichnis - entgegen der Empfehlungen - im Webserver-Verzeichnis anlegen müssen, dann können Sie folgende Sicherheitsvorkehrungen treffen. Sie können eine .htaccess Datei im Moodle-Datenverzeichnis anlegen, das die folgenden Zeilen enthält:
Apache 2.2
order deny,allow deny from all
Apache 2.4
Require all denied
Installationsprozess starten
Nun ist es Zeit, das Installationsskript anzustoßen, der die Datenbanktabellen anlegt. Die empfohlene Vorgehensweise ist die Installation von Kommandozeile. Wenn Sie dies aus irgend einem Grund nicht tun können (z.B. auf einem Windows-Server), dann verwenden Sie das web-basierte Installationsskript.
Installation von Kommandozeile
Am besten führen Sie das Installationsskript als Webservernutzer aus (je nach Linuxdistribution, z.B. www-data, apache): Melden Sie sich als root an und führen Sie folgende Kommandos aus (ersetzen Sie ggf. www-data durch Ihren Webservernutzer):
# chown www-data /path/to/moodle # cd /path/to/moodle/admin/cli # sudo -u www-data /usr/bin/php install.php # chown -R root /path/to/moodle
Es wird eine neue Moodle-Konfigurationsdatei config.php erzeugt.
Detaillierte Informationen zu weiteren Optionen finden Sie, wenn Sie folgendes Kommando ausführen:
# php install.php --help
Während der Installation werden verschiedene Einstellungen abgefragt. Wenn Sie unsicher sind, wählen Sie die Standardeinstellungen. Mehr Informationen finden Sie unter Administration über Kommandozeile.
Web-basierte Installation
Der Einfachheit halber können Sie Moodle über das Internet installieren. Wir empfehlen, Ihren Webserver so zu konfigurieren, dass die Seite erst nach Abschluss der Installation öffentlich zugänglich ist.
Um das Web-Installationsskript auszuführen, rufen Sie einfach die Haupt-URL Ihres Moodle-Systems in einem Webbrowser auf (z.B. www.example.com/moodle).
Das Skript führt Sie durch den gesamten Installationsprozess. Sie müssen den Copyright-Hinweis bestätigen, dann werden alle Tabellen in der Moodle-Datenbank angelegt, das Nutzerkonto für den Hauptadministrator angelegt und eine Reihe von Konfigurationseinstellungen für die Moodle-Installation. Das Anlegen der Datenbank kann einige Zeit in Anspruch nehmen - bitte haben Sie etwas Geduld. Schließlich sollten Sie auf die Moodle-Startseite weitergeleitet werden, wo Sie aufgefordert werden, einen neuen Kurs anzulegen.
Wahrscheinlich werden Sie aufgefordert, die Moodle-Konfigurationsdatei config.php auf Ihren PC herunter- und ins Moodle-Verzeichnis auf den Server hochzuladen. Folgende Sie dazu den Anweisungen, die Ihr Browser anzeigt.
Plesk und cPanel
Um Plesk auf Ihrem Ubuntu-Server zur Verwaltung mehrerer Websites, einschließlich Ihrer Moodle-basierten Schulungswebsite, zu installieren, sollten Sie die folgenden Schritte ausführen:
1. Stellen Sie über SSH eine Verbindung zum Server her. 2. Installieren Sie das Paket „software-properties-common“, um die Repositorys zu verwalten:
apt-get install software-properties-common
3. Fügen Sie das PPA-Repository hinzu:
add-apt-repository ppa:ondrej/php
4. Installieren Sie PHP x.y:
apt -y install phpx.y
5. Installieren Sie die erforderlichen PHP Module, z.B.:
apt install -y phpx.y-{bcmath,bz2,cli,common,curl,dev,fpm,gd,gmp,imagick,imap,intl,json,mbstring,mysql,opcache,soap,ssh2,xml,xmlrpc,zip}
6. Registrieren Sie den PHP Handler in Plesk:
plesk bin php_handler --add -displayname phpxy-fpm-custom -path /usr/sbin/php-fpmx.y -phpini /etc/php/x.y/fpm/php.ini -type fpm -id phpxy-fpm-custom -clipath /usr/bin/php -service phpx.y-fpm -poold /etc/php/x.y/fpm/pool.d
Plesk übernimmt die Installation von Apache, MariaDB/MySQL, PHP und anderen erforderlichen Komponenten. Anschließend können Sie mit der Moodle-Installation gemäß der Moodle-Dokumentation fortfahren.
Abschließende Konfiguration
Einstellungen innerhalb von Moodle
Auf den Seiten unter Website-Administration nehmen Sie sämtliche Konfigurationseinstellungen für Ihre Moodle-Site vor. Zu den wichtigsten Einstellungen gehören:
- Website-Administration > Plugins > Mitteilungsversand > E-Mail: Konfigurieren Sie hier Ihren SMTP-Server (falls nötig), so dass Moodle E-Mail versenden kann.
- Website-Administration > Server > Supportanfragen: Tragen Sie unter Support-Mail die E-Mail-Adresse der Person ein, an die Supportanfragen gerichtet werden sollen.
- Website-Administration > Server > Systempfade: Tragen Sie hier die Pfade zu den Binärdateien von
du,dotundaspellein. - Website-Administration > Server > HTTP: Wenn Ihr Server durch eine Firewall geschützt ist und Sie einen Web-Proxy verwenden, tragen Sie hier die entsprechenden Konfigurationseinstellungen für den Proxy-Server ein.
- Website-Administration > Lokales > Zeitzonen aktualisieren: Aktualisieren Sie Ihre Zeitzone.
Weitere Informationen finden Sie unter Moodle administrieren.
Verbleibende Aufgaben
- Cron-Job konfigurieren: Moodle muss im Hintergrund regelmäßig einige Aufgaben ausführen (z.B. Versenden von Forumsbeiträgen als E-Mail, automatische Kurssicherung, usw.). Verantwortlich dafür ist das Cron-Skript, das Sie zu bestimmten Zeiten am Tag ausführen lassen können. Dazu müssen Sie einen Cron-Job einrichten. Detaillierte Informationen dazu finden Sie im Artikel Cron-Job.
- Sicherungen konfigurieren: Siehe Sicherung der Moodle-Site und Automatische Kurssicherung.
- Moodle-Site absichern: Lese Sie die Sicherheitsempfehlungen. Werfen Sie auch einen Blick auf die Seite Website-Administration > Berichte > Sicherheitsprüfung.
- Erhöhen der maximalen Dateigröße für Uploads: Siehe Dateigröße für Uploads
- Mailversand testen: Legen Sie ein Testnutzer-Konto mit einer gültigen E-Mail-Adresse an und schicken Sie an dieses Konto eine Nachricht. Kommt diese Nachricht als E-Mail an? Wenn nicht, prüfen Sie die Einstellungen unter Website-Administration (oder im Block Einstellungen) > Website-Administration) > Plugins > Mitteilungsversand > E-Mail.
Installation ist abgeschlossen
- Legen Sie einen neuen Kurs an und starten Sie!
- Nachdem Ihre Moodle-Site nun online ist, sollten Sie bei Gelegenheit einen Blick auf die Geschwindigkeitsempfehlungen werfen, um zu erfahren, wie Sie deren Leistung maximieren können.
Wenn etwas schief geht
- Lesen Sie die Installation FAQ.
- Prüfen Sie die Datei-Rechte auf dem Server: Kann der Webservernutzer die Moodle-Skripte lesen (aber nicht schreiben!)? Kann der Webservernutzer im Moodle-Datenverzeichnis lesen und schreiben?
- Prüfen Sie die Datenbankrechte. Hat der Datenbanknutzer die richtigen Rechte (insbesondere wenn Webserver und Datenbankserver auf verschiedenen Maschinen laufen)?
- Wenn Sie Probleme beim Anlegen der Moodle-Konfigurationsdatei config.php haben, können Sie die Datei config-dist.php kopieren, die Kopie in config.php umbenennen und die Datenbankeinstellungen eintragen. Der Installationsprozess wird an der richtigen Stelle fortgesetzt.
- Nutzen Sie bei Problemen das Debugging.
- Prüfen Sie die Einstellungen in der PHP-Konfigurationsdatei php.ini und der .htaccess Datei. Sind diese korrekt (z.B. „memory_limit“), haben Sie die richtigen Dateien bearbeitet und (falls erforderlich) den Webserver nach den Änderungen neu gestartet?
- Wenn Sie zusätzliche Plugins verwenden, die nicht zum Standardpaket von Moodle gehören, und Probleme auftreten, löschen Sie diese Zusatz-Plugins.
- Nutzen Sie das Installationsforum im Kurs Using Moodle auf moodle.org. Geben Sie Ihre Softwareversionen an, erklären Sie, was Sie gemacht haben und welche Fehlermeldung Sie erhalten und was Sie probiert haben.
Plattformspezifische Anleitungen
Hinweis: Ein Großteil dieser Informationen stammt aus der Community. Sie wurden möglicherweise nicht überprüft und sind unter Umständen nicht mehr aktuell. Bitte lesen Sie diese Informationen in Verbindung mit der obenstehenden Installationsanleitung.