Moodle ist eines der be­kann­tes­ten Open-Source-Lern­ma­nage­ment­sys­te­me, mit dem Sie Online-Kurse erstellen, verwalten und be­reit­stel­len können. Besonders praktisch: Mit Docker lässt sich Moodle schnell und sauber in­stal­lie­ren, ohne dass Sie sich um komplexe Ab­hän­gig­kei­ten kümmern müssen. In dieser Anleitung erfahren Sie Schritt für Schritt, wie die Moodle-In­stal­la­ti­on mit Docker auch ohne Vor­kennt­nis­se funk­tio­niert.

Schritt 1: Vor­aus­set­zun­gen und passende Ser­ver­wahl

Bevor Sie mit der Moodle-Docker-In­stal­la­ti­on beginnen können, benötigen Sie einen Server sowie eine grund­le­gen­de Umgebung für Docker. Wichtig ist vor allem, dass die gewählte Ser­ver­leis­tung zu Ihrem An­wen­dungs­fall passt. Moodle kann je nach Nutzung un­ter­schied­lich res­sour­cen­in­ten­siv sein. Darüber hinaus sollten einige grund­le­gen­de tech­ni­sche Vor­aus­set­zun­gen erfüllt sein, damit die In­stal­la­ti­on rei­bungs­los funk­tio­niert:

  • Be­triebs­sys­tem: Eine aktuelle Linux-Dis­tri­bu­ti­on wie Ubuntu 22.04 oder neuer wird empfohlen.
  • Root- oder sudo-Zugriff: Sie benötigen ad­mi­nis­tra­ti­ve Rechte, um Software zu in­stal­lie­ren und Dienste zu kon­fi­gu­rie­ren.
  • Stabile In­ter­net­ver­bin­dung: Für den Download der Docker-Images sowie spätere Updates ist Zugang zum Internet Vor­aus­set­zung.
  • Offene Ports: Stan­dard­mä­ßig wird Port 80 für den Zugriff auf Moodle verwendet. Dieser sollte in der Firewall frei­ge­ge­ben sein.
  • Aus­rei­chen­der Spei­cher­platz: Min­des­tens 5 GB freier Speicher für In­stal­la­ti­on, Datenbank und erste Inhalte ist er­for­der­lich.
  • Domain (optional, aber empfohlen): Für den pro­duk­ti­ven Einsatz ist eine eigene Domain sinnvoll, ins­be­son­de­re in Kom­bi­na­ti­on mit HTTPS.

Im Folgenden finden Sie eine Übersicht typischer Ein­satz­sze­na­ri­en mit passenden Ser­ver­kon­fi­gu­ra­tio­nen. So können Sie ein­schät­zen, welche Res­sour­cen Sie benötigen.

Moodle für Ein­zel­per­so­nen und Lehr­kräf­te

Wenn Sie Moodle alleine oder in kleinen Gruppen nutzen möchten, reichen bereits ver­gleichs­wei­se geringe Res­sour­cen aus. Typische An­wen­dungs­fäl­le sind Online-Kurse für einzelne Klassen, Nach­hil­fe­an­ge­bo­te oder kleinere Wei­ter­bil­dungs­pro­jek­te. In solchen Szenarien greifen meist nur wenige Nutzer gleich­zei­tig auf die Plattform zu, sodass die An­for­de­run­gen über­schau­bar bleiben.

Eine Kon­fi­gu­ra­ti­on mit 2 vCores und 4 GB RAM ist dafür in der Regel aus­rei­chend. Wichtig ist vor allem eine stabile Per­for­mance bei par­al­le­len Zugriffen. Der benötigte Spei­cher­platz hängt stark davon ab, wie viele Inhalte Sie be­reit­stel­len, ins­be­son­de­re bei größeren Dateien wie Videos oder Prä­sen­ta­tio­nen. Planen Sie hier besser etwas zu­sätz­li­chen Puffer ein.

Moodle für Schulen und Wei­ter­bil­dungs­ein­rich­tun­gen

Für Schulen oder Bil­dungs­an­bie­ter mit mehreren Klassen und einer größeren Nut­zer­ba­sis steigen die An­for­de­run­gen bereits deutlich. Mehr gleich­zei­ti­ge Zugriffe, um­fang­rei­che­re Kurs­in­hal­te und eine in­ten­si­ve­re Nutzung der Plattform wirken sich direkt auf die benötigte Leistung aus.

