Moodle Installation · 9 min read · Sep 08, 2025
So installieren Sie Moodle LMS auf einem Debian 12 Server

Moodle ist eine offene Lösung für das Learning Management System (LMS). Es ist eine Plattform für Bildungszwecke, von der Erstellung von Online-Kursen, der Verwaltung von Online-Schulen, der Verwaltung von Inhalten bis hin zum Angebot von kollaborativem Lernen. Moodle ist hauptsächlich in PHP mit MySQL/MariaDB als Datenbank geschrieben und kann auf jedem Betriebssystem ausgeführt werden. Sie wählen zwischen Apache oder Nginx für Ihre Moodle-Installation.
In diesem Leitfaden erfahren Sie, wie Sie das Moodle Learning Management System auf einem Debian 12-Server installieren. Sie werden Moodle mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) ausführen, Ihren Debian-Server mit UFW (Uncomplicated Firewall) sichern und dann Moodle über HTTP mit Certbot und Letsencrypt absichern.
Voraussetzungen
Stellen Sie sicher, dass Sie Folgendes haben, bevor Sie beginnen:
- Einen Debian 12-Server
- Einen Nicht-Root-Benutzer mit Administratorrechten
- Einen Domainnamen, der auf die IP-Adresse des Servers verweist
Abhängigkeiten installieren
Das Moodle LMS ist in PHP und MySQL geschrieben, daher müssen Sie diese Pakete auf Ihrem System installieren. In diesem Beispiel werden Sie Moodle mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) ausführen. Daher installieren Sie vorerst LAMP auf Ihrem Debian-Server.
Bevor Sie ein Paket installieren, führen Sie den folgenden Befehl aus, um Ihr Debian-Paket-Index zu aktualisieren.
sudo apt update
Jetzt installieren Sie die LAMP-Stack (Linux, Apache, MariaDB und PHP) Abhängigkeiten mit dem folgenden Befehl. Geben Sie ‘Y’ ein, um mit der Installation fortzufahren.
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php
Nachdem die Installation abgeschlossen ist, überprüfen Sie den ‘apache2’-Dienst, um sicherzustellen, dass der Dienst läuft.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Sie können unten sehen, dass der Apache-Webserver läuft und aktiviert ist.

Überprüfen Sie nun den ‘mariadb’-Dienst, indem Sie den folgenden Befehl ausführen.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbIm folgenden Ausgabe sehen Sie, dass der MariaDB-Server läuft.

Überprüfen Sie schließlich die PHP-Version und listen Sie die aktivierten Module mit dem folgenden Befehl auf.
php -v
php -mSie werden sehen, dass PHP 8.2 installiert ist, mit einigen standardmäßigen Modulen wie ‘curl’, ‘exif’ und ‘date’, die aktiviert sind.

