,

Moodle auf VPS installieren

Lesedauer 5 Minuten

Diese Anleitung zeigt Dir, wie Du die Lernplattform Moodle auf einem VPS installierst. Schritt für Schritt.

Inhaltsverzeichnis

Hinweis
Einige Screenshots zeigen das Backend unseres Schwesterunternehmens dogado. Die gezeigten Schritte können jedoch auch im easyname-Backend durchgeführt werden.

0. Überblick

  • Verwendetes System: Debian 11 64 bit
  • Genutzter User: Ich nehme alles als „root“ vor
  • Testserver: VPS General Purpose
  • Zeitdauer: ca. 10 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:
    • Grundlage ist folgende Anleitung: Traefik Reverseproxy installieren Diese Anleitung muss zuerst ausgeführt werden.
    • Die Installation von Docker / Docker Compose wird hier vorausgesetzt.

1. Moodle installieren

1.1 Einleitung

Moodle ist eine open source Kurs und Lernplattform. Viele Schulen und Universitäten nutzen die Plattform. In Moodle lassen sich Kurse / Nutzer und Inhalte einfach verwalten. Ebenfalls gibt es viele Plugins, durch die Moodle erweitert werden kann.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Du kannst den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Moodle werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Moodle neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findest du hier: https://www.easyname.at/blog/vps/anwendungen/traefik-reverseproxy-auf-vps-installieren

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Moodle abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/moodle/{database,app,daten,moodle-build}

Du kannst hier auch ein anderes Verzeichnis verwenden. Musst dann aber die gesamte Anleitung entsprechend anpassen.

Nun müssen wir noch die Rechte des Ordners anpassen. Dazu gibst du folgendes ein:

cd /opt/containers/moodle

chown 1001 database/

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation“ von Moodle beginnen. Dazu öffnest du folgende Datei:

nano /opt/containers/moodle/docker-compose.yml

Nun kopierst du folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Moodle Container.

version: '2'

services:

moodle-db:

image: docker.io/bitnami/mariadb:10.5

container_name: moodle-db

environment:

- MARIADB_USER=moodle

- MARIADB_DATABASE=moodle

- MARIADB_PASSWORD=sicher12!

- MARIADB_CHARACTER_SET=utf8mb4

- MARIADB_COLLATE=utf8mb4_unicode_ci

- MARIADB_ROOT_PASSWORD=sicher12!

volumes:

- ./database:/bitnami/mariadb

networks:

- default

restart: unless-stopped

moodle:

build: ./moodle-build

container_name: moodle

restart: unless-stopped

environment:

- BITNAMI_DEBUG=true

- MOODLE_DATABASE_HOST=moodle-db

- MOODLE_DATABASE_PORT_NUMBER=3306

- MOODLE_DATABASE_USER=moodle

- MOODLE_DATABASE_PASSWORD=sicher12!

- MOODLE_DATABASE_NAME=moodle

- MOODLE_USERNAME=euername

- MOODLE_PASSWORD=euerKennwort

- MOODLE_EMAIL=email@euredomain.de

- MOODLE_SITE_NAME=Moodle-dogado

volumes:

- ./app:/bitnami/moodle

- ./daten:/bitnami/moodledata

networks:

- default

- proxy

depends_on:

- moodle-db

labels:

- "traefik.enable=true"

- "traefik.http.routers.moodle.entrypoints=http"

`- "traefik.http.routers.moodle.rule=Host(moodle.euredomain.de`)" # Hier eure URL eingeben #

- "traefik.http.middlewares.moodle-https-redirect.redirectscheme.scheme=https"

- "traefik.http.routers.moodle.middlewares=moodle-https-redirect"

- "traefik.http.routers.moodle-secure.entrypoints=https"

- "traefik.http.routers.moodle-secure.rule=Host(moodle.euredomain.de`)" # Hier eure URL eingeben #

- "traefik.http.routers.moodle-secure.tls=true"

- "traefik.http.routers.moodle-secure.tls.certresolver=http"

- "traefik.http.routers.moodle-secure.service=moodle"

- "traefik.http.services.moodle.loadbalancer.server.port=8080"

- "traefik.docker.network=proxy"

- "traefik.http.routers.moodle-secure.middlewares=secHeaders@file"

networks:

proxy:

external: true

Nun müssen wir noch einiges anpassen.

1.3.3 Hostname anpassen

Nun musst du noch den Hostnamen anpassen, über welchen später Moodle erreichbar sein soll.

Diese beiden Zeilen musst du anpassen.

- "traefik.http.routers.moodle-app.rule=Host(moodle.euredomain.de `)"

- "traefik.http.routers.moodle-app-secure.rule=Host(moodle.euredomain.de`)"

In meinem Fall also:

- "traefik.http.routers.moodle-app.rule=Host(moodle.testbereich.net`)"

- "traefik.http.routers.moodle-app-secure.rule=Host(moodle.testbereich.net`)"

Wenn du Moodle direkt auf deiner „Hauptdomain“ betreiben willst, dann änderst du es folgendermaßen ab:

"traefik.http.routers.moodle-app.rule=Host(www.euredomain.de,euredomain.de)"
"traefik.http.routers.moodle-app-secure.rule=Host(www.euredomain.de,euredomain.de)"

1.3.4 Datenbank Passwort anpassen