Hier empfiehlt sich eine Kon­fi­gu­ra­ti­on mit min­des­tens 4 vCores und 4 bis 8 GB RAM. Damit stellen Sie sicher, dass sowohl die Kurs­ver­wal­tung als auch die Nut­zer­inter­ak­tio­nen auch bei höherer Last zu­ver­läs­sig und ohne spürbare Ver­zö­ge­run­gen funk­tio­nie­ren. Auch der Spei­cher­be­darf wächst in diesem Szenario schnell an, da re­gel­mä­ßig neue Inhalte hin­zu­ge­fügt werden.

Moodle für kleine und mittlere Un­ter­neh­men (KMU)

Un­ter­neh­men nutzen Moodle häufig für interne Schu­lun­gen, On­boar­ding-Prozesse oder E-Learning-Angebote für Mit­ar­bei­ten­de. In diesen Fällen spielen neben der Nut­zer­an­zahl auch Faktoren wie Sta­bi­li­tät, Ver­füg­bar­keit und Ska­lier­bar­keit eine wichtige Rolle.

Eine Kon­fi­gu­ra­ti­on mit 6 vCores und 8 GB RAM bietet in diesem Fall eine solide Grundlage für einen rei­bungs­lo­sen Betrieb. Damit können auch mehrere parallele Schu­lun­gen und Zugriffe pro­blem­los ver­ar­bei­tet werden. Zu­sätz­lich sollten Sie aus­rei­chend Speicher für Lern­ma­te­ria­li­en sowie re­gel­mä­ßi­ge Backups einplanen, um lang­fris­tig flexibel zu bleiben.

Moodle für große Or­ga­ni­sa­tio­nen

Wenn Moodle un­ter­neh­mens­weit ein­ge­setzt wird oder eine große Anzahl gleich­zei­ti­ger Nut­ze­rin­nen und Nutzer auf die Plattform zugreift, benötigen Sie eine deutlich leis­tungs­stär­ke­re In­fra­struk­tur. Typische Beispiele sind Hoch­schu­len, große Un­ter­neh­men oder Platt­for­men mit externen Teil­neh­men­den.

In solchen Fällen sind min­des­tens 8 vCores und 16 GB RAM emp­feh­lens­wert. Diese Aus­stat­tung er­mög­licht es, auch bei hoher Aus­las­tung eine stabile und per­for­man­te Umgebung be­reit­zu­stel­len. Darüber hinaus sollten Sie sich früh­zei­tig mit Themen wie Ska­lie­rung, Last­ver­tei­lung und au­to­ma­ti­sier­ten Backups be­schäf­ti­gen, um einen lang­fris­tig zu­ver­läs­si­gen Betrieb si­cher­zu­stel­len.

Über­sichts­ta­bel­le: Moodle-An­wen­dungs­fäl­le auf einen Blick

An­wen­dungs­ge­biet Emp­foh­le­ne Kon­fi­gu­ra­ti­on Typische gleich­zei­ti­ge User
Ein­zel­per­so­nen / Lehrende 2 vCores CPU, 4 GB RAM, 80–120 GB NVMe bis ca. 10–20 User
Schule und Wei­ter­bil­dung 4 vCores CPU, 4 - 8 GB RAM, 120–160 GB NVMe ca. 20–100 User
KMU / kleine Un­ter­neh­men 6 vCores CPU, 8 GB RAM, 200–240 GB NVMe ca. 100–300 User
Große Or­ga­ni­sa­tio­nen / Admins 8+ vCores CPU, 16+ GB RAM, 300+ GB NVMe 300+ User
Free VPS Trial
vServer kostenlos testen für 30 Tage

Lassen Sie sich von den Vorteilen über­zeu­gen. Probieren Sie Ihren Virtual Server ganz in Ruhe 30 Tage lang aus!

Hinweis

Wenn Sie sich noch nicht sicher sind, ob Moodle die richtige Plattform für Sie ist, lohnt sich ein Blick auf Al­ter­na­ti­ven wie ILIAS oder Canvas. Moodle überzeugt vor allem durch seine Fle­xi­bi­li­tät, große Community und zahl­rei­che Er­wei­te­rungs­mög­lich­kei­ten. Im Vergleich Moodle vs. ILIAS punktet letzteres mit einem starken Fokus auf Da­ten­schutz und struk­tu­rier­te Lern­in­hal­te, während Canvas im Vergleich zu Moodle für seine moderne Be­nut­zer­ober­flä­che und einfache Bedienung bekannt ist.

