Wähle einen Artikel
Moodle auf vServer/VPS installieren
Moodle auf vServer/VPS installieren

0. Überblick

  • Verwendetes System: Debian 11 64 bit 
  • Genutzter User: Ich nehme alles als „root“ vor
  • Testserver: vServer XXL 2.0
  • Zeitdauer: ca. 10 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:

1. Moodle installieren

1.1 Einleitung

Moodle (https://moodle.de) 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. Ihr könnt 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 finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-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/

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

Nun müssen wir noch die Rechte des Ordners anpassen. Dazu gebt ihr 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 öffnet ihr folgende Datei:

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

Nun kopiert ihr 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 müsst ihr noch den Hostnamen anpassen, über welchen später Moodle erreichbar sein soll.

Diese beiden Zeilen müsst ihr 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 ihr Moodle direkt auf eurer „Hauptdomain“ betreiben wollt, dann ändert ihr 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 ihr den Hostnamen angepasst habt, müsst ihr noch das Datenbank Passwort anpassen. Vergebt ihr ein langes, sicheres Kennwort. Das Kennwort in den beiden Zeilen „MARIADB_PASSWORD“ und „MOODLE_DATABASE_PASSWORD“ muss identisch sein!

Folgende Zeilen müsst ihr ä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 ihr 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 gebt ihr folgendes ein:

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

Dort gebt ihr 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 könnt ihr beliebig noch erweitern.

Nun sind wir fertig mit der Vorbereitung.

2. Moodle starten

Gebt nun folgendes ein, um euren 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, eure 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 solltet ihr folgendes sehen:

Jetzt könnt ihr 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 

Geht nun mit eurem Webbrowser auf eure Webseite (z.B. moodle.euredomain.de). Dies sollte so aussehen.

Hier könnt ihr euch nun über „Log in“ einloggen. Gebt hier die Daten ein, welche ihr im Schritt 1.3.6 vergeben habt.

Jetzt solltet ihr folgendes sehen.

Hier könnt ihr noch eine Beschreibung, Name sowie weitere Sachen anpassen.

2.1 Sprachpaket Deutsch installieren

Dazu klickt ihr auf „Site administration“.

Hier scrollt ihr weit nach unten, bis ihr „Language“ seht und wählt dann „Language packs“ aus.

Sucht hier nun nach „German“ und installiert dann das Sprachpaket.

2.2 Deutsch als Standard­sprache festlegen

Dazu geht ihr auf „Language settings“.

Hier könnt ihr nun alle installierten Sprachen auswählen.

2.3 Sprache des Benutzers ändern

Dazu klickt ihr oben rechts auf euer Profil und wählt „Preferences“ aus.

Anschließend klickt ihr auf „Preferred language“.

Nun könnt ihr eure Sprache wählen.

Jetzt habt die das komplette Interface in eurer gewünschten Sprache.

Nächster Artikel
MongoDB auf vServer/VPS installieren
Weitere passende Themen