Allgemeiner Thread für Probleme und Bugs rund um edulution.io und der edulution.io-UI.
Hallo,
Im Oktober 2024 kündigte die britische Regierung an, das Territorium an Mauritius zu übergeben. Laut den Richtlinien der IANA werden damit auch alle Domains innerhalb einer Karenzzeit von fünf Jahren aufgelöst
Vielleicht einen anderen Namen suchen?
Nachtrag: Auch markenrechtlich evtl. nicht unproblematisch, aber IANAL…
In Jugoslawien waren das sogar nur 3 Jahre bis zur Aufloesung von .yu, vermute aber, dass Mauritius hier eher das Geld nimmt als die „Kunden“ rauszukicken. Verlassen wuerde ich mich nicht drauf.
Gruss Harry
Hi Frank,
beides ist uns bekannt und haben wir im Vorfeld geprüft. Das wir ggf. auf eine andere TLD umstellen müssen wird passieren.
Danke für die Hinweise
LG, Maurice
Hallo.
Nach dem Stammtisch-Treffen und der Präsentation der Features, die edulution mitbringt, habe ich mich direkt an die Arbeit gemacht und wollte mir edulution.io ansehen. Dazu bin ich nach der Anleitung unter docs.edulution.io vorgegangen und bin genau bis zu dem Punkt gekommen:
„Konfiguration abgeschlossen“ (warten… ohne dass es weiter geht)
gekommen.
Auf dem edulution-Server (ganz frisch installierter Ubuntu Server 24.04.1 LTS) sieht das ganze leider so aus:
_ _ _ _ _ _ ___
___ __| |_ _| |_ _| |_(_) ___ _ __ | | | |_ _|
/ _ \/ _` | | | | | | | | __| |/ _ \| '_ \| | | || |
| __/ (_| | |_| | | |_| | |_| | (_) | | | | |_| || |
\___|\__,_|\__,_|_|\__,_|\__|_|\___/|_| |_|\___/|___|
edulutionUI - Installer
[*] Docker ist bereits installiert.
[*] Erstelle Ordner für die edulutionUI installation...
[*] Herunterladen der Datei docker-compose.yml...
[*] Herunterladen der Datei realm-edulution.json...
[*] Herunterladen der Datei traefik.yml...
[*] Herunterladen der Datei edulution-default.yml...
[*] Anpassung der Proxy-Konfiguration...
[*] Starte den edulutionUI Web-Installer...
########################################################
edulutionUI Web-Installer
Sie erreichen die Oberfläche wie folgt:
https://edulution-server:443
https://<interne IP-Adresse in unserer DMZ>:443
########################################################
und dann:
[*] Starte den Authentifizierungserver um die Einstellungen festzulegen...
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 1 / 30)
[... und so weiter bis zum 30. Versuch ...]
[*] Warten bis der Authentifizierungserver gestartet ist (Versuch 29 / 30)
[!] Es konnte kein Verbindung zum Authentifizierungserver hergestellt werden!
Und das war’s dann leider. Weiter komme ich nicht. Vorher lief alles erfolgreich. Daher die Frage: Was ist da schiefgegangen bzw was fehlt?
Wenn ich docker ps -a
frage, erhalte ich:
root@edulution-server:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3612f94e96e0 quay.io/keycloak/keycloak:25.0 "/opt/keycloak/bin/k…" 7 minutes ago Restarting (127) 16 seconds ago edulution-keycloak
c23e57047010 postgres:16 "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 5432/tcp edulution-keycloak-db
Nachtrag: Anschließend noch in die docker-Logs geschaut:
docker logs edulution-keycloak
Fatal glibc error: CPU does not support x86-64-v2
(es ist eine VM unter Proxmox mit default-Settings)
etwas später – ah – ok: Fatal glibc error: CPU does not support x86-64-v2 · Issue #17290 · keycloak/keycloak · GitHub
Die CPU-Settings der VM auf [host] umzustellen scheint zu helfen!?!
Viele Grüße,
Michael
Noch eine weitere Bemerkung zur Installation: Ich musste ja zuvor auf dem v7-Server das Paket linuxmuster-api7
installieren. Vorsichtshalber habe ich das zuerst so gemacht:
apt install --dry-run linuxmuster-api7
Die folgenden NEUEN Pakete werden installiert:
linuxmuster-api7
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Inst linuxmuster-api7 (7.2.20 deb.linuxmuster.net:deb.linuxmuster.net [all])
Conf linuxmuster-api7 (7.2.20 deb.linuxmuster.net:deb.linuxmuster.net [all])
Das sah ja relativ harmlos aus … aber dann:
Install Python requirements
[... es wurden erfolgreich viele python-Pakete zusätzlich installiert ... ]
Created symlink /etc/systemd/system/multi-user.target.wants/linuxmuster-api.service → /lib/systemd/system/linuxmuster-api.service.
####################################################################################
# #
# CAUTION: THIS PACKAGE IS NOT SECURE AND ONLY PUBLISHED FOR DEVELOPMENT PURPOSES #
# DON'T USE IT ON A PRODUCTION SERVER! #
# #
####################################################################################
Die letzte Nachricht hat mich dann doch wieder etwas verunsichert.
Also besser doch noch nicht ausprobieren?
… und eine dritte Nachricht.
Ich habe den Installer nochmal komplett von vorne losgelassen … wieder zunächst überall grünes Licht und wieder der Abbruch nach 30 Versuchen: Es konnte kein Verbindung zum Authentifizierungserver hergestellt werden!
Dieses Mal meldet der docker-Container aber als letzte Einträge sinnvolles Zeug wie z.B.:
2024-12-18 22:11:01,279 INFO [io.quarkus] (main) Keycloak 25.0.6 on JVM (powered by Quarkus 3.8.5) started in 54.240s. Listening on: http://0.0.0.0:8080. Management interface listening on http://0.0.0.0:9000.
2024-12-18 22:11:01,280 INFO [io.quarkus] (main) Profile dev activated.
2024-12-18 22:11:01,280 INFO [io.quarkus] (main) Installed features: [agroal, cdi, hibernate-orm, jdbc-postgresql, keycloak, logging-gelf, narayana-jta, reactive-routes, resteasy-reactive, resteasy-reactive-jackson, smallrye-context-propagation, vertx]
2024-12-18 22:11:01,292 WARN [org.keycloak.quarkus.runtime.KeycloakMain] (main) Running the server in development mode. DO NOT use this configuration in production.
Trotzdem bricht die Installation ab und es wäre schön zu erfahren, wie man sie wieder starten kann ohne jedes Mal von vorne beginnen zu müssen!?!?
Hi Michael,
Die Meldung ist da seit dem Anfang der Entwicklung da, und ich wollte es sowieso die nächste Tage entfernen. Also: es ist jetzt zu einem Stand gekommen wo ich sagen kann, das es genug sicher ist.
Gruß
Arnaud
Alles klar, @Arnaud
Beim Setup bin ich im vierten Anlauf einen Schritt weiter gekommen: Offenbar ist mein Server nicht schnell genug, um innerhalb von 30 Sek. den docker-Container zu ziehen und hochzufahren. Daher workaround: das installer-Script ändern und aus 30 Versuchen 60 Versuche machen … damit ging es hier weiter!
Am Ende lieferte das Script
____ _ _ _ _ _ _
/ ___| (_) (_) ___| | ____ ___ _ _ __ ___ ___| |__ | |
| | _| | | | |/ __| |/ /\ \ /\ / / | | | '_ \/ __|/ __| '_ \| |
| |_| | | |_| | (__| < \ V V /| |_| | | | \__ \ (__| | | |_|
\____|_|\__,_|\___|_|\_\ \_/\_/ \__,_|_| |_|___/\___|_| |_(_)
Die Installation der edulutionUI ist abgeschlossen!
Ok, ich geb’s auf … jetzt ist die UI drauf … aber die Anmeldung klappt weder als
global-admin noch mit dem Usernamen, der während der Installation auf dem v7-Server angelegt wurde noch mit eigenen Credentials.
Stolperfalle beim Setup: Wenn man sich durch die Installation im Browser klickt, erscheint bei mir die IP-Adresse und nicht der FQDN des v7-Servers zusammen mit Protokoll 636 als Standard. Darauf bin ich nun mehrfach hereingefallen aber das kann in dieser Kombi natürlich nicht zusammen funktionieren!
… und es geht wieder nur einen winzigen Schritt weiter … kaum habe ich das geändert, ist die Installation erneut durchgelaufen aber bei der Anmeldung als User erscheint nun
"Network Error when attempting to fetch resource."
Ich bin raus für heute …
Nur noch eine letzte Beobachtung: im Passwort meines automatisch erzeugten edulutionui-bindusers
wurde zufällig ein Sonderzeichen eingebaut, und zwar eine )
– kann das das Problem sein??
Hallo Michael,
vielen Dank für deine Nachricht. Ich vermute mal, du verwendest einen Hypervisor wie Proxmox? Hier ist es wichtig, dass bei den Einstellungen der VM der Prozessor-Typ auf „host“ steht:
Ich werde das auch direkt noch in der Dokumentation ergänzen.
Beim Setup im Browser werden bei der Verwendung des Edulution-Setup-Token die Daten verwendet, die im WebUI-Plugin eingegeben wurden. Bei einem internen Aufruf der Schulkonsole über die IP-Adresse wird auch diese im Token hinterlegt. Bei der Verwendung von LDAP(s) muss zusätzlich darauf geachtet werden, dass ein gültiges Zertifikat verwendet wird.
Viele Grüße
Lukas
Hallo Lukas,
ja – das mit dem [host] hatte ich ja oben schon geschrieben. Das muss man bei Proxmox offenbar verwenden.
Aber der letzte Stand der Dinge war ja, dass ich mich nicht anmelden kann.
Unser v7-server hat intern wie extern den gleichen FQDN und besitzt auch ein gültiges LE-Zertifikat. LDAPS-Abfragen (mit Hostname und über Port 636) funktionieren auch (z.B. über ‚ldapsearch‘)
Trotzdem kann ich mich nicht an der edulution-UI anmelden.
Ich habe auch nochmal in die docker-logs vom keycloak-Container geschaut. Da ist durchaus was los (auch ein Java-Fehler) aber es geht leider trotzdem nicht weiter.
Viele Grüße,
Michael
Hier mal ein Blick auf die Container mit lazydocker … vielleicht hilft das?
… nur nochmal zum Verständnis: Kann es sein, dass man das Server-Zertifikat auf dem v7-Server auch für den API-Zugriff auf Port :8001
verwenden muss?
Hintergrund der Frage:
Wenn ich im Browser
https://server.meine-schule.de:443
verwende, wird das hinterlegte Zertifikat benutzt.
Wenn ich allerdings
https://server.meine-schule.de:8001
nehme, wird gemeldet:
self-signed-certificate.
@arnaud Kannst Du was dazu sagen bzw kannst Du mir einen Tipp geben, wo man das ggf auf dem v7-Server einstellen muss, damit das LE-Zertifikat auch für den API-Zugriff verwendet wird? (Nur der Vollständigkeit halber: Hab’s gefunden! Man könnte das auf dem v7-Server unter /etc/linuxmuster/api/config.yml
einstellen, falls gewünscht …)
Viele Grüße,
Michael
Hallo Michael,
ahh, sehr gut. Das habe ich leider überlesen, Entschuldigung.
Das Log sieht so weit ganz gut aus. Wenn der Login nicht funktioniert, kann es an der Domain der edulutionUI liegen. Die Webseite kann nur unter der URL aufgerufen werden, die im Installer unter „Externe Domain der edulutionUI“ steht. Andernfalls ist ein Login bedauerlicherweise nicht möglich.
Für die API ist kein gültiges Zertifikat notwendig. Solltest du die API aber aus dem Internet heraus nutzen wollen, würde ich hier einen ReverseProxy empfehlen.
Viele Grüße
Lukas
Hallo Michael,
vielleicht mußt du als gloabl-admin erst die Leiste für die User konfigurieren … vielleicht ist den Lehrern und den Schülern noch nix zugewiesen.
LG
Holger
Hallo Holger!
Ja, das war auch so … habe ich später erst bemerkt. Man muss pro „App“ festlegen, wer welche Anwendung verwenden können darf. Das geht so:
Wenn man nach den Rollen sucht, werden für die Lehrer / Schüler allerdings drei Möglichkeiten angeboten:
all-teachers
role-teachers
und einfach
teachers
Wo da genau der Unterschied liegt, weiß ich bisher nicht. Ich habe es im Moment so wie im Screenshot dargestellt für die User freigegeben.
Schön ist übrigens auch, wie gut die Einbindung auf dem Smartphone geklappt hat!
Viele Grüße,
Michael
Kurze Frage: Wie/wo gibt man dem edulution-Server für die interne Nutzung ein LE-Zertifikat mit?
Wenn ich von „außen“ zugreife, wird hier das richtige LE-Zertifikat angezeigt aber wenn ich von „innen“ auf die UI zugreifen will, wird gemeldet, dass ein selbst-signiertes Zertifikat verwendet wird.
Wenn man sich dieses Zertifikat anzeigen lässt, erscheint dort:
Das muss also aus dem docker-Container stammen.
Daher die Frage, wie/wo man dem edulution-traefik-Container ein gültiges LE-Zertifikat beibrigen kann…?
Hallo zusammen.
Ok – ich konnte das Problem gerade lösen:
(Wir nutzen intern und extern den gleichen FQDN)
Man muss ein paar Dinge ergänzen, damit der traefik-Container ein lokales LE-Cert zur Verfügung stellt:
docker-compose.yml ergänzen und zwar für den Container edu-traefik:
[...]
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik.yml:/etc/traefik/traefik.yml
- ./data/traefik/config:/etc/traefik/dynamic
- /path/to/letsencrypt/:/etc/certs/ <-- dort wird das LE-Cert abgelegt!
Anschließend noch unter /path/to/edulution/data/traefik/config
eine weitere Datei anlegen:
certs-traefik.yaml
mit diesem Inhalt:
tls:
certificates:
- certFile: /etc/certs/ui.meine-domain.cer <-- hier den Namen des Zertifikates anpassen
keyFile: /etc/certs/ui.meine-domain.key
Anschließend docker compose up -d
und schauen, ob es Fehlermeldungen gibt. Wenn alles ok ist, kann man auch intern die edulution-UI mit gültigem LE-Cert erreichen.
Viele Grüße,
Michael
Hallo.
Es gab hier ein Problem mit der edulution-App unter iOS, wenn man ein iCloud-Backup anlegt und das Backup auf einem anderen Gerät wiederherstellt: In unserem Fall ging es von einem iPad der 8. Generation auf eins der 10. Generation.
Die App wird zwar auf dem neuen Gerät installiert, doch man kann sie dann nicht nutzen. Das Logo „e“ erschien hier extrem klein in der Mitte der App aber sonst konnten wir nichts weiter damit machen. Der einzige Ausweg war: Deinstallieren und neu installieren (was in größeren Umgebungen natürlich immer mühsam ist). Anschließend musste man sich neu mit dem QR-Code zum Server verbinden und es lief wieder.
Ich wollte das nur kurz zurückmelden, denn vielleicht kann man das Problem ja irgendwie beheben?
Nachtrag:
… direkt noch eine Frage hinterher: Ich habe den docker-Container aktualisiert und gesehen, dass ein paar Dinge dazu gekommen sind.
Offenbar wurden mehrere neue Dinge implementiert?!
Meine Frage ist: Sind diese ganzen „Apps“ bereits irgendwo dokumentiert?
Bei einigen davon erscheint lediglich ein Link auf eine andere Seite so wie hier:
Danke für Klärung und viele Grüße,
Michael