Moodle Installation · 7 min read · Nov 02, 2025

Wie man Moodle LMS auf Ubuntu 24.04 Server installiert

Moodle ist eine beliebte Open-Source-Plattform, die von Bildungseinrichtungen weltweit zur Erstellung von Online-Kursen, zur Verwaltung von Inhalten und zur Förderung des kollaborativen Lernens verwendet wird. Moodle auf Ubuntu auszuführen, ist eine gängige Wahl aufgrund der Stabilität, Sicherheit und Unterstützung einer Vielzahl von Softwarepaketen auf Ubuntu. Der Prozess umfasst die Installation notwendiger Komponenten wie Apache oder Nginx als Webserver, MySQL oder PostgreSQL als Datenbank und PHP als Skriptsprache, die alle gut auf Ubuntu unterstützt werden. Diese Einrichtung ermöglicht es Institutionen, eine robuste, skalierbare und anpassbare Online-Lernumgebung zu schaffen, die auf spezifische Bildungsbedürfnisse zugeschnitten werden kann.

In diesem Tutorial zeigen wir Ihnen, wie Sie Moodle auf einem Ubuntu 24.04 Server installieren. Sie werden Moodle mit dem LAMP-Stack installieren und dann Moodle mit UFW und HTTPS über Certbot und Letsencrypt sichern.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.
  • Eine UFW-Firewall, die aktiv ist.

Abhängigkeiten installieren

Moodle ist eine Open-Source-Lernplattform, die in PHP geschrieben ist. Um Moodle zu installieren, benötigen Sie Apache/Nginx, MySQL/MariaDB/PostgreSQL und PHP. In diesem Abschnitt installieren Sie den LAMP-Stack (Linux, Apache, MariaDB und PHP) auf Ubuntu und richten Moodle darauf ein.

Um zu beginnen, führen Sie den folgenden Befehl aus und aktualisieren Sie Ihr Ubuntu-Paket-Index.

sudo apt update

update repo

Führen Sie nun den folgenden Befehl aus, um die LAMP-Stack (Apache, MariaDB und PHP) Abhängigkeiten zu installieren. Geben Sie ‘Y’ ein, um die Installation zu bestätigen.

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

install lamp stack

Nach Abschluss der Installation überprüfen Sie den Status des Apache-Dienstes mit dem folgenden Befehl.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

Im Folgenden können Sie sehen, dass der Apache-Webserver läuft.

check apache2

Überprüfen Sie den MariaDB-Datenbankserver mit dem folgenden Befehl. Sie werden sehen, dass der MariaDB-Server läuft.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Überprüfen Sie schließlich die PHP-Version und aktivierten Erweiterungen mit folgendem:

php -v  
php -m

Sie werden sehen, dass PHP 8.3 auf Ihrem Ubuntu-Server installiert ist.

check php

MariaDB-Server konfigurieren

Nachdem die Abhängigkeiten installiert sind, müssen Sie die Standard-Speicher-Engine von MariaDB auf ‘InnoDB‘ ändern, die von Moodle benötigt wird. Dies kann durch Bearbeiten der MariaDB-Serverkonfiguration erfolgen. Anschließend sichern Sie auch die Bereitstellung des MariaDB-Servers mit dem Dienstprogramm ‘mariadb_secure_installation‘.

Öffnen Sie die MariaDB-Serverkonfigurationsdatei ‘/etc/mysql/mariadb.conf.d/50-server.cnf‘ mit dem ‘nano’-Editor.

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Fügen Sie die folgende Konfiguration unter dem Abschnitt ‘[mysqld]‘ hinzu. Dies ändert die Standard-Speicher-Engine auf ‘innodb‘.

innodb_file_format = Barracuda   
default_storage_engine = innodb  
innodb_large_prefix = 1  
innodb_file_per_table = 1

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie nun den ‘systemctl‘-Befehl unten aus, um den MariaDB-Server neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart mariadb

Führen Sie schließlich den ‘mariadb_secure_installation‘-Befehl unten aus, um den MariaDB-Root-Benutzer einzurichten und Ihre Bereitstellung zu sichern.

sudo mariadb_secure_installation