Schritt 2: Docker und Docker Compose in­stal­lie­ren

Zunächst müssen Docker und Docker Compose auf Ihrem Server in­stal­liert werden. Diese Tools er­mög­li­chen es Ihnen, Moodle in Con­tai­nern aus­zu­füh­ren, sodass alle be­nö­tig­ten Kom­po­nen­ten sauber von­ein­an­der getrennt und einfach verwaltet werden können. Ak­tua­li­sie­ren Sie hierzu zunächst die Pa­ket­lis­te Ihres Systems und in­stal­lie­ren Sie an­schlie­ßend Docker sowie Docker Compose aus dem aktuellen Docker-Re­po­si­to­ry:

Starten Sie damit, die Pa­ket­lis­te zu ak­tua­li­sie­ren und benötigte Tools zu in­stal­lie­ren:

sudo apt update
sudo apt install -y ca-certificates curl gnupg
bash

Nun fügen Sie mit folgendem Befehl den Docker-GPG-Key hinzu:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
bash

Auch das Docker-Re­po­si­to­ry lässt sich im Terminal her­un­ter­la­den:

echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
    $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
bash

Nun können Sie Docker ganz einfach in­stal­lie­ren:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
bash

Nach der In­stal­la­ti­on sollten Sie mit den folgenden Ter­mi­nal­be­feh­len si­cher­stel­len, dass der Docker-Dienst au­to­ma­tisch startet und direkt aktiviert wird:

sudo systemctl enable docker
sudo systemctl start docker
bash

Stan­dard­mä­ßig können Docker-Befehle nur mit sudo aus­ge­führt werden. Wenn Sie Docker ohne sudo nutzen möchten, können Sie Ihren User zur ent­spre­chen­den Be­nut­zer­grup­pe hin­zu­fü­gen:

sudo usermod -aG docker $USER
bash

Damit diese Änderung wirksam wird, müssen Sie sich einmal ab- und wieder anmelden.

Tipp

Wenn Sie Moodle in einer ver­wal­te­ten Hosting-Umgebung betreiben möchten, kann eine In­stal­la­ti­on über Plesk eine gute Wahl sein. Die Moodle-In­stal­la­ti­on mit Plesk bietet eine grafische Ober­flä­che, mit der sich Docker-Container, Domains und SSL-Zer­ti­fi­ka­te kom­for­ta­bel verwalten lassen. Für kom­ple­xe­re und ska­lier­ba­re Setups eignet sich hingegen ein Ku­ber­netes-Install von Moodle: Hier können Sie Ihre Moodle-Instanz flexibel skalieren und auch größere Nut­zer­zah­len zu­ver­läs­sig bedienen.

Der In­stal­la­ti­ons­er­folg lässt sich über­prü­fen, indem Sie sich die Version der soeben in­stal­lier­ten Docker-Engine anzeigen lassen:

docker --version
bash
Bild: Versionsanzeige von Docker im Terminal
Die Anzeige der Ver­si­ons­num­mer von Docker bestätigt die er­folg­rei­che In­stal­la­ti­on des Dienstes.

Schritt 3: Pro­jekt­ver­zeich­nis erstellen

Erstellen Sie nun ein eigenes Ver­zeich­nis für Ihre Moodle-In­stal­la­ti­on. Dadurch bleiben alle zu­ge­hö­ri­gen Dateien über­sicht­lich an einem zentralen Ort ge­spei­chert, was die spätere Ver­wal­tung er­leich­tert. Führen Sie dazu folgende Befehle im Terminal aus:

mkdir ~/moodle-docker
cd ~/moodle-docker
bash

Nun befinden Sie sich im Ar­beits­ver­zeich­nis, in dem Sie im nächsten Schritt die Kon­fi­gu­ra­ti­ons­da­tei­en erstellen können.

Schritt 4: Docker-Compose-Datei erstellen