UFW (Uncomplicated Firewall) installieren
Nachdem Sie den LAMP-Stack installiert haben, installieren wir UFW (Uncomplicated Firewall), um den Server abzusichern. Öffnen Sie dann die Ports für SSH, HTTP und HTTPS-Protokolle. Schließlich starten und aktivieren wir UFW.
Um UFW zu installieren, führen Sie den folgenden ‘apt’-Befehl aus.
sudo apt install ufw
Sobald UFW installiert ist, führen Sie den folgenden ‘ufw’-Befehl aus, um die Ports für OpenSSH, HTTP (80) und HTTPS (443) zu öffnen. Sie werden eine Ausgabe wie ‘Regeln aktualisiert’ sehen.
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpFühren Sie nun den folgenden Befehl aus, um UFW auf Ihrem Debian-Rechner zu starten und zu aktivieren. Wenn Sie dazu aufgefordert werden, geben Sie ‘y’ ein, um zu bestätigen und fortzufahren. Sie werden eine Ausgabe sehen: ‘Firewall ist aktiv und beim Systemstart aktiviert’.
sudo ufw enableÜberprüfen Sie schließlich den UFW-Status mit dem folgenden Befehl. Sie werden sehen, dass UFW ‘aktiv’ ist und OpenSSH sowie die Ports ‘80’ und ‘443’ ‘ ERLAUBT ‘ sind.
sudo ufw status
MariaDB-Server konfigurieren
Bevor Sie Moodle installieren, müssen Sie die Standard-Speicher-Engine auf ‘innodb’ ändern und ‘Barracuda’ als Standardformat festlegen. Danach müssen Sie auch den MariaDB-Server absichern und das ‘root’-Passwort mit dem Dienstprogramm ‘mariadb-secure-installation’ einrichten.
Öffnen Sie die Standardkonfiguration des MariaDB-Servers ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ mit dem ‘nano’-Editor.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfFügen Sie die folgende Konfiguration ein, um das ‘Barracuda’-Format zu aktivieren und die Standard-Speicher-Engine auf ‘InnoDB’ festzulegen.
innodb_file_format = Barracuda
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1Speichern Sie die Datei und beenden Sie den Editor.
Führen Sie nun den folgenden ‘systemctl’-Befehl aus, um den MariaDB-Server neu zu starten und Ihre Änderungen anzuwenden.
sudo systemctl restart mariadbFühren Sie danach den folgenden ‘mariadb-secure-installation’-Befehl aus, um Ihre MariaDB-Serverinstallation abzusichern.
sudo mariadb-secure-installationDamit werden Sie nach den Konfigurationen des MariaDB-Servers gefragt:
- Drücken Sie ENTER, wenn Sie nach dem Root-Passwort gefragt werden (Sie konfigurieren es später)
- Geben Sie ‘n’ ein, wenn Sie gefragt werden, ob Sie zur ‘unix_socket’-Authentifizierung wechseln möchten
- Geben Sie ‘Y’ ein, um das MariaDB-Root-Passwort festzulegen, geben Sie dann Ihr neues Passwort ein und wiederholen Sie es
- Geben Sie ‘Y’ ein, um den anonymen Benutzer von MariaDB zu entfernen
- Geben Sie erneut ‘Y’ ein, um die Remote-Anmeldung für den Root-Benutzer zu deaktivieren
- Geben Sie ‘Y’ ein, um die Standarddatenbank ‘test’ und deren Berechtigungen zu entfernen
- Geben Sie ‘Y’ ein, um die Tabellenberechtigungen neu zu laden und Ihre Änderungen anzuwenden
Sobald Sie fertig sind, gehen Sie zum nächsten Schritt, um eine neue Datenbank und einen neuen Benutzer zu erstellen.
Erstellen einer Datenbank und eines Benutzers für Moodle
Nachdem der MariaDB-Server konfiguriert ist, erstellen wir nun eine neue Datenbank und einen Benutzer, die von Moodle verwendet werden. Sie verwenden den ‘mariadb’-Client, um sich bei MariaDB anzumelden und eine neue Datenbank und einen Benutzer zu erstellen.
Melden Sie sich mit dem folgenden ‘mariadb’-Befehl beim MariaDB-Server an. Geben Sie Ihr MariaDB-Root-Passwort ein, wenn Sie dazu aufgefordert werden.
sudo mariadb -u root -pFühren Sie die folgenden Abfragen aus, um eine neue Datenbank und den Benutzer ‘moodle’ mit dem Passwort ‘MoodlePassw0rd’ zu erstellen. Stellen Sie sicher, dass Sie die folgenden Datenbankanmeldeinformationen mit Ihren Informationen ändern.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
Führen Sie nun die folgende Abfrage aus, um den Benutzer ‘moodle’ zu überprüfen. Stellen Sie sicher, dass der Benutzer ‘moodle’ auf die Datenbank ‘moodle’ zugreifen kann.
SHOW GRANTS FOR moodle@localhost;Geben Sie schließlich ‘QUIT’ ein, um den MariaDB-Server zu verlassen.

PHP konfigurieren
Jetzt, da Sie den MariaDB-Server konfiguriert und einen neuen Datenbankbenutzer erstellt haben, konfigurieren wir die ‘php.ini’-Datei und ändern einige Standardkonfigurationen, die von Moodle benötigt werden.
Öffnen Sie die ‘php.ini’-Datei mit dem ‘nano’-Editor.
sudo nano /etc/php/8.2/apache2/php.iniÄndern Sie die Standard-PHP-Konfiguration wie folgt. Sie können das ‘memory_limit’ entsprechend ändern, abhängig von Ihrem Server-Speicher.
memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
Führen Sie schließlich den folgenden ‘systemctl’-Befehl aus, um den ‘apache2’-Webserver neu zu starten und Ihre neue PHP-Konfiguration anzuwenden.
sudo systemctl restart apache2Moodle-Quellcode herunterladen
Nachdem Sie PHP konfiguriert haben, sind Sie bereit, den Moodle-Quellcode herunterzuladen und das Installationsverzeichnis sowie das ‘data’-Verzeichnis für Moodle einzurichten. In diesem Beispiel richten Sie das Moodle-Installationsverzeichnis auf ‘/var/www/moodle’ und das ‘data’-Verzeichnis auf ‘/var/www/moodledata’ ein.
Gehen Sie zum Verzeichnis ‘/var/www’ und laden Sie den Moodle-Quellcode mit dem folgenden ‘wget’-Befehl herunter.
cd /var/www
sudo wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgzSobald der Download abgeschlossen ist, führen Sie den folgenden ‘tar’-Befehl aus, um den Moodle-Quellcode zu extrahieren und das extrahierte Verzeichnis in ‘moodle’ umzubenennen. Damit wird Ihre Moodle-Installation im Verzeichnis ‘/var/www/moodle’ gespeichert.
tar -xf moodle-latest-405.tgzErstellen Sie als Nächstes ein neues Verzeichnis ‘/var/www/moodledata’, das als Datenverzeichnis für Ihre Moodle-Installation verwendet wird.
mkdir -p /var/www/moodledataFühren Sie schließlich den folgenden Befehl aus, um den Besitz der Verzeichnisse ‘/var/www/moodle’ und ‘/var/www/moodledata’ auf den Benutzer ‘www-data’ zu ändern. Stellen Sie dann sicher, dass der Benutzer ‘www-data’ Dateien in diesen Verzeichnissen lesen, schreiben und ausführen kann.
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledata
Apache-Virtualhost einrichten
Jetzt, da Sie Moodle heruntergeladen haben, besteht der nächste Schritt darin, eine neue Apache-Virtualhost-Datei für Moodle zu erstellen. Stellen Sie sicher, dass Sie einen Domainnamen haben, der auf die IP-Adresse des Servers aufgelöst/verwiesen wird.
Erstellen Sie eine neue Virtualhost-Konfiguration ‘/etc/apache2/sites-available/moodle.conf’ mit dem ‘nano’-Editor.
sudo nano /etc/apache2/sites-available/moodle.confFügen Sie die folgende Konfiguration ein, um eine Virtualhost-Datei für Moodle einzurichten. Stellen Sie sicher, dass Sie den Parameter ‘ServerName’ mit Ihrem Domainnamen ändern.
DocumentRoot /var/www/moodle/
ServerName moodle.howtoforge.local
ServerAdmin [email protected]
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie nun den ‘a2enmod’-Befehl aus, um das ‘rewrite’-Modul zu aktivieren, und führen Sie dann den ‘a2ensite’-Befehl aus, um den ‘moodle.conf’-Virtualhost zu aktivieren.
sudo a2enmod rewrite
sudo a2ensite moodle.confFühren Sie als Nächstes den ‘apachectl’-Befehl aus, um Ihre Apache-Konfiguration zu überprüfen. Wenn Sie eine korrekte Apache-Konfiguration haben, sehen Sie eine Ausgabe wie ‘Syntax ist OK’.
sudo apachectl configtest
Führen Sie schließlich den ‘systemctl’-Befehl aus, um den Apache-Webserver neu zu starten und Ihre Änderungen anzuwenden.
sudo systemctl restart apache2Moodle mit HTTPS absichern
An diesem Punkt ist Ihre Moodle-Installation bereit. Bevor Sie fortfahren, sichern Sie Moodle mit HTTPS über Certbot und Letsencrypt. Tun Sie dies, wenn Sie Moodle auf einem öffentlichen Server installieren. Wenn Sie sich in der lokalen Entwicklung befinden, können Sie HTTPS überspringen oder über selbstsignierte Zertifikate implementieren.
Installieren Sie das ‘certbot’- und das ‘python3-certbot-apache’-Plugin mit dem folgenden ‘apt’-Befehl. Geben Sie ‘Y’ ein, um die Installation zu bestätigen.
sudo apt install certbot python3-certbot-apacheNachdem die Installation abgeschlossen ist, führen Sie den folgenden ‘certbot’-Befehl aus, um SSL-Zertifikate für Moodle zu generieren. Stellen Sie sicher, dass Sie den folgenden Domainnamen und die E-Mail-Adresse mit Ihrer Domain ändern.
sudo certbot --apache --agree-tos --no-eff-email -m [email protected] -d moodle.howtoforge.localWenn Sie fertig sind, sind Ihre SSL-Zertifikate im Verzeichnis ‘/etc/letsencrypt/live/domain.com’ verfügbar und Ihre Moodle-Installation wird unter HTTPS ausgeführt.
Moodle-Installation
Öffnen Sie Ihren Webbrowser und besuchen Sie den Domainnamen Ihrer Moodle-Installation, z. B. https://moodle.howtoforge.local/, und Sie sehen den Moodle-Installationsassistenten.
Wählen Sie Ihre Standardsprache für Moodle aus und klicken Sie auf ‘ Weiter ‘.

Geben Sie Ihren Domainnamen und das Moodle-Datenverzeichnis auf ‘ /var/www/moodledata ‘ ein.

Wählen Sie ‘ MariaDB ‘ als die Standarddatenbank für Moodle aus.

Geben Sie Ihre MariaDB-Datenbankdetails wie dbname, dbuser und Passwort ein.

Klicken Sie auf ‘ Weiter ‘ zur Urheberrechtshinweis.

Im Abschnitt ‘Serverprüfungen’ stellen Sie sicher, dass Ihr Debian-Server die Moodle-Anforderungen erfüllt. Der Status jedes Elements sollte ‘ OK ‘ sein.

Jetzt sehen Sie die Moodle-Installation wie folgt:

Sobald die Installation abgeschlossen ist, geben Sie Ihre Admin-Details (Benutzername, E-Mail und Passwort) ein.

Geben Sie nun Ihre Moodle-Website-Informationen ein.

Zuletzt sehen Sie das folgende Moodle-Admin-Dashboard.

Fazit
Herzlichen Glückwunsch! Sie haben die Installation des Moodle Learning Management Systems (LMS) auf dem Debian 12-Server abgeschlossen. Sie haben Moodle mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) eingerichtet und mit UFW (Uncomplicated Firewall) und HTTPS über Certbot und Letsencrypt abgesichert. Von hier aus können Sie ein neues Thema für Moodle anwenden, neue Addons installieren, um die Funktionalität zu erweitern, oder Sie können das Moodle-Benutzerhandbuch lernen, um Ihre Moodle-Installation zu verwalten.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.