Ich zeige euch hier, wie ihr die Lernplattform Ilias in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.
Update
27.12.2020 | Anleitung für Ilias 6.6 angepasst. |
28.04.2020 | Erstellung dieser Anleitung. |
Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.
Als Grundlage meiner Anleitung dient dienen die Docker Images von sturai, da Ilias selbst nichts für Docker bereitstellt.
1. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/ilias/{html,data,lucend,db}
2. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die einzelnen Ilias Compose Dateien von sturai genommen und diese abgeändert für Traefik.
cd /opt/containers/ilias/ nano docker-compose.yml
Inhalt
version: '3.2' services: ilias-db: image: mysql:5.7 container_name: ilias-db restart: unless-stopped command: --character-set-server=utf8 --collation-server=utf8_general_ci --max-allowed-packet=16M volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /opt/containers/ilias/db:/var/lib/mysql environment: - MYSQL_DATABASE=ilias - MYSQL_USER=ilias - MYSQL_PASSWORD=test ### Passwort anpassen ### - MYSQL_ROOT_PASSWORD=test ### Passwort anpassen ### ilias-app: image: sturai/ilias container_name: ilias-app restart: unless-stopped depends_on: - ilias-db volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /opt/containers/ilias/html:/var/www/html/data - /opt/containers/ilias/data:/var/iliasdata/ilias environment: - ILIAS_AUTO_SETUP=1 - ILIAS_DB_HOST=ilias-db - ILIAS_DB_NAME=ilias - ILIAS_DB_USER=ilias - ILIAS_DB_PASSWORD=test ### MySQL-Passwort von oben verwenden ### - ILIAS_ROOT_PASSWORD= sicheresKennwort ### Passwort anpassen ### - ILIAS_SETUP_PASSWORD= sicheresKennwort ### Passwort anpassen ### - ILIAS_CLIENT_NAME=default labels: - "traefik.enable=true" - "traefik.http.routers.ilias.entrypoints=http" - "traefik.http.routers.ilias.rule=Host(`ilias.euredomain.de`)" ## Hier eure Domain eingeben ## - "traefik.http.middlewares.ilias-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.ilias.middlewares=ilias-https-redirect" - "traefik.http.routers.ilias-secure.entrypoints=https" - "traefik.http.routers.ilias-secure.rule=Host(`ilias.euredomain.de`)" ## Hier eure Domain eingeben ## - "traefik.http.routers.ilias-secure.tls=true" - "traefik.http.routers.ilias-secure.tls.certresolver=http" - "traefik.http.routers.ilias-secure.service=ilias" - "traefik.http.services.ilias.loadbalancer.server.port=80" - "traefik.docker.network=proxy" - "traefik.http.routers.ilias-secure.middlewares=secHeaders@file" networks: - default - proxy ilias-server: image: sturai/ilias-ilserver container_name: ilias-server restart: unless-stopped depends_on: - ilias-app volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /opt/containers/ilias/lucened:/var/lucenedata/ilias - /opt/containers/ilias/html:/app/data:ro - /opt/containers/ilias/data:/app/iliasdata:ro networks: - default networks: proxy: external: true
Notwendige Anpassungen:
- MySQL Passwort ändern
- MySQL Root Passwort ändern
- Ilias root Passwort ändern
- Ilias Setup Passwort ändern
- 2x eure Domain bei Traefik anpassen („ilias.euredomain.de“)
Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.
Wenn ihr Ilias auf eurer “Hauptdomain” haben wollt, so gebt ihr folgendes ein:
"traefik.http.routers.ilias.rule=Host(`www.euredomain.de`,`euredomain.de`)" "traefik.http.routers.ilias-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"
3. Ilias starten
Ilias startet ihr wie gewohnt mit folgendem Befehl:
docker-compose -f /opt/containers/ilias/docker-compose.yml up -d
4. Ilias Login
Wenn ihr nun auf “ilias.euredomain.de” geht, dann solltet ihr auf diese Webseite kommen.
Die Zugangsdaten lauten:
- Name: root
- Passwort: Passwort, welches in in “ILIAS_ROOT_PASSWORD” festgelegt habt
5. Quellen
https://hub.docker.com/u/sturai
Hallo!
Bei mir kommt leider ein Fehler, das mySQL nicht gestartet werden kann und keine Verbindung zustande kommt. Schon mit ILIAS 6 probiert?
Alex