Im Verlauf des Prozesses werden Sie mit Folgendem gefragt:

  • Für die Standardinstallation des MariaDB-Servers ohne Root-Passwort drücken Sie ENTER, wenn Sie nach dem Passwort gefragt werden.
  • Die lokale Authentifizierung für MariaDB-Root-Benutzer ist standardmäßig gesichert, geben Sie ‘n’ ein, wenn Sie gefragt werden, ob die Authentifizierungsmethode auf ‘unix_socket’ geändert werden soll.
  • Geben Sie ‘Y’ ein, um ein neues MariaDB-Root-Passwort zu erstellen. Geben Sie dann das starke Passwort für Ihren MariaDB-Root-Benutzer ein und wiederholen Sie es.
  • Wenn Sie gefragt werden, ob die Remote-Authentifizierung für den MariaDB-Root-Benutzer deaktiviert werden soll, geben Sie ‘Y’ ein, um zuzustimmen.
  • Die Standardinstallation des MariaDB-Servers enthält die Datenbank ‘test’ und erlaubt einem anonymen Benutzer den Zugriff darauf. Geben Sie für beide Einstellungen ‘Y’ ein, um die Standarddatenbank ‘test’ zu entfernen und die anonymen Berechtigungen zu entfernen.
  • Geben Sie schließlich ‘Y’ ein, um das Neuladen der Tabellenberechtigungen zu bestätigen.

Datenbank und Benutzer erstellen

Jetzt, da Sie den MariaDB-Server konfiguriert haben, lassen Sie uns eine neue Datenbank und einen Benutzer über den ‘mariadb’-Client erstellen.

Melden Sie sich mit dem ‘mariadb’-Client-Befehl unten beim MariaDB-Server an. Geben Sie Ihr MariaDB-Root-Passwort ein, wenn Sie dazu aufgefordert werden.

sudo mariadb -u root -p

Führen Sie nun die folgenden Abfragen aus, um eine neue Datenbank ‘moodle‘, einen Benutzer ‘moodle‘ zu erstellen und stellen Sie sicher, dass Sie das Passwort 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;  
QUIT

create database

PHP konfigurieren

In diesem Abschnitt bearbeiten Sie die PHP-Konfiguration ‘php.ini’ und ändern einige Standardwerte, die von Moodle benötigt werden.

Öffnen Sie die PHP-Konfiguration ‘/etc/php/8.3/apache2/php.ini‘ mit dem ‘nano‘-Editor.

sudo nano /etc/php/8.3/apache2/php.ini

Ändern Sie die Standardkonfiguration wie folgt. Stellen Sie sicher, dass Sie die Optionen ‘memory_limit‘ und ‘date_timezone‘ mit Ihren Informationen anpassen.

memory_limit = 256M  
upload_max_filesize = 60M  
max_execution_time = 300  
date.timezone = Europe/Amsterdam  
max_input_vars = 5000

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie.

Führen Sie schließlich den Befehl unten aus, um den Apache-Webserver neu zu starten und Ihre Änderungen an PHP anzuwenden.

sudo systemctl restart apache2

Moodle-Quellcode herunterladen

An diesem Punkt haben Sie den LAMP-Stack installiert und konfiguriert. Lassen Sie uns den Moodle-Quellcode herunterladen und das Installationsverzeichnis von Moodle konfigurieren.

Gehen Sie in das ‘/var/www‘-Verzeichnis und laden Sie den Moodle-Quellcode mit dem ‘wget‘-Befehl herunter. Stellen Sie sicher, dass Sie die Moodle-Download-Seite besuchen, um den Link zur neuesten Version zu erhalten. In diesem Fall laden Sie die neueste stabile Moodle 40.4 herunter.

cd /var/www  
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz

Nachdem Moodle heruntergeladen wurde, extrahieren Sie es mit dem ‘tar‘-Befehl unten. Der Moodle-Quellcode wird im ‘/var/www/moodle‘-Verzeichnis verfügbar sein.

tar xvf moodle-latest-404.tgz

Führen Sie schließlich den Befehl unten aus, um ein neues Datenverzeichnis ‘/var/www/moodledata‘ zu erstellen, den Besitz des Moodle-Verzeichnisses auf den Benutzer ‘www-data‘ zu ändern und sicherzustellen, dass sowohl das Moodle- als auch das Datenverzeichnis vom Benutzer ‘www-data‘ beschreibbar sind.

sudo mkdir -p /var/www/moodledata  
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata  
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

Apache-virtuellen Host einrichten

