{"type":"rich","html":"<div style=\"width: 640; height: 426; font-family: sans-serif,arial,freesans;\" ><div id=\"shared_container_1018629400\" class=\"shared_container\"><div id=\"shared_header_1018629400\" class=\"shared_header\"><a href=\"https:\/\/hub.hubzilla.hu\/channel\/pcw\"><img src=\"https:\/\/hub.hubzilla.hu\/photo\/profile\/s\/12\" alt=\"PepeCyBs Welt\" height=\"32\" width=\"32\" loading=\"lazy\" \/><\/a><span><a href=\"https:\/\/hub.hubzilla.hu\/channel\/pcw\">PepeCyBs Welt<\/a>  wrote the following  <a href=\"https:\/\/hub.hubzilla.hu\/item\/c0558976-1b5b-4216-8f99-fdff40e29826\">post <\/a><span class=\"autotime\" title=\"2026-04-20T16:24:35+02:00\">Mon, 20 Apr 2026 16:24:35 +0200<\/span><\/span><\/div><div id=\"reshared-content-1018629400\" class=\"reshared-content\"><strong>&quot;Hast Du das Ding eigentlich mal aus- und wieder eingeschaltet?&quot;<\/strong><br \/><a class=\"zrl\" href=\"https:\/\/hub.hubzilla.hu\/photos\/pcw\/image\/a11bec8b-3cac-4270-8c9b-0dc24158c32d\" target=\"_blank\" rel=\"nofollow noopener\"><img class=\"zrl\" style=\"max-width: 100%;\" src=\"https:\/\/hub.hubzilla.hu\/photo\/a11bec8b-3cac-4270-8c9b-0dc24158c32d-2\" alt=\"reboot.webp\" title=\"reboot.webp\" loading=\"eager\" \/><\/a><br \/><br \/><h3>oder: Der Fluch des langj\u00e4hrigen Linux-Nutzers<\/h3><br \/>Manche Dinge gew\u00f6hnt man sich so gr\u00fcndlich ab, dass sie ganz in Vergessenheit geraten. Diese Erkenntnis schlug gestern am sp\u00e4ten Abend bei mir ein.<br \/><br \/>Aber mal von Vorne:<br \/><br \/>Anl\u00e4sslich meines Hoster-Wechsels stand vor ein paar Tagen an, etliche von mir registrierte Domains auf meinen Server bei meinem neuen Provider umzustellen. Ich bin da ganz systematisch nach Liste vorgegangen, habe die Zonen-Eintr\u00e4ge auf die neue IP ge\u00e4ndert und wollte dann damit beginnen, die Domains nacheinander in das YunoHost-System (YH) auf meinen neuen Server einzubinden.<br \/><br \/>Das ging aber schief! Schon bei der ersten Domain. Erst meckerte YH, es k\u00f6nne kein Let's Encrypt Zertifikat erstellen, dann aber zeigte vor allem die notwendige Diagnose unter YH die Fehlermeldung, dass die Domain nicht von au\u00dferhalb via http zu erreichen sei.<br \/><br \/>Gnaaah!<br \/><br \/>Ok, erstmal wieder rausgeschmissen, die Domain... vielleicht habe ich bei der DNS-Verwaltung ja was falsch eingetragen... muss ich sp\u00e4ter mal gucken.<br \/><br \/>Was steht noch an? Ja! Meinen Shorturl-Dienst muss ich auf jeden Fall auf dem neuen Server wieder verf\u00fcgbar machen (den habe ich in erster Linie nicht, um URLs k\u00fcrzer zu machen, sondern daf\u00fcr, Links auf bestimmte Seiten zu &quot;entkoppeln&quot;). Also habe ich eine neue Subdomain zur Hauptdomain meines Servers (die also in YH schon drin war und perfekt funktionierte... auch mit zwei weiteren Subdomains) in der Zone eingetragen. Anschlie\u00dfend dann in YH die Domain neu hinzuf\u00fcgen. Und?<br \/><br \/>N\u00fcscht war! Let's Encrypt brach ab (dem Log war zu entnehmen, dass es sich nicht signieren lie\u00df, weil die Domain nicht per http erreichbar sei) und in der Diagnose stand auch wieder diese verdammte Fehlermeldung, die Domain sei nicht \u00fcber http erreichbar.<br \/><br \/>Tats\u00e4chlich wurde ein http-Aufruf mit &quot;302 Moved Temporarily&quot; quittiert und dann auf https umgeleitet, was zum Admin-Portal meines YH f\u00fchrte (letzteres ist soweit normal, solange die Domain noch mit keiner App verkn\u00fcpft ist).<br \/><br \/>Da YH immer auch ein selbst signiertes Zertifikat f\u00fcr hinzugef\u00fcgte Domains erstellt, habe ich einfach einmal eine My Webapp (ohne Beilage... also ohne PHP und Datenbank) unter der Domain erstellt, um die Domain mit einer App zu verkn\u00fcpfen. Ich habe dann (begr\u00fcndet) erwartet, dass ich beim https-Aufruf der Domain und dem \u00dcbergehen der Sicherheitswarnung im Browser wegen des selbst signierten Zertifikats auf der Platzhalter-index.html von einer frischen My Webapp lande.<br \/><br \/>Pustekuchen!<br \/><br \/>Ich landete wieder beim Login des Admin-Portals meines YH. Ebenso verhielt es sich beim http-Aufruf. Auch wieder das Portal.<br \/><br \/>Mit curl konnte ich das auch best\u00e4tigen und das Fehlverhalten war zu 100 % reproduzierbar.<br \/><br \/>Nur... bei allen anderen Domains, die ich bereits fr\u00fcher hinzugef\u00fcgt hatte, trat dieser Effekt nicht auf. Die Diagnose blieb auch unauff\u00e4llig f\u00fcr diese und die Aufrufe landeten nat\u00fcrlich bei der Anwendung f\u00fcr die jeweilige Domain.<br \/><br \/>Es traf also nur f\u00fcr die neu hinzugef\u00fcgte Domain zu.<br \/><br \/>Also habe ich noch einige andere Domains, die sowieso auf der eingangs erw\u00e4hnten Liste standen, probeweise hinzugef\u00fcgt. Und alle kackten genauso ab, wie die erste.<br \/><br \/>Ich konnte also gar keine Domain mehr erfolgreich hinzuf\u00fcgen. What the fuck...?<br \/><br \/>Und dann ging sie los, die Fehlersuche. Ich habe mich geschlagene drei Tage (Tag und Nacht) mit kurzen Unterbrechungen durch die nginx-Konfigurationen auf dem Server durchgew\u00fchlt. Habe verglichen (die Konfigurationen der alten, funktionierenden Domains mit der neuen, nicht funktionierenden Domain), &quot;gedifft&quot; irgendwann zwischendrin ein Pythonskript gebaut, das mir in einer Baumansicht rekursiv zeigt, welche Konfigurationsdateien an welcher Stelle letztlich von der Haupt-Konfiguration aus (\/etc\/nginx\/nginx.conf) eingebunden werden.<br \/><br \/>Mit KI-Unterst\u00fctzung Tests durchgef\u00fchrt... gef\u00fchlt 1.000mal die Domain entfernt (mit allen sch\u00e4bigen Resten, die im System bleiben und die man manuell entfernen muss) und wieder hinzugef\u00fcgt, Konfigurationsdateien ge\u00e4ndert, angepasst... und wieder zur\u00fcck und dies und das.<br \/><br \/>Schlie\u00dflich konnte ich ausschlie\u00dfen, dass es etwas mit den Konfigurationsdateien (nginx) zu tun hat. Es gab schlicht keine Unterschiede zwischen den der alten und denen der neuen Domains. Nur... die alten funktionierten, die neuen eben nicht. Das ist doch nicht normal... spukt es in meinem Server?<br \/><br \/>Und dann kam ich auf den entscheidenden Trichter. YunoHost speichert seine interne Konfiguration nicht (vollst\u00e4ndig) in einzelnen Dateien oder Datenbankdateien, sondern in einer In-Memory-Datenbank (redis). Und genau DA muss irgendwas schiefgegangen sein.<br \/><br \/>Vermutlich(!) bei der letzten Aktion, bevor ich irgendwann wieder Domains hinzuf\u00fcgen wollte, muss diese Datenbank korrumpiert worden sein.<br \/><br \/>Diese Datenbank musste also irgendwie neu initialisiert werden, in der Hoffnung, dass die Fehler dann da raus sind. Und wie am besten? Na ganz einfach: Reboot!<br \/><br \/>Und was soll ich sagen? Nach dem Reboot (das sp\u00fcrbar l\u00e4nger dauerte, als ich es in Erinnerung hatte), lief alles wieder korrekt. Die nicht funktionierenden Domains waren aller in Ordnung, Let's Encrypt Zertifikate lie\u00dfen sich erstellen und es erfolgte keine ungewollte Umleitung mehr.<br \/><br \/>Reboot! Der \u00e4lteste aller L\u00f6sungsversuche!<br \/><br \/>Auf die Idee bin ich schlicht gar nicht gekommen. Seit Mitte der 80er Jahre bin ich von Windows weg und nur noch mit Linux unterwegs. Unter Windows musste man st\u00e4ndig rebooten... damit selbst die einfachsten Installationen &quot;abgeschlossen&quot; werden k\u00f6nnen. Und mit Linux hat man sich dieses Zwangsverhalten dann abgew\u00f6hnt. Bei Linux ist ein Reboot (und selbst das nicht immer zwingend) notwendig, wenn man tief im System etwas ver\u00e4ndert (z.B. durch Updates). Ansonsten kann man sich das klemmen... vielleicht ist mal der Neustart eines einzelnen Dienstes erforderlich, aber die Aus-Einschalt-Orgie kennt man nicht.<br \/><br \/>Und das ist inzwischen so tief in mir verwurzelt, dass ich gar nicht auf diese simple Idee gekommen bin.<br \/><br \/>Die drei Tage W\u00fchlen tief in YunoHost waren trotzdem nicht v\u00f6llig umsonst... ich habe auf jeden Fall etliches \u00fcber das System gelernt. Und den &quot;Neustart&quot; habe ich auch aus der hintersten Ecke meines Ged\u00e4chtnisses wieder ein wenig weiter nach vorne geholt.<\/div><\/div><br \/><\/div>","width":640,"height":426}