Nun erstellen Sie die zentrale Kon­fi­gu­ra­ti­ons­da­tei für Ihre Moodle-In­stal­la­ti­on. Diese so­ge­nann­te docker-compose.yml legt fest, welche Container gestartet werden, wie sie mit­ein­an­der kom­mu­ni­zie­ren und welche Ein­stel­lun­gen verwendet werden. Docker Compose ist dabei besonders hilfreich, da mehrere Container, in diesem Fall Moodle und die Datenbank, gemeinsam als eine Anwendung or­ches­triert werden. Statt alles manuell zu kon­fi­gu­rie­ren, de­fi­nie­ren Sie hier einmal die komplette Umgebung.

Erstellen Sie zunächst die Datei im zuvor an­ge­leg­ten Ver­zeich­nis:

nano docker-compose.yml
bash

Fügen Sie an­schlie­ßend folgenden Inhalt ein:

services:
    db:
        image: mariadb:11.4
        container_name: moodle-db
        restart: always
        environment:
            MARIADB_ROOT_PASSWORD: rootpassword
            MARIADB_DATABASE: moodle
            MARIADB_USER: moodle
            MARIADB_PASSWORD: moodlepassword
        command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        volumes:
            - db_data:/var/lib/mysql
        healthcheck:
            test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
            interval: 10s
            timeout: 5s
            retries: 5
            start_period: 30s
    moodle:
        build: .
        container_name: moodle-app
        restart: always
        ports:
            - "80:80"
        volumes:
            - ./moodle:/var/www/html
            - ./moodledata:/var/www/moodledata
        depends_on:
                db:
                         condition: service_healthy
volumes:
    db_data:
yaml

Diese Kon­fi­gu­ra­ti­on nutzt getrennte Container für Anwendung und Datenbank. Der db-Container stellt die Datenbank bereit, in der Moodle alle Inhalte und Nut­zer­in­for­ma­tio­nen speichert. Im moodle-Container läuft der Apache-Webserver mit PHP für die Moodle-Anwendung. Die ei­gent­li­chen Moodle-Dateien werden im nächsten Schritt be­reit­ge­stellt.

Hinweis

Im Gegensatz zu älteren An­lei­tun­gen wird hier kein vor­kon­fi­gu­rier­tes Komplett-Image verwendet. Statt­des­sen basiert das Setup auf einer ge­ne­ri­schen PHP-Umgebung. Das erhöht die Fle­xi­bi­li­tät und vermeidet Ab­hän­gig­kei­ten von nicht mehr ge­pfleg­ten Images.

Ersetzen Sie die in der Kon­fi­gu­ra­ti­on ver­wen­de­ten Bei­spiel­pass­wör­ter unbedingt durch sichere Kenn­wör­ter. Für den pro­duk­ti­ven Einsatz empfiehlt es sich zudem, sensible Zu­gangs­da­ten nicht direkt in der docker-compose.yml zu speichern. Statt­des­sen können Sie eine .env-Datei verwenden, um Pass­wör­ter getrennt von der Kon­fi­gu­ra­ti­on zu verwalten. Für höhere Si­cher­heits­an­for­de­run­gen bieten sich darüber hinaus Docker Secrets oder ver­gleich­ba­re Me­cha­nis­men an.

Da das ver­wen­de­te PHP-Image keine für Moodle not­wen­di­gen Er­wei­te­run­gen enthält, wird im nächsten Schritt ein eigenes Image erstellt.

Schritt 5: PHP-Umgebung vor­be­rei­ten und Do­cker­file erstellen

Das stan­dard­mä­ßig ver­wen­de­te PHP-Image enthält nicht alle Er­wei­te­run­gen, die Moodle für einen feh­ler­frei­en Betrieb benötigt. Dazu zählen unter anderem Kom­po­nen­ten für die Da­ten­bank­an­bin­dung, die Bild­ver­ar­bei­tung sowie In­ter­na­tio­na­li­sie­rungs­funk­tio­nen. Damit die Anwendung korrekt in­stal­liert werden kann und typische Fehler während des Setups vermieden werden, sollten Sie daher vorab eine an­ge­pass­te PHP-Umgebung (min­des­tens PHP 8.3) erstellen.

Dies geschieht über ein eigenes Do­cker­file. Darin de­fi­nie­ren Sie, auf welchem Basis-Image Ihr Container aufbauen soll, und welche zu­sätz­li­chen Pakete und PHP-Er­wei­te­run­gen in­stal­liert werden. Auf diese Weise erhalten Sie eine Umgebung, die besser auf die An­for­de­run­gen von Moodle ab­ge­stimmt ist als ein un­ver­än­der­tes Standard-Image.

