Moodle 5.2 unter Windows installieren
10. August 2026 · 8 Min. Lesezeit
Kann man Moodle 5.2 unter Windows installieren?
Ja. Moodle 5.2 kann unter Windows für Tests, Entwicklung, Schulung oder kleine interne Nutzung laufen. Für ernsthafte Produktion ist Linux meistens die wartungsärmere Wahl, weil Moodle überwiegend auf LAMP-ähnlichen Stacks entwickelt und betrieben wird.
Die Moodle.org-Diskussion “Moodle 5.2 Windows Install” hat 54 Antworten und zeigt das Muster: IIS, WAMP, PHP-Versionen und Verwirrung um Windows-Pakete. Windows funktioniert, aber der Installationsweg hat mehr kleine Fallen.
Wählen Sie den richtigen Windows-Weg
| Ziel | Bester Weg |
|---|---|
| Schneller lokaler Test | Moodle-Windows-Paket, XAMPP oder WAMP |
| Moodle-Administration lernen | Lokale Windows-Installation |
| Produktion auf Windows Server | IIS + FastCGI + unterstütztes PHP + unterstützte Datenbank |
| Öffentliches, wachsendes LMS | Linux-VPS oder Managed Moodle Hosting |
Die Seite Installing Moodle beschreibt Linux als primäre Entwicklungsumgebung. Die IIS-Dokumentation weist außerdem auf stärkere Community-Unterstützung für Apache hin.
Moodle-5.2-Anforderungen
| Komponente | Minimum |
|---|---|
| PHP | 8.3.0 |
| MariaDB | 10.11.0 |
| MySQL | 8.4 |
| PostgreSQL | 16 |
| Microsoft SQL Server | 2019 |
max_input_vars | 5000 |
| PHP-Architektur | 64-bit |
Installieren Sie unter Windows 64-bit PHP. Für IIS ist in der Regel Non Thread Safe PHP mit FastCGI passend.
Option A: Moodle 5.2 auf IIS
1. IIS und CGI aktivieren
Aktivieren Sie in den Windows-Features:
- Internet Information Services
- World Wide Web Services
- Application Development Features
- CGI
Prüfen Sie danach http://localhost.
2. PHP für FastCGI installieren
Laden Sie eine Moodle-5.2-kompatible PHP-Version aus den offiziellen Windows-Builds. Entpacken Sie sie an einen stabilen Pfad:
C:\PHPInstallieren Sie das Visual C++ Redistributable, das Ihr PHP-Build benötigt.
3. PHP in IIS registrieren
Fügen Sie im IIS Manager ein Module Mapping hinzu:
| Einstellung | Wert |
|---|---|
| Request path | *.php |
| Module | FastCgiModule |
| Executable | C:\PHP\php-cgi.exe |
| Name | PHP-FastCGI |
Beschränken Sie den Handler auf Anfragen, die einer Datei oder einem Ordner entsprechen. Erhöhen Sie den FastCGI-Timeout, damit Installation und Upgrade nicht mitten im Lauf abbrechen.
4. php.ini konfigurieren
Aktivieren Sie typische Erweiterungen:
extension=curl
extension=fileinfo
extension=gd
extension=intl
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=soap
extension=sodium
extension=zip
zend_extension=opcacheSetzen Sie:
max_input_vars = 5000
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
cgi.force_redirect = 0
fastcgi.impersonate = 1Nutzen Sie Ihre echte Zeitzone:
date.timezone = Europe/Berlin5. Datenbank installieren
MariaDB oder PostgreSQL sind übliche Optionen. Für MariaDB/MySQL:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Geben Sie dem Moodle-Datenbanknutzer nur Rechte auf diese Datenbank.
6. Code und Daten trennen
Eine sinnvolle Struktur:
C:\inetpub\moodle
C:\moodledataDie IIS-Site sollte zeigen auf:
C:\inetpub\moodle\publicnicht auf das Elternverzeichnis.
7. Default Document und Routing
Fügen Sie index.php als Default Document hinzu. Installieren Sie bei Bedarf IIS URL Rewrite. Führen Sie nach der Installation den Router-Check aus.
Wenn er fehlschlägt, lesen Sie Moodle 5.2 Router nicht korrekt konfiguriert.
Option B: WAMP oder XAMPP
Nutzen Sie WAMP/XAMPP für lokale Tests, nicht für ein öffentliches Produktions-LMS.
- Verwenden Sie PHP 8.3 oder neuer.
- Aktivieren Sie erforderliche PHP-Erweiterungen.
- Setzen Sie
max_input_varsauf 5000. - Erstellen Sie die Datenbank mit
utf8mb4. - Legen Sie
moodledataaußerhalb des Webordners ab. - Lassen Sie den Virtual Host auf
publiczeigen. - Konfigurieren Sie den Router.
Der häufigste Fehler ist, Moodle in htdocs zu entpacken und das Elternverzeichnis aufzurufen. Für Moodle 5.2 gehört der Document Root auf public.
Häufige Windows-Fehler
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Environment-Check blockiert | PHP, Erweiterung oder Datenbankversion fehlt |
| 404 nach Installation | Site zeigt auf Elternverzeichnis statt public |
| PHP-Datei wird heruntergeladen | PHP-Handler fehlt |
| Installer läuft in Timeout | FastCGI- oder PHP-Timeout zu niedrig |
| Uploads schlagen fehl | PHP-Limits, Rechte oder Temp-Pfad |
| Dateiauswahl lädt endlos | Cache, JavaScript, Repository, Router oder Rechte |
Composer vendor directory not found | vendor fehlt |
| Cron läuft nie | Windows-Aufgabenplanung fehlt |
Für Composer: Moodle Composer vendor directory not found.
Cron nicht vergessen
Moodle braucht Cron für Foren, Abschluss, Benachrichtigungen, geplante Aufgaben und Ad-hoc-Tasks. Unter Windows richten Sie die Windows-Aufgabenplanung mit dem passenden php.exe ein.
C:\PHP\php.exe C:\inetpub\moodle\admin\cli\cron.phpFühren Sie den Job einmal manuell aus und prüfen Sie, ob er endet.
FAQ
Wird Moodle 5.2 unter Windows unterstützt?
Moodle kann unter Windows laufen, wenn alle Anforderungen erfüllt sind. Für große Installationen empfiehlt Moodle eher Linux oder ein Unix-ähnliches System.
IIS oder Apache unter Windows?
IIS, wenn Sie Microsoft-Integration brauchen. Für klassische Moodle-Produktion ist Linux mit Apache oder Nginx meist einfacher.
Wohin soll IIS zeigen?
Auf C:\inetpub\moodle\public, nicht auf C:\inetpub\moodle.

Geschrieben von Choaib Mouhrach
Gründer und Senior-Softwareentwickler
Ich konzipiere und entwickle maßgeschneiderte Lernplattformen für Organisationen mit komplexen Schulungs- und Zertifizierungsabläufen. Statt Plugins und Drittanbieter-Tools zusammenzufügen, entwickle ich Systeme, die zur tatsächlichen Arbeitsweise eines Unternehmens passen, den Verwaltungsaufwand senken und die Lernerfahrung verbessern.
Ihr Lernprodukt verdient seine eigene Plattform.
Wenn Sie eine Lernerfahrung liefern möchten, die rund um Ihr Produkt, Ihre Lernenden und Ihre Ziele gebaut ist, sind Sie hier richtig. Wir bauen Plattformen, die Ihnen die Kontrolle und Flexibilität geben, ohne Grenzen zu wachsen.