-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
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:
- 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 (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 Standardsprache 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.