Erstellen Sie zunächst im Pro­jekt­ver­zeich­nis eine neue Datei mit dem Namen Dockerfile:

nano Dockerfile
bash

Fügen Sie an­schlie­ßend folgenden Inhalt ein:

FROM php:8.3-apache
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libzip-dev \
    libxml2-dev \
    libicu-dev \
    libonig-dev \
    libcurl4-openssl-dev \
    libsodium-dev \
    unzip \
    git \
    wget \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install \
        mysqli \
        pdo \
        pdo_mysql \
        gd \
        intl \
        xml \
        zip \
        opcache \
        soap \
        exif \
        mbstring \
        curl \
        sodium \
    && echo "max_input_vars=5000" > /usr/local/etc/php/conf.d/moodle.ini \
    && sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' \
        /etc/apache2/sites-available/*.conf \
        /etc/apache2/apache2.conf \
        /etc/apache2/conf-available/*.conf \
    && printf '<Directory /var/www/html/public>\n    AllowOverride None\n    Require all granted\n    DirectoryIndex index.php\n    FallbackResource /r.php\n</Directory>\n' \
        > /etc/apache2/conf-available/moodle.conf \
    && a2enmod rewrite \
    && a2enconf moodle
do­cker­file
Hinweis

Seit Moodle 5.1 liegt der öf­fent­lich er­reich­ba­re Teil der Anwendung im Un­ter­ord­ner public. Deshalb muss Apache so kon­fi­gu­riert werden, dass nicht /var/www/html, sondern /var/www/html/public als DocumentRoot verwendet wird. Zu­sätz­lich wird FallbackResource /r.php gesetzt, damit Moodle-URLs korrekt ver­ar­bei­tet werden.

Schritt 6: Moodle-Code her­un­ter­la­den

Laden Sie nun die aktuelle Moodle-Version (hier „5.2 stable“) direkt von der of­fi­zi­el­len Quelle herunter:

wget -O moodle.tgz https://download.moodle.org/download.php/direct/stable502/moodle-latest-502.tgz
bash

Entpacken Sie an­schlie­ßend das Archiv:

tar -xvzf moodle.tgz
bash

Erstellen Sie zu­sätz­lich das Da­ten­ver­zeich­nis:

mkdir moodledata
sudo chmod 777 -R moodledata
bash

Dieses Ver­zeich­nis wird von Moodle für Uploads, Caches und temporäre Dateien benötigt. Beachten Sie dabei: Für einfache Test­in­stal­la­tio­nen funk­tio­niert das Be­rech­ti­gungs­mus­ter 777 gut. In pro­duk­ti­ven Um­ge­bun­gen sollten Be­sit­zer­kon­ten und Rechte aber enger gesetzt werden, z. B. auf den Apache-User.

Setzen Sie außerdem die passenden Rechte für den Moodle-Ordner:

sudo chown -R 33:33 moodle
sudo chmod -R 755 moodle
bash

Schritt 7: Moodle starten

Nachdem Sie die Kon­fi­gu­ra­ti­ons­da­tei erstellt haben, können Sie die Container starten. Das Docker-Compose-Plugin lädt dabei au­to­ma­tisch die be­nö­tig­ten Images herunter, falls diese noch nicht vorhanden sind, und startet an­schlie­ßend alle de­fi­nier­ten Dienste. Führen Sie dazu folgenden Befehl aus:

docker compose up -d --build
bash
Bild: Docker Compose Terminalausgabe
Nachdem Sie Docker Compose aus­ge­führt haben, sehen Sie Ihre soeben de­fi­nier­ten Container.

Die Option -d steht für „detached mode“, sodass die Container im Hin­ter­grund laufen und Ihr Terminal weiterhin nutzbar bleibt.

Um zu über­prü­fen, ob alle Container korrekt gestartet wurden, können Sie sich den aktuellen Status anzeigen lassen:

docker ps
bash

In der Ausgabe sollten nun sowohl der Moodle-Container als auch die Datenbank als „Up“ (laufend) angezeigt werden.

Bild: Statusanzeige der Docker-Container
Sowohl der DB-Container als auch der PHP-Moodle-Container müssen den Status „Up“ anzeigen.

Schritt 8: Moodle im Browser aufrufen

