Docker KISS + linuxmuster-mrbs

Hallo Mathias,

wie hast du das gemacht?
Einfach das .deb runter geladen und installiert mittels

cd /root
wget http://de.archive.ubuntu.com/ubuntu/pool/universe/d/dehydrated/dehydrated_0.6.5-1_all.deb
dpkg -i dehydrated_0.6.5-1_all.deb

?

LG

Holger

Hallo Mathias,

… so, ich habe dehydrated auf die aktuelle Version 0.6.5 aktualisiert.
Jetzt läuft’s :slight_smile:

kannst du genauer beschreiben, wie du das gemacht hast?

LG

Holger

Hallo,

ich hab jetzt 0.6.5 drauf: aber
/var/bin/dehydrated -c
bricht immer mit Fehlern ab, dass die authmethode nicht funktioniert:

  • Challenge validation has failed :frowning:
    ERROR: Challenge is invalid! (returned: invalid) (result: {
    „type“: „tls-alpn-01“,
    „status“: „invalid“,

oder

  • Challenge validation has failed :frowning:
    ERROR: Challenge is invalid! (returned: invalid) (result: {
    „type“: „http-01“,
    „status“: „invalid“,

tsl-sni-01 kennt er nicht.
Was habt ihr den eingestellt?

Wenn ind er /etc/dehydrated/config
nix zur methode steht, dann nimmt er http-01
Habt ihr das so?

Fehlt vielleicht einfach der Port 80?

LG

Holger

Hallo Holger,

ich hab mir von github die Datei dehydrated runter geladen und in /usr/bin/ die alte dehydrated durch die neue dehydrated ersetzt.

Gruß,
Mathias

Hallo,

leider habe ich feststellen müssen, dass ich dass ich mich noch ziemlich in Docker einarbeiten muss. Irgendwie kommt der Kontakt zu meinem LDAP-Server nicht zustande. Und einfach so die log-Dateien ansehen, kann ich im Docker-Container nicht.
Kann mir da jemand einen Tipp geben?

Gruß,
Mathias

Der Tipp in Sachen docker sind die Videos von Frank. Dafür braucht man zwar „ein paar“ ruhige Minuten – aber dafür hat man anschließend mehr als nur eine Idee, was das ganze soll: Docker zum Kennenlernen on Vimeo

hth,
Michael

Hallo Michael,
danke für den Tipp. Die geb ich mir mal …
Gruß,
Mathias

Hi Holger,

zur ursprünglichen Frage:

nein, das geht nicht auf Anhieb. Frank hat explizit die LDAP-Anbindung umgestrickt und dabei lmn6.2-spezifische Sachen eingebaut, siehe:

/ $ldap_host = "ldaps://ip-Addr:636";
$ldap_host = "ldaps://10.16.1.1:636";

// Gruppen, die Zugang zum MRBS haben sollen
// $ldap_lmn_accessgroups = array("teachers","p_mrbs");
// Wenn alle Benutzer zugang haben sollen, auskommentieren
$ldap_lmn_accessgroups = array("teachers","p_mrbs");

// Usertree: ou=accounts + , + basedn des LMN62 Servers
// $ldap_base_dn = "ou=accounts,dc=linuxmuster,dc=lokal";
$ldap_base_dn = "ou=accounts,dc=humboldt-gymnasium,dc=ka,dc=schule-bw,dc=de";

// User Attribut, für lmn62 "uid"
$ldap_user_attrib = "uid";

// Grouptree: ou=groups + , + basedn des LMN62 Servers
// $ldap_base_dn = "ou=igroups,dc=linuxmuster,dc=lokal";
$ldap_lmn_groupdn = "ou=groups,dc=humboldt-gymnasium,dc=ka,dc=schule-bw,dc=de";

die ersten vier lassen sich auf der lmnv7 anwenden:

$ldap_host = "ldaps://10.16.1.1:636";
$ldap_lmn_accessgroups = array("teachers","p_mrbs");
$ldap_base_dn = "dc=linuxmuster,dc=humboldt-gymnasium,dc=ka,dc=schule-bw,dc=de";
$ldap_user_attrib = "samaccountname";

aber: ich bin an einer Lösung dran. Legen… wait for it …

… dary.

Guten Morgen,
hier ist meine Lösung: mrbs, so wie es Frank sich gedacht hat: Das neue Image ist hier, weil ich keinen Zugriff auf die Docker + githubs habe:


(sollte Frank meine PR einbauen, dann könntet ihr das original durch git pull updaten)
Solange das nicht der Fall ist: mein Repo clonen, eure mrbs.ini in die neue mrbs.ini (https://github.com/jolly-jump/linuxmuster-mrbs/blob/master/mrbs.ini) einpflegen, dann wie nach README: `./deploy/bin/turnkey -c mrbs.ini evtl. mit -f dann „sollte“ docker-compose -d up mein image runterziehen:
https://hub.docker.com/r/hgkvplan/linuxmuster-mrbs , und voila v7-mrbs !

:bam:

Hallo,
Das MRBS läuft :smile:
Kann mir jemand noch einen Tipp geben, wie ich einen Link zur Datenschutzerklärung ins mrbs bekomme?

Danke schon mal,
Mathias

Hallo Tobias,

bin grad am Einrichten des lmn7 mrbs.
dehydrated hat der cert geholt: erstmal alles sahne.
Dann habich die mrbs.ini angepaßt und turnkey laufen lassen: auch alles
super.
Sag mal: der nimmt schon auch Port 636, oder?
Ich hab mal 636 in der opnsense frei geschaufelt.

Nach dem docker-compose up -d kommt aber beim Aufruf der Seite
502 Bad Gateway
In der /etc/nginx/sites-enabled und sites-availible finde ich auch nur
die default und keine für mrbs…
Sollte der turnkey die anlegen?
Kannst du mir die config für nginx mal posten?

LG

Holger

… Sorry: vergeßt mein Post.
Ich war schlicht zu schnell.
Jetzt: 1 Minute später ist es da :slight_smile:
… es ist so genial wie das alles flutscht

LG

Holger

…phew, ich war schon am suchen, denn : ich hab den nginx auf dem dockerhost immer noch nicht. Ich bin immernoch bei meinem nginx-IM-docker-container geblieben, weil es beim ersten VErsuch außerhalb eben nicht klappte.
D.h. ich hab das mrbs paket so weit angepasst und hab einfach gehofft, dass die reverse proxy geschichte sich halt noch nicht geändert hat :blush:

Super, freut mich, dass es klappt.
Tobias

p.s." Lass auch andere die Konversation mitgestalten

Dieses Thema ist dir eindeutig wichtig – du hast mehr als 25% aller Antworten verfasst.

Es könnte noch besser sein, wenn du anderen Leuten ebenfalls Raum lässt, ihre Sichtweisen darzulegen. Bitte lade sie dazu ein."

ich halte mich jetzt also zurück…

Hallo Tobias,

sach mal: hast du da auch einen lokalen Nutzer als Admin eingetragen?
Das sollte ja eigentlich mittels.

$auth[„user“][
„username1“] = „password1“;

und

$auth[„admin“] = „username1“;

in der raumbuchung.inc.php passieren.
Er scheint aber immer den LDAP ab zu fragen (was noch ciht geht, weil
ich gerade erst bemerkt habe, dass die externe IP des lmn7 noch nicht
den Port 636 frei hat: mail an BelWü ist raus).

p.s." Lass auch andere die Konversation mitgestalten

Dieses Thema ist dir eindeutig wichtig – du hast mehr als 25% aller
Antworten verfasst.

Es könnte noch besser sein, wenn du anderen Leuten ebenfalls Raum lässt,
ihre Sichtweisen darzulegen. Bitte lade sie dazu ein."

… wo hast du den die Aussage her?
Hat dir das discourse geschickt?

LG

Holger

Ich hab da eigentlich nix verändert. In der auth_linuxmuster62.inc bzw. in der raumbuchung.inc.php stand bei mir vorher schon:

unset($auth["admin"]);              // Include this when copying to config.inc.php
$auth["admin"][] = "global-admin";
#$auth["admin"][] = "andererbenutzer";
#$auth["admin"][] = "andererbenutzer";
#$auth["admin"][] = "andererbenutzer";

wo bei statt global-admin eben administrator stand.
DAs „unset“ macht ja alle lokal definierten Nutzer zunichte.
Die könnte man danach ja wieder einführen.
Aber da muss man die auth_linuxmsuter7.inc patchen.
Ich weiß gar nicht, warum das vorher scheinbar mit LDAP + lokalen Benutzern funktioniert haben soll/kann.
Hattest du vorher an LDAP der 62 das mrbs von frank angeschlossen, oder war das noch ein älteres?
VG, Tobias

Ja, genau, rechts im Fenster…

Hallo Tobias,

Ich hab da eigentlich nix verändert. In der auth_linuxmuster62.inc bzw.
in der raumbuchung.inc.php stand bei mir vorher schon:

unset($auth[„admin“]); // Include this when copying to config.inc.php
$auth[„admin“] = „global-admin“; #$auth[„admin“] =
„andererbenutzer“; #$auth[„admin“] = „andererbenutzer“;
#$auth[„admin“] = „andererbenutzer“;|

wo bei statt global-admin eben administrator stand.
DAs „unset“ macht ja alle lokal definierten Nutzer zunichte.
Die könnte man danach ja wieder einführen.
Aber da muss man die auth_linuxmsuter7.inc patchen.
Ich weiß gar nicht, warum das vorher scheinbar mit LDAP + lokalen
Benutzern funktioniert haben soll/kann.
Hattest du vorher an LDAP der 62 das mrbs von frank angeschlossen, oder
war das noch ein älteres?

ich hatte das von Frank mit dem auth typ mlbw
Dazu hatte ich aber in der inc.php noch einen lokalen admin drin: das
hat funktioniert.
Hier funktioniert es wohl nicht: oder muss ich den Dock neustarten,
damit Änderungen übernommen werden?

Ist auch garnicht so wichtig…
Wenn morgen die ANmeldung geht, dann tut es ja auch der global admin …

LG

Holger

Hi, ich hab mir nur den typ linuxmuster62 und linuxmuster7 angeschaut und die können das vermutlich nicht.
Die auth_mlbw auf meinem 62er Server ist von 2004 von G. Wilke geschrieben. Das macht gar nicht LDAP, sondern ein POP-Login. Haarsträubend aus heutiger Sicht…

In 15 Jahren werden sich entwickler denken: der code ist ja ohne KI-Hilfe geschrieben, Haarsträubend…

Hallo,
der Link zur Datenschutzerklärung steht. Und da ich mal davon ausgehe, dass das noch mehr Admins beschäftigen könnte, skizziere ich mal kurz, wie ich das gemacht habe. Da ich, was Docker angeht, ein absolutes Greenhorn bin wird meine Lösung nicht die eleganteste sein…

Die Datei /var/www/html/Themes/default/header.inc in unserem Docker-Container raumbuchung baut die Menüzeile des mrbs auf.

Diese Datei und die Datei site_dse.html, in der die Datenschutzerklärung steht, reiche ich aus dem Dockercontainer heraus:

  1. Am Ende der Datei /srv/docker/linuxmuster-mrbs/docker-compose.yml muss folgendes eingefügt werden:
    - ./Themes/default/header.inc:/var/www/html/Themes/default/header.inc
    - ./Themes/default/site_dse.html:/var/www/html/Themes/default/site_dse.html
    Dadurch werden die Dateien header.inc und site_dse.html in den Ordner /srv/docker/linuxmuster-mrbs/Themes/default/ gelegt.

  2. Mit docker stop raumbuchung und docker stop mariadb werden die Container gestoppt.

  3. Mit docker-compose up -d werden die Veränderungen übernommen und die Dockercontainer gestartet.

So jetzt muss nur noch die Datei /srv/docker/linuxmuster-mrbs/Themes/default/header.inc auf dem Dockerhost und nicht im Dockercontainer raumbuchung, bearbeitet werden:

  1. In Zeile 146 habe ich die Funktion print_dse eingefügt:

    function print_dse($query_string)
    {
    echo „<a href=„Themes\default\site_dse.html?$query_string“>Datenschutzerklärung\n“;
    }

  2. Jetzt kann in Zeile 227 der Datenschutz-Menüeintrag eingefügt werden:

    echo "<li>\n";
     print_dse($query_string);
     echo "</li>\n"; 
    

Wenn jetzt in site_dse.html die Datenschutzerklärung im HTML-Format steht, ist die Datenschutzerklärung auch im neuen mrbs.

Wenn man für einen mrbs-Server, der aus dem Internet aus erreichbar ist keine Datenschutzerklärung braucht, vergesst einfach diese kleine Anleitung und gebt mir kurz Bescheid.

Gruß,
Mathias

Hi zusammen,

ankündigung: Ich hab das docker image zu mrbs aktualisiert und somit ist meine v7 Anpassung jetzt im Repo, sowie im Docker-image bei docker hub.

D.h. für alle, die schon den linuxmuster/mrbs:latest verwenden, weil sie den docker-host von Frank installiert haben und so weiter:
Das aktuelle Docker-image enthält zwar weiterhin mrbs-1.7.3, weil es kein neueres gibt, aber ich habe ständig die php-versionen aktualisiert, bis hin zur aktuellen 7.4.0.
@baumhof: Sicher mal deinen dockerhost mit

docker tag linuxmuster/mrbs:latest linuxmuster/mrbs:working-old

und aktualisiere mal mit

docker pull linuxmuster/mrbs:latest

dann den docker-container bzw. die Umgebung neu starten mit

docker-compose up -d  

Wenn danach noch alles mit mrbs tut, wie es vorher war, dann ist alles gut und du hast ein aktuelles php mit weniger bekannten Sicherheitslücken im mrbs-image :slight_smile:
Wenn mrbs nicht tut, dann passe in deiner docker-compose.yml die Zeile an, und verwende linuxmuster/mrbs:working-old statt :latest und restarte mit up -d.

Berichte mal, ob das bei dir klappt.

Wenn das klappt, solltest du auch mal die mariadb updaten mit docker pull mariadb:latest. Das ist allerdings ein Schritt, der nicht immer rückgängig zu machen ist, weil man den Datenbankunterbau ändert. Bisher gab es bei mir keine Probleme und habe regelmäßig mariadb upgedatet.

VG, Tobias

1 „Gefällt mir“