Nachdem du den Hostnamen angepasst hast, musst du noch das Datenbank Passwort anpassen. Vergib ein langes, sicheres Kennwort. Das Kennwort in den beiden Zeilen „MARIADB_PASSWORD“ und „MOODLE_DATABASE_PASSWORD“ muss identisch sein!

Folgende Zeilen musst du ändern:

  • MARIADB_PASSWORD=sicher12!
  • MARIADB_ROOT_PASSWORD=sicher12!
  • MOODLE_DATABASE_PASSWORD=sicher12!

Ich ändere also meine Kennwörter ab. Dies könnte beispielsweise so sein:

  • MARIADB_PASSWORD=Fhas23!da4
  • MOODLE_DATABASE_PASSWORD= Fhas23!da4
  • MARIADB_ROOT_PASSWORD=ZZA3123!

1.3.5 Moodle Admin anpassen

Nun passen wir noch die Einstellungen unseres Moodle Administrators an. Wichtig: Der Nutzername darf NUR aus KLEINBUCHSTABEN bestehen.

Dazu passt du folgende Zeilen an:

  • MOODLE_USERNAME=euername
  • MOODLE_PASSWORD=euerKennwort
  • MOODLE_EMAIL=email@euredomain.de
  • MOODLE_SITE_NAME=Moodle-dogado

1.3.6 Moodle für weitere Sprachen vorbereiten

Damit Moodle später weitere Sprachen beherrscht, müssen wir den Container etwas anpassen. Dazu gibst du folgendes ein:

nano /opt/containers/moodle/moodle-build/Dockerfile

Dort gibst du folgendes ein:

FROM docker.io/bitnami/moodle:3

RUN echo "de_DE.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
RUN echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
RUN echo "it_IT.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
RUN echo "es_ES.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen

Hier werden also später im Container die benötigten Sprachpakete für Deutsch, Französisch, Italienisch sowie Spanisch installiert. Dies kannst du beliebig noch erweitern.

Nun sind wir fertig mit der Vorbereitung.

2. Moodle starten

Gib nun folgendes ein, um deinen Moodle Container zu starten:

docker compose -f /opt/containers/moodle/docker-compose.yml up  

Beim ersten Start des Containers wird Moodle initialisiert. Dies bedeutet, dass die Datenbank eingerichtet, deine Einstellungen übernommen werden und vieles mehr. Daher dauert es einige Minuten, bis der Container dann über die Webseite erreichbar ist. Bei mir hat es ca. 3 Minuten gedauert.

Am Ende solltest du folgendes sehen:

Consoleninhalt nachdem der Moodle Container gestartet wurde

Jetzt kannst du mit „STRG+C“ den Container beenden und anschließend mit folgendem Befehl wieder starten, aber dieses Mal im Hintergrund.

docker compose -f /opt/containers/moodle/docker-compose.yml up -d 

Gehe nun mit deinem Webbrowser auf deine Webseite (z.B. moodle.deinedomain.de). Dies sollte so aussehen.

Moodle Startseite im Webbrowser

Hier kannst du dich nun über „Log in“ einloggen. Gib hier die Daten ein, welche du im Schritt 1.3.6 vergeben hast.

Moodle Log-in-Maske

Jetzt solltest du folgendes sehen.

Registrationsseite Moodle

Hier kannst du noch eine Beschreibung, Name sowie weitere Sachen anpassen.

2.1 Sprachpaket Deutsch installieren

Dazu klickst du auf „Site administration“.

Moodle auf Deutsch einstellen durch Klick auf Site administration

Hier scrollst du weit nach unten, bis du „Language“ siehst und wählst dann „Language packs“ aus.

Auswahl eines Sprachpakets (language pack)

Suche hier nun nach „German“ und installier dann das Sprachpaket.

Nach verfügbarem Sprachpaket in Moodle suchen
German/Deutsch auswählen

2.2 Deutsch als Standardsprache festlegen

Dazu gehst du auf „Language settings“.

Deutsch als Standardsprache in Moodle einstellen unter language settings

Hier kannst du nun alle installierten Sprachen auswählen.

Auswahlmenü um Deutsch als Standardsprache auszuwählen

2.3 Sprache des Benutzers ändern

Dazu klickst du oben rechts auf dein Profil und wählst „Preferences“ aus.

Sprache des Benutzers auf Moodle ändern unter Preferences

Anschließend klickst du auf „Preferred language“.

Preferierte Sprache auf Moodle auswählen unter Preferred language

Nun kannst du deine Sprache wählen.

Auswahl der preferierten Sprache für einen Benutzer in Moodle

Jetzt hast du das komplette Interface in deiner gewünschten Sprache

Interface von Moodle in deutscher Sprache

easyname ist ein erfolgreicher und bekannter österreichischer Anbieter von Cloud-Services, Domains sowie Webhosting bis hin zur Server-Infrastruktur und gehört seit 2020 zur dogado group.
Das Unternehmen ist seit 2006 in Österreich erfolgreich am Markt und inzwischen auch in vielen anderen Ländern weltweit tätig. Sowohl das Team als auch die gehosteten Daten befinden sich in Österreich.

easyname liegt die Datensicherheit besonders am Herzen und stellt daher zu jedem Hosting-Paket auch kostenlose SSL-Zertifikate zur Verfügung. Mit intuitiven Tools zur Erstellung von Websites und Webshops und mit Easy Install Apps wie WordPress, Joomla oder PrestaShop können alle easyname-Kunden schnell in die Online-Welt einsteigen.