Nachdem die Container er­folg­reich gestartet wurden, können Sie Ihre Moodle-Instanz im Browser aufrufen. Öffnen Sie dazu einen Web­brow­ser Ihrer Wahl und geben Sie die IP-Adresse Ihres Servers mit dem ent­spre­chen­den Port ein:

http://IHRE-SERVER-IP:80

Ersetzen Sie IHRE-SERVER-IP durch die tat­säch­li­che öf­fent­li­che IP-Adresse Ihres Servers. Sobald die Seite geladen ist, startet au­to­ma­tisch der Ein­rich­tungs­as­sis­tent von Moodle, der Sie durch die grund­le­gen­de Kon­fi­gu­ra­ti­on führt.

Bild: Moodle-Installationsassistent im Browser
Im Browser sehen Sie nun den In­stal­la­ti­ons­as­sis­ten­ten und können anfangen, indem Sie eine Sprache auswählen.

Schritt 9: Erst­ein­rich­tung ab­schlie­ßen

Im nächsten Schritt schließen Sie die Erst­ein­rich­tung direkt im Browser ab. Moodle führt Sie dabei Schritt für Schritt durch die wich­tigs­ten Kon­fi­gu­ra­ti­ons­punk­te.

Zunächst wählen Sie die ge­wünsch­te Sprache aus und be­stä­ti­gen die Sys­tem­prü­fung. Bei der Da­ten­bank­ver­bin­dung geben Sie die ent­spre­chen­den Daten aus Ihrer Kon­fi­gu­ra­ti­ons­da­tei ein. Als Da­ten­bank­host verwenden Sie db, als Da­ten­bank­na­me moodle, als Be­nut­zer­na­me moodle und als Passwort das in der docker-compose.yml hin­ter­leg­te Kennwort.

Bild: Moodle-Datenbankeinstellungen
Bei den DB-Ein­stel­lun­gen müssen Sie die Daten ent­spre­chend Ihrer Kon­fi­gu­ra­ti­ons­da­tei eingeben.

An­schlie­ßend erstellen Sie ein Ad­mi­nis­tra­tor-Konto, mit dem Sie später Zugriff auf das Backend haben.

Bild: Moodle-Admin festlegen
Ab­schlie­ßend können Sie ein Moodle-Admin­kon­to erstellen.

Nun können Sie grund­le­gen­de Ein­stel­lun­gen Ihrer Website, wie den Namen der Plattform, kon­fi­gu­rie­ren.

Nach er­folg­rei­chem Abschluss der Ein­rich­tung werden Sie au­to­ma­tisch zum Moodle-Dashboard wei­ter­ge­lei­tet und können direkt mit der Nutzung beginnen.

Für einen dauerhaft zu­ver­läs­si­gen Betrieb sollten Sie an­schlie­ßend noch den Moodle-Cron ein­rich­ten. Dieser Hin­ter­grund­pro­zess führt re­gel­mä­ßig geplante Aufgaben aus, etwa Be­nach­rich­ti­gun­gen, War­tungs­pro­zes­se oder au­to­ma­ti­sche Backups. In Docker-Setups lässt sich der Cron-Aufruf bei­spiels­wei­se mit folgendem Befehl testen:

docker compose exec moodle php /var/www/html/admin/cli/cron.php
bash
Tipp

Für den pro­duk­ti­ven Einsatz von Moodle empfiehlt es sich außerdem, die Plattform nicht nur über die Server-IP, sondern über eine eigene Domain be­reit­zu­stel­len. In Kom­bi­na­ti­on mit einem Reverse Proxy wie NGINX können Sie den Zugriff sauber steuern und gleich­zei­tig HTTPS ak­ti­vie­ren. Ein SSL-Zer­ti­fi­kat, bei­spiels­wei­se über Let’s Encrypt, sorgt dafür, dass die Ver­bin­dung ver­schlüs­selt ist und Nut­zer­da­ten geschützt über­tra­gen werden. Dadurch wirkt Ihre Plattform nicht nur pro­fes­sio­nel­ler, sondern erfüllt auch wichtige Si­cher­heits­an­for­de­run­gen. Gerade bei der Nutzung durch externe Teil­neh­me­rin­nen und Teil­neh­mer oder Mit­ar­bei­ten­de ist dies relevant.

Zum Hauptmenü