Mit dem heruntergeladenen Moodle werden Sie eine neue Apache-virtuelle Hostdatei erstellen, um Moodle auszuführen. Stellen Sie sicher, dass Sie Ihre Domain bereit haben und sie auf die IP-Adresse Ihres Ubuntu-Servers aufgelöst wird.

Zuerst führen Sie den ‘a2enmod‘-Befehl unten aus, um das ‘rewrite‘-Modul zu aktivieren.

sudo a2enmod rewrite

Erstellen Sie eine neue Apache-virtuelle Hostdatei ‘/etc/apache2/sites-available/moodle.conf‘ mit dem folgenden ‘nano‘-Editor.

sudo nano /etc/apache2/sites-available/moodle.conf

Fügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie den Domainnamen mit Ihren Informationen ä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 folgenden Befehl aus, um die Datei ‘moodle.conf‘ zu aktivieren und Ihre Apache-Syntax zu überprüfen. Wenn Sie die korrekte Apache-Syntax haben, sehen Sie eine Ausgabe ‘Syntax is OK‘.

sudo a2ensite moodle.conf  
sudo apachectl configtest

Führen Sie schließlich den ‘systemctl‘-Befehl unten aus, um Apache neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart apache2

Moodle mit UFW sichern

In diesem Schritt öffnen Sie die HTTP- und HTTPS-Protokolle über UFW (Uncomplicated Firewall). Stellen Sie sicher, dass UFW aktiv ist, bevor Sie beginnen.

Führen Sie den folgenden Befehl aus, um das Profil ‘Apache Full‘ auf UFW zu aktivieren. Damit wird der HTTP- und HTTPS-Verkehr erlaubt.

sudo ufw allow 'Apache Full'

Überprüfen Sie nun die Liste der aktivierten Regeln auf UFW mit dem folgenden Befehl. Sie werden sehen, dass das Profil ‘Apache Full‘ aktiviert ist.

sudo ufw status

Moodle mit HTTPS sichern

Zusätzlich zur Firewall werden Sie auch SSL/TLS-Zertifikate generieren und Moodle mit HTTPS sichern. In diesem Abschnitt implementieren Sie HTTPS für Moodle über Certbot und Letsencrypt. Wenn Sie Moodle lokal installieren, überspringen Sie dies.

Installieren Sie die Pakete ‘certbot‘ und ‘python3-certbot-apache‘ mit dem folgenden Befehl.

sudo apt install certbot python3-certbot-apache -y

Nachdem die Installation abgeschlossen ist, führen Sie den ‘certbot‘-Befehl unten aus, um SSL/TLS-Zertifikate für Moodle zu generieren. Stellen Sie sicher, dass Sie den Domainnamen und die E-Mail-Adresse mit Ihren Informationen ändern.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d moodle.howtoforge.local

Wenn der Prozess abgeschlossen ist, sind Ihre SSL-Zertifikate im Verzeichnis ‘/etc/letsencrypt/live/domain.com‘ verfügbar, und Ihre Moodle-Installation sollte automatisch mit HTTPS gesichert sein.

Moodle installieren

Besuchen Sie Ihren Moodle-Domainnamen wie https://moodle.howtoforge.local/ und Sie sehen den Installationsassistenten.

Wählen Sie Ihre Standardsprache und klicken Sie auf Weiter.

language

Geben Sie Ihr Datenverzeichnis für Moodle ‘/var/www/moodledata‘ ein.

moodle data

Wählen Sie MariaDB als Datenbanktreiber.

db driver

Geben Sie die Details Ihrer MariaDB-Datenbank und des Benutzers ein.

database

Klicken Sie auf Weiter, um die Urheberrechtshinweise zu bestätigen.

copyright notices

Überprüfen Sie im Abschnitt Serverprüfungen, ob Ihre Umgebung bereit ist.

system checks

Jetzt wird die Moodle-Installation verarbeitet.

installation

Nach Abschluss der Installation geben Sie den neuen Admin-Benutzer, die E-Mail und das Passwort für Moodle ein.

setup admin

Jetzt sehen Sie das Moodle-Dashboard wie folgt:

moodle dashboard

Fazit

Herzlichen Glückwunsch! Sie haben die Installation von Moodle auf dem Ubuntu 24.04 Server abgeschlossen. Sie haben Moodle 40.4 auf Ubuntu mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) installiert und Moodle mit UFW (Uncomplicated Firewall) und HTTPS über Certbot und Letsencrypt gesichert.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.