oder: Der Fluch des langjährigen Linux-Nutzers
Manche Dinge gewöhnt man sich so gründlich ab, dass sie ganz in Vergessenheit geraten. Diese Erkenntnis schlug gestern am späten Abend bei mir ein...
Manche Dinge gewöhnt man sich so gründlich ab, dass sie ganz in Vergessenheit geraten. Diese Erkenntnis schlug gestern am späten Abend bei mir ein...
View article
View summary
oder: Der Fluch des langjährigen Linux-Nutzers
Manche Dinge gewöhnt man sich so gründlich ab, dass sie ganz in Vergessenheit geraten. Diese Erkenntnis schlug gestern am späten Abend bei mir ein.
Aber mal von Vorne:
Anlässlich 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äge auf die neue IP geändert und wollte dann damit beginnen, die Domains nacheinander in das YunoHost-System (YH) auf meinen neuen Server einzubinden.
Das ging aber schief! Schon bei der ersten Domain. Erst meckerte YH, es könne kein Let's Encrypt Zertifikat erstellen, dann aber zeigte vor allem die notwendige Diagnose unter YH die Fehlermeldung, dass die Domain nicht von außerhalb via http zu erreichen sei.
Gnaaah!
Ok, erstmal wieder rausgeschmissen, die Domain... vielleicht habe ich bei der DNS-Verwaltung ja was falsch eingetragen... muss ich später mal gucken.
Was steht noch an? Ja! Meinen Shorturl-Dienst muss ich auf jeden Fall auf dem neuen Server wieder verfügbar machen (den habe ich in erster Linie nicht, um URLs kürzer zu machen, sondern dafür, Links auf bestimmte Seiten zu "entkoppeln"). 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ßend dann in YH die Domain neu hinzufügen. Und?
Nüscht war! Let's Encrypt brach ab (dem Log war zu entnehmen, dass es sich nicht signieren ließ, weil die Domain nicht per http erreichbar sei) und in der Diagnose stand auch wieder diese verdammte Fehlermeldung, die Domain sei nicht über http erreichbar.
Tatsächlich wurde ein http-Aufruf mit "302 Moved Temporarily" quittiert und dann auf https umgeleitet, was zum Admin-Portal meines YH führte (letzteres ist soweit normal, solange die Domain noch mit keiner App verknüpft ist).
Da YH immer auch ein selbst signiertes Zertifikat für hinzugefügte 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üpfen. Ich habe dann (begründet) erwartet, dass ich beim https-Aufruf der Domain und dem Übergehen der Sicherheitswarnung im Browser wegen des selbst signierten Zertifikats auf der Platzhalter-index.html von einer frischen My Webapp lande.
Pustekuchen!
Ich landete wieder beim Login des Admin-Portals meines YH. Ebenso verhielt es sich beim http-Aufruf. Auch wieder das Portal.
Mit curl konnte ich das auch bestätigen und das Fehlverhalten war zu 100 % reproduzierbar.
Nur... bei allen anderen Domains, die ich bereits früher hinzugefügt hatte, trat dieser Effekt nicht auf. Die Diagnose blieb auch unauffällig für diese und die Aufrufe landeten natürlich bei der Anwendung für die jeweilige Domain.
Es traf also nur für die neu hinzugefügte Domain zu.
Also habe ich noch einige andere Domains, die sowieso auf der eingangs erwähnten Liste standen, probeweise hinzugefügt. Und alle kackten genauso ab, wie die erste.
Ich konnte also gar keine Domain mehr erfolgreich hinzufügen. What the fuck...?
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ühlt. Habe verglichen (die Konfigurationen der alten, funktionierenden Domains mit der neuen, nicht funktionierenden Domain), "gedifft" 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.
Mit KI-Unterstützung Tests durchgeführt... gefühlt 1.000mal die Domain entfernt (mit allen schäbigen Resten, die im System bleiben und die man manuell entfernen muss) und wieder hinzugefügt, Konfigurationsdateien geändert, angepasst... und wieder zurück und dies und das.
Schließlich konnte ich ausschließen, 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?
Und dann kam ich auf den entscheidenden Trichter. YunoHost speichert seine interne Konfiguration nicht (vollständig) in einzelnen Dateien oder Datenbankdateien, sondern in einer In-Memory-Datenbank (redis). Und genau DA muss irgendwas schiefgegangen sein.
Vermutlich(!) bei der letzten Aktion, bevor ich irgendwann wieder Domains hinzufügen wollte, muss diese Datenbank korrumpiert worden sein.
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!
Und was soll ich sagen? Nach dem Reboot (das spürbar länger dauerte, als ich es in Erinnerung hatte), lief alles wieder korrekt. Die nicht funktionierenden Domains waren aller in Ordnung, Let's Encrypt Zertifikate ließen sich erstellen und es erfolgte keine ungewollte Umleitung mehr.
Reboot! Der älteste aller Lösungsversuche!
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ändig rebooten... damit selbst die einfachsten Installationen "abgeschlossen" werden können. Und mit Linux hat man sich dieses Zwangsverhalten dann abgewöhnt. Bei Linux ist ein Reboot (und selbst das nicht immer zwingend) notwendig, wenn man tief im System etwas verändert (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.
Und das ist inzwischen so tief in mir verwurzelt, dass ich gar nicht auf diese simple Idee gekommen bin.
Die drei Tage Wühlen tief in YunoHost waren trotzdem nicht völlig umsonst... ich habe auf jeden Fall etliches über das System gelernt. Und den "Neustart" habe ich auch aus der hintersten Ecke meines Gedächtnisses wieder ein wenig weiter nach vorne geholt.
Mir fallen in letzter Zeit so einige Fediverse-Instanzen auf, die in meiner Warteschlange hängenbleiben.
Also... es bleiben ja immer mal welche hängen. Zum Beispiel, wenn sie für eine gewisse Zeit nicht erreichbar sind oder irgendwas falsch konfiguriert ist.
Aber die meine ich gar nicht. Diejenigen, die ich meine sind erreichbar und anscheinend auch richtig konfiguriert. Aber sie haben sich Türsteher vor die Türe gestellt. Konkret: Anubis ...
Also... es bleiben ja immer mal welche hängen. Zum Beispiel, wenn sie für eine gewisse Zeit nicht erreichbar sind oder irgendwas falsch konfiguriert ist.
Aber die meine ich gar nicht. Diejenigen, die ich meine sind erreichbar und anscheinend auch richtig konfiguriert. Aber sie haben sich Türsteher vor die Türe gestellt. Konkret: Anubis ...
View article
View summary
Mir fallen in letzter Zeit so einige Fediverse-Instanzen auf, die in meiner Warteschlange hängenbleiben.
Also... es bleiben ja immer mal welche hängen. Zum Beispiel, wenn sie für eine gewisse Zeit nicht erreichbar sind oder irgendwas falsch konfiguriert ist.
Aber die meine ich gar nicht. Diejenigen, die ich meine sind erreichbar und anscheinend auch richtig konfiguriert. Aber sie haben sich Türsteher vor die Türe gestellt. Konkret: Anubis.
Anubis ist ein sogenanntes Web-KI-Firewall-Tool. Es dient dazu, Web-Scraper von KI-Diensten davon abzuhalten, die eigene Seite zu scrapen. Sinn und Zweck soll sein, die Seite vor massenhaften Scraping-Aktionen gleichzeitig zu schützen, die den Server dann überlasten könnten. Es wird aber kein Limit eingeführt, sondern versucht, über Challenges wirklich alle Scraper von KI-Diensten (und sicher auch anderen Diensten) komplett auszuschließen.
Eine Anfrage, welche die Challenge nicht erfüllen kann, bleibt draußen. Und das trifft offenbar auch etliche Fediverse-Dienste, wenn diese Items zustellen möchten. Das liegt daran, dass solche Instanzen oftmals keine "normalen" HTTP-Requests absenden und vor allem kein Javascript verarbeiten können. Die Challenges sind aber mit Javascript realisiert... und ohne JS schlagen sie fehl oder laufen in einen Timeout. Die Zustellung scheitert.
Wahrscheinlich sind meine Hubs und Webseiten so unwichtig, unbedeutend, unbekannt und unauffällig, dass sich die "Horden von KI-Scrapern" gar nicht zu mir verirren. Ich habe bislang jedenfalls noch keinen "Stau" durch einen Scraper-Ansturm auf meinen Servern.
Womöglich ist es aber auch eher eine abstrakte Gefahr, die auch anderen Fediverse-Diensten kaum droht... und der eigentliche Grund ist der generelle pathologische KI-Hass. Es geht also weniger um die Vermeidung von Überlastungen / Verstopfungen, als vielmehr darum, keine KI-Scraper auf der eigenen Seite zuzulassen. Eine Entscheidung, die jedem, der einen Webdienst anbietet, ja auch zusteht. Soll jeder so machen, wenn er es meint.
Problematisch wird es nur, wenn dadurch die eigentliche Funktion des Dienstes eingeschränkt oder nahezu komplett blockiert wird.
Anubis lässt sich zwar auch konfigurieren und es wäre wahrscheinlich möglich (keine Ahnung, mit wieviel Aufwand... gerade im Fediverse bekommt man ja zahlreiche Anfragen, ohne die Instanz und deren Kennung explizit vorher unbedingt zu kennen).
Es ist also anscheinend tatsächlich so, dass Fediverse-Instanzen, die sich mit Anubis "schützen", tatsächlich etliche andere Fediverse-Instanzen aussperren und damit in einer Richtung deföderieren. Vielleicht ist es den Betreibern der Instanzen ja nicht einmal bewusst. Aber sollten sie es wissen und den vermeintlichen Schutz als wichtiger bewerten, es also hinnehmen, dass ihre Instanz nicht mehr uneingeschränkt Teil des Fediverse ist, dann gehe ich entweder von Dummheit oder ideologiegetriebener Arroganz aus. Solche Instanzen landen dann künftig ganz schnell in der Liste der nicht erreichbaren Server bei meinen Hubs, damit ihre Kadaver nicht ewig in der Warteschlange vor sich hin stinken.
Lasst doch den Quatsch!
Titelbild von David Polz auf Pixabay
Keine Ahnung, ob dieser Artikel nun wirklich für andere interessant ist. Ich beschreibe hier den Umzug meines Hubzilla Hub Whoville von einem Remote-Server zu einem anderen Remote-Server. Sowas ist natürlich auch immer ausgesprochen individuell und speziell, was die Voraussetzungen betrifft. Auf der anderen Seite beschreibe ich natürlich auch etliche Schritte und Überlegungen, die für vergleichbare Umzugspläne interessant sein könnten...
View article
View summary

Keine Ahnung, ob dieser Artikel nun wirklich für andere interessant ist. Ich beschreibe hier den Umzug meines Hubzilla Hub Whoville von einem Remote-Server zu einem anderen Remote-Server. Sowas ist natürlich auch immer ausgesprochen individuell und speziell, was die Voraussetzungen betrifft. Auf der anderen Seite beschreibe ich natürlich auch etliche Schritte und Überlegungen, die für vergleichbare Umzugspläne interessant sein könnten.
Nun denn... die
Voraussetzungen
bei MIR...
Ich habe meinen Hub "Whoville" auf einem VPS bei meinem ungarischen Hoster betrieben. Aus bestimmten Gründen wollte ich ihn nun aber zu einem anderen VPS bei einem anderen Hoster umziehen.
VPS 1
Beim ursprünglichen Server, ich nenne ihn hier jetzt VPS 1, lief Hubzilla unter YunoHost. Allerdings – aus Gründen – nicht als YunoHost Hubzilla-App, sondern als manuelle Installation in einer YunoHost My_Webapp (weshalb, kann man hier nachlesen). Da der Hub nun schon recht lange lief, hat sich einiges an Daten angesammelt. So belegte er im Webroot 29.5 GB, wobei der Bärenanteil natürlich auf den Ordner "store" mit insgesamt 28.4 GB ging. Die Datenbank (MySQL) kam auf 16.3 GB. Und die letzte Backup-Datei (YunoHost Backup der My_Webapp) wog 32.4 GB.
VPS 2
Der neue Server, VPS 2, war noch recht "leer", aber bereits ebenfalls mit YunoHost "bestückt".
Selbstverständlich habe ich Zugriff auf die DNS-Einträge für die Domain "hubzilla.hu".
Ein großer Vorteil von YunoHost (neben etlichen anderen) ist, dass es Backup-Funktionen für die Apps gibt. Und ein Backup einer My_Webapp umfasst den kompletten Inhalt von Webroot, einen Datenbank-Dump (sofern es eine DB gibt), sowie System-Konfigurations-Dateien (was so unter
/etc zu finden ist), die spezifisch für die Webapp sind und die geändert wurden. Damit hatte ich in dem großen tar-Archiv also eigentlich alles, was ich benötige.Der Plan
1. Die Nutzer mit Accounts per Rundmail (Hubzilla bietet mit dem Addon "Hubwall" eine einfache Möglichkeit dafür an) über die geplante Downtime (ich habe mit mindestens drei Stunden gerechnet... es wurden sogar vier) informieren.
2. Eine
index.html für eine Wartungs-Mitteilung erstellen.3. Ein frisches Backup von My_Webapp auf VPS 1 erstellen.
4. Die DNS-Einträge für
hubzilla.hu, vor allem aber für die Subdomain des Hub hub.hubzilla.hu von der IP des VPS 1 auf die IP des VPS 2 "umbiegen" und ein wenig warten.5. Sobald die neue IP publik ist, dann die Domains mit YunoHost auf VPS 2 übernehmen und dafür sorgen, dass Let's Encrypt Zertifikate erstellt werden.
6. Danach auf VPS 2 eine My_Webapp unter der Domain
hub.hubzilla.hu installieren und die index.html (mit dem Wartungshinweis) dort zunächst "servieren".7. Nun die aktuelle Backup-Datei (tar) von VPS 1 auf VPS 2 übertragen.
8. Die Backup-Datei auf VPS 2 entpacken.
9. Den Inhalt des Backups auf VPS 2 anpassen (
.htconfig.php, Nginx- und PHP-Konfigirationsdateien).10. Die noch fehlenden Pakete (gemäß der Installationsanleitung von Hubzilla) installieren.
11. Den Datenbank-Dump aus dem Backup in die neue, noch leere DB von My_Webapp auf VPS 2 importieren.
12. Den Webroot-Inhalt des entpackten Backups nun ins neue Webroot der My_Webapp auf VPS 2 verschieben.
13. Die Konfigurationsdateien für Nginx und PHP an die entsprechenden Orte unter
/etc bei VPS 2 verschieben.14. Dienste neu starten und überprüfen, ob sie ordentlich laufen (Nginx und php-fpm) und checken, ob sie fehlerfrei gestartet wurden und laufen.
15. Wichtig! Den Cronjob einrichten.
16. Eigentlich nicht notwendig, weil Dienste ja neu gestartet, aber aus Sicherheitsgründen: Reboot von VPS 2.
17. Finger überkreuzen, Stoßgebet gen Himmel, Whoville im Browser aufrufen.
Vorüberlegungen / Vorbereitung
Die Rundmail war schnell rausgeschickt. Ich hatte mir die Nacht von Ostersonntag auf Ostermontag für den Umzug vorgesehen, weil da am wenigsten Traffic und Zugriffe auf meinen Hub zu erwarten waren. Und auch die
index.html war rasch erstellt.
Für die Übertragung der doch recht großen Backup-Datei wollte ich nicht darauf zurückgreifen, sie zunächst auf meinen lokalen Rechner zu laden und anschließend von dort aus auf den neuen Server wieder hochzuladen. Das dauert auch bei guter Anbindung erstens ziemlich lange und erzeugt zusätzliche vermeidbare Fehlerquellen (Fehler bei der Datenübertragung). Klar war also, dass ich die Datei direkt von VPS 1 zu VPS 2 übertragen wollte. Da entstand natürlich die Frage, ob mit sFTP, per SSH mit scp oder der SSH mittels rsync. Welche Vor- und Nachteile ergeben sich für meinen speziellen Zweck bei den einzelnen Methoden?
Und hier nun mein Geständnis: Selbst wenn ich bei solchen Dingen schon eigene Ideen habe, frage ich gerne die "KI" (also ein LLM). In der Frage halte ich mich dann mit meinen eigenen Gedanken zurück, um sie nicht zu beeinflussen. Und damit hole ich mir quasi eine "zweite Meinung" ein. Ich habe in der Vergangenheit die Erfahrung gemacht, dass ich auf diese Weise bestimmte Ansichten zu solchen Sachen bekomme, die mir sonst nicht so präsent waren. Das kann bei der Entscheidungsfindung durchaus helfen. Bis jetzt bin ich damit immer sehr gut gefahren. Aber das "dicke Ende" kommt noch... ich habe dafür Grok verwendet... also die "KI" von dem pöhsen Pupen, dessen Namen man nicht laut aussprechen darf (alle, die das verwerflich finden, dürfen mich gerne mal dort, wo die Sonne nie scheint und anschließend an ihrer Moral ersticken 😉😁). Ich habe in der Vergangenheit einfach die besten Erfahrungen mit genau diesem Dienst gemacht.
Für eine Übertragung mit FTP hätte ich mich erstmal wieder frisch einlesen müssen... in die Nutzung auf der Kommandozeile. Im täglichen Betrieb nutze ich ja nur Filezilla (und selten Dolphin) für solche Übertragungen. Das geht remote aber nicht einfach so. Ich hätte
scp bevorzugt. Grok empfahl mir aber, mir doch einmal die Methode mit rsync via SSH anzuschauen. Und das Argument war überzeugend... während scp nämlich nicht "resumable" ist, also bei einem Verbindungsabbruch die Datenübertragung diese nicht wieder aufnehmen kann, ist das bei rsync der Fall. Hat mich überzeugt! Und mit dem Parameter "--progress" habe ich auch ein visuelles Feedback über den Fortschritt der Übertragung, ohne andere Tools dafür einsetzen zu müssen.Ich habe dann die anderen geplanten Schritte auch noch mit Grok "durchgesprochen". Insgesamt wurde mein Plan generell "abgenickt" und als erfolgversprechend gewertet.
Umzug
1. und 2. waren ja schon erledigt...
3. War auch rasch getan ("rasch" ist relativ... das Erstellen der Backup-Datei dauerte bei der Größe auch immer schon knapp 20 Minuten auf dem alten, etwas schwachbrüstigen VPS 1). Nun lag die Datei "
20260405-225032.tar" im Backupverzeichnis meines VPS 1.4. Dann habe ich ab kurz vor 01:00 Uhr nachts die DNS-Einträge vom alten auf das neue VPS umgebogen. Ab diesem Augenblick lag Whoville also im Koma (ich hatte unmittelbar zuvor die
index.php auf VPS 1, also dem alten VPS, in _index.php umbenannt, damit in der Zeit, bis die neue IP bekannt war, nicht noch irgendwelche Aktivitäten stattfinden konnten.5. Als die Sache dann erledigt war, habe ich die beiden Domains bei YunoHost auf VPS 2 übernommen. Let's Encrypt Zertifikate inklusive.
6. Das Installieren der My_Webapp (mit PHP und MySQL-Datenbank) war rasch erledigt. Während Whoville auf VPS 1 noch mit php8.2 lief, habe ich bei der My_Webapp php8.4 ausgewählt. Die
index.html hochgeladen und nun wurde der Wartungshinweis angezeigt, wenn man Whoville aufgerufen hat.7. Dann habe ich die Backup-Datei von VPS 1 nach VPS 2 übertragen. Dafür habe ich dann, aufgrund des Hinweises und der Emofehlung von Grok rsync via SSH verwendet. Schema:
rsync -av --progress /pfad/zum/backup/backup-datei.tar.gz \
deinuser@DOMAIN-BEI-VPS2:/pfad/wohin/auf/vps2/Nach der Übertragung, die knapp 40 Minuten gedauert hat, habe ich auf VPS 2 die Backup-Datei vom Eingangsverzeichnis ins Webroot der frisch installierten My_Webapp verschoben.
8. Anschließend habe ich die Backup-Datei an Ort und Stelle entpackt. Das erzeugte ein Verzeichnis "
apps" unter welchem dann die ganzen Daten strukturiert lagen.tar -xvf 20260405-225032.tarAuch dazu habe ich wieder einmal Grok konsultiert. Mir stellte sich nämlich die Frage, wie es denn mit der Eigentümer-Eigenschaft und den Rechten aussehen mag. Auch wenn es auf VPS 2 mit YunoHost die Benutzer/Gruppen "
my_webapp_1" und "www-data" gibt, so unterscheiden sich doch die Benutzer- und Gruppen-Id's wahrscheinlich. Also zumindest für "my_webapp_1". Wie könnte ich denn sichergehen, dass die korrekten Eigentümer bei den entpackten Dateien und Verzeichnissen gesetzt sind. Grok meinte, dass wahrscheinlich Probleme wegen unterschiedelicher numerischer Id's auftreten könnte und empfahl rekursiv die Eigentümer zu setzen.Es kam aber anders (angenehmer), als befürchtet. Ich nutze ja sehr gerne und quasi schon immer den Midnight Commander (
mc) für die bequeme Dateiverwaltung auf der Konsole. Das hatte ich auf VPS 2 natürlich auch installiert. Und mc zeigte mir für die entpackten Daten tatsächlich auch die ursprünglichen Besitzer an. Aber stimmen denn nun die numerischen Id's auch überein? Tatsache! Dem war so. Beim Entpacken wurden also offensichtlich die Id's (also nur die von "my_webapp_1", die Id für "www-data" war bei beiden VPS ohnehin identisch) der Dateien und Verzeichnisse auf die aktuellen Id's von VPS 2 gesetzt. Also Benutzer sind ok. Ebenso waren die Rechte sauber übernommen. Da brauchte ich nichts zu ändern.9. Nun ging es ans Anpassen der Konfiguration. BTW: Grok ist sehr gesprächig. Es hat mit immer wieder auch gesagt, was ich denn wie anpassen müsste. Ok... das habe ich dann überlesen, denn das wusste ich ohnehin.
Zunächst war die
.htconfig.php dran. Hier musste ich das Datenbank-Passwort aktualisieren. DB-Name und DB-Benutzername waren gleich geblieben, weil ich bei beiden VPS die My_Webapp als my_webapp_1 installiert hatte.Außerdem habe ich noch den Pfad zu PHP anpassen müssen, weil ich nun ja von
php8.2 auf php8.4 umgestiegen bin:// Location of PHP command line processor
App::$config['system']['php_path'] = '/usr/bin/php8.4';Ebenfalls mussten die beiden Dateien
/etc/nginx/conf.d/hub.hubzilla.hu/my_webapp.conf und /etc/nginx/conf.d/hub.hubzilla.hu/my_webapp.d/php.conf jeweils von /var/run/php/php[b]8.2[/b]-fpm-my_webapp.sock auf /var/run/php/php[b]8.4[/b]-fpm-my_webapp.sock geändert werden.10. Wie auch bei der ursprünglichen Installation von Hubzilla in eine My_Webapp mussten noch einige Pakete installiert werden, weil sie nicht in einer Standard-Installation vorhanden waren. Der
INSTALL.txt aus der Hubzilla-Distribution kann man entnehmen, was notwendig ist. Auch das habe ich rasch erledigt.11. Nun musste nur noch die Datenbank mit dem Dump aus dem Bckup "Bevölkert" werden.
pv db.sql | mysql -u my_webapp -p my_webappDank "
pv" mit Fortschrittsbalken... hat bei der Größe neun Minuten gedauert.12. Dann habe ich den Inhalt des Backup-Webroot ins Webroot der neuen My_Webapp auf VPS 2 verschoben. Aus Bequemlichkeit mit dem Midnight Commander. Und nochmal die Besitzer und Rechte überprüft... alles ok.
13. Danach die geänderten Konfigurationsdateien (Punkt 9.) an die entsprechenden Stellen verschoben.
14. Nun die Dienste (Nginx und PHP-fpm) neu gestartet
yunohost service restart nginx
yunohost service restart php8.4-fpmund ihren Status überprüft
yunohost service status nginx
yunohost service status php8.4-fpmAlles im grünen Bereich!
15. Nun mit
crontab -e den Cronjob eingerichtet:*/10 * * * * cd /var/www/my_webapp/www && /usr/bin/php8.4 Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1Und überprüft:
crontab -l16. Nachdem nun alles ordentlich aussah und ich auch keine Fehler oder Störungen feststellen konnte, habe ich die
_index.php zurück in index.php umbenannt, den Ordner "apps" mit den Resten des entpackten Backups, und, um wirklich sicherzugehen, dass alles mit den aktuellen Konfigurationen läuft, VPS 2 rebootet.17. Es war inzwischen 04:30 Uhr geworden... und ich habe Whoville im Webbrowser aufgerufen...
Jawoll! Er war da! Und ich habe herumprobiert, auch ein Testposting abgesetzt und von einem anderen Dienst (Mastodon), wo es angekommen war (Zustellungsbericht war auch ok) kommentiert, was auch wieder sauber ankam.
Ich habe bis jetzt keine Probleme festgestellt. Es ist extrem geschmeidig gelaufen.
Sicherlich habe ich einiges unnötig umständlich gemacht, aber ich war halt an verschiedenen Stellen extrem vorsichtig und "mit dem Arsch an der Wand", weil mir ein gelungener Umzug mit meinem Haupt-Hub wirklich wichtig war.
Titelbild von Moondance auf Pixabay
Ich habe mich entschlossen, den Hoster zu wechseln. Nicht, weil ich mit dem alten nicht grundsätzlich zufrieden war (immerhin habe ich acht Jahre meine Projekte dort betrieben), sondern weil ich das Gefühl hatte, dass er aus bestimmten Gründen den Service bald aufgeben würde. Und tatsächlich erhielt ich vor ein paar Tagen die Mitteilung, dass er den Dienst an einen anderen Hoster verkaufen musste.
Der neue Server läuft auch schon. YunoHost ist drauf... und erstmal nur phpMyAdmin, Webmin und snac2.
Vom Fediverse-Dienst snac bzw. snac2 hatte ich hier und da mal was aufgeschnappt, ich habe ihn mir aber nie genauer angeschaut. Bis vorgestern!
Und seit dem läuft auch meine snac2-Instanz...
Der neue Server läuft auch schon. YunoHost ist drauf... und erstmal nur phpMyAdmin, Webmin und snac2.
Vom Fediverse-Dienst snac bzw. snac2 hatte ich hier und da mal was aufgeschnappt, ich habe ihn mir aber nie genauer angeschaut. Bis vorgestern!
Und seit dem läuft auch meine snac2-Instanz...
View article
View summary

Ich habe mich entschlossen, den Hoster zu wechseln. Nicht, weil ich mit dem alten nicht grundsätzlich zufrieden war (immerhin habe ich acht Jahre meine Projekte dort betrieben), sondern weil ich das Gefühl hatte, dass er aus bestimmten Gründen den Service bald aufgeben würde. Und tatsächlich erhielt ich vor ein paar Tagen die Mitteilung, dass er den Dienst an einen anderen Hoster verkaufen musste.
Ich hab mir den dann mal angeschaut und muss sagen, dass er einen seriösen und soliden Eindruck macht. Ich werde auch bei dem bleiben, weil ich zumindest meine ungarischen Domains da weiter halten möchte.
Aber was ich sonst so am Laufen habe, das werde ich umziehen. Der Server für Hubzilla und einige wenige andere Anwendungen war inzwischen eh ziemlich am Ende der Kapazität angelangt und ich wollte ihn eigentlich schon aufstocken. Aber so, wie es aussieht, kann mir der neue Hoster nicht das bieten, was ich mir vorgestellt habe.
Durch Chris bin ich auf den Hoster Contabo aufmerksam geworden und habe ihn mit in meine Auswahlliste übernommen. Na... und nach Vergleichen und dem Einholen von Erfahrungen habe ich mich auch entschlossen, diesen Hoster künftig zu nutzen.
Der neue Server läuft auch schon. YunoHost ist drauf... und erstmal nur phpMyAdmin, Webmin und snac2.
Der Umzug des Hub Whoville steht jetzt erst am Osterwochenende an. Aber weil der neue Server deutlich "mehr PS unter der Haube hat", dachte ich mir: Du kannst ja mal wieder was ausprobieren.
Vom Fediverse-Dienst snac bzw. snac2 hatte ich hier und da mal was aufgeschnappt, ich habe ihn mir aber nie genauer angeschaut. Bis vorgestern!
Und seit dem läuft auch meine snac2-Instanz.

Was soll ich sagen? Ich finde snac2 ausgesprochen schnuffig. Er wird als "minimalistisch" bezeichnet. Tatsächlich bietet der Dienst aber eigentlich genau das, was man von einem grundlegenden ActivityPub-Dienst erwartet. Und er macht etliches wesentlich besser als die bekannten Platzhirsche.
snac2 bietet umfassende ActivityPub-Operationen, wie öffentliche und private Postings, Antworten/Kommentieren, Folgen, Liken, Boosten, Muten, Löschen und Verstecken, sowie Emoji-Reaktionen. Außerdem kann man Lesezeichen für Beiträge setzen. Dabei kommt es ohne Datenbank, ohne Javascript und ohne Cookies aus! Eine snac2-Instanz ist multiuser-fähig.
snac2 erlaubt umfassende Formatierung von Postings mittels Markdown, wodurch auch das Einbinden von Bildern innerhalb des Beitrags möglich ist.
Die enthaltene Weboberfläche ist recht minimalistisch, aber effektiv. Vor allem lässt sie sich durch Stylesheets sehr gut anpassen. meine Instanz habe ich von der schlichten Standard-Ansicht auf ein moderneres Layout gebracht. Man findet einige fertige Styles, kann aber, wenn man es vermag, halt auch eigene Styles erstellen und verwenden.
Man kann seine Identität mit einem Avatar und einem Banner-Bild verschönern, Profilinformationen hinzufügen und etliches konfigurieren.
Postings kann man mit einer Inhaltswarnung versehen, die Sichtbarkeit festlegen, die Sprache des Inhalts definieren. Attachments sind möglich, ebenso Umfragen. Eine terminierte Veröffentlichung ist ebenfalls machbar.
Man kann Hashtags folgen, bestimmte Hashtags blockieren und einen Inhaltsfilter definieren.


Als Admin wird die Konfiguration über das Kommandozeilen-Programm "snac" durchgeführt. Die Dokumentation dazu ist gut.
Die Installation mit YunoHost war völlig unproblematisch. Außerdem kann man über das Controlpanel etliche Dinge auch ohne das Kommandozeilen-Tool konfigurieren, was die Verwaltung bequemer macht.
Mein erster Eindruck war: Wow, ist das schnell!
Mein zweiter Eindruck war: Wow, ist das geschmeidig. Ich habe ja schon sehr viele Dienste ausprobiert, aber snac2 ist bisher einer der wenigen Dienste, die absolut keine Probleme bereitet, sich sofort und schnell mit anderen Kanälen zu verbinden.

Ich nutze es bis jetzt ja wirklich nur kurz, muss aber sagen, dass ich extrem positiv überrascht bin. Es macht einfach Spaß, wenn man einen schlichten und einfachen ActivityPub-Dienst haben möchte. Dabei sieht es nicht langweilig aus, wenn man den Standard-Style ersetzt.
Hinzu kommt, dass es die Mastodon-API umsetzt und damit mit allen Mastodon-Clienten genutzt werden kann. Egal ob Elk, Phanpy etc. oder z.B. die Desktop-App Tokodon von Plasma/KDE... es funktioniert prima.
Mir macht es auf jeden Fall Spaß. Und es scheint noch ordentlich weiterentwickelt zu werden... bin gespannt!
Ach ja... snac steht übrigens für: "Social Networks Are Crap". 😉😁
Die Server-Verwaltung YunoHost ist eine großartige Sache. Seinen Server mit YunoHost zu verwalten erleichtert vieles. Ein E-Mail Server ist in der Grundausstattung bereits drin, ebenso wie ein Webserver. Man muss sich nicht mit der Einrichtung und Verwaltung eines Reverse-Proxy herumschlagen, Domains sind im Handumdrehen integriert und das auch gleich mit Let's Encrypt Zertifikat, welches vom System regelmäßig rechtzeitig erneuert wird. Backups? Kein Problem! ...
View article
View summary
Die Server-Verwaltung YunoHost ist eine großartige Sache. Seinen Server mit YunoHost zu verwalten erleichtert vieles. Ein E-Mail Server ist in der Grundausstattung bereits drin, ebenso wie ein Webserver. Man muss sich nicht mit der Einrichtung und Verwaltung eines Reverse-Proxy herumschlagen, Domains sind im Handumdrehen integriert und das auch gleich mit Let's Encrypt Zertifikat, welches vom System regelmäßig rechtzeitig erneuert wird. Backups? Kein Problem!
Das Beste an YunoHost ist aber die Möglichkeit, aus einem Katalog von hunderten Server-Anwendungen, seine eigenen Dienste mit wenig Aufwand zu installieren und zu verwalten.
Der App-Katalog ist inzwischen echt gigantisch und bietet alles, was das Herz begehrt.
All diese Apps werden von ehrenamtlichen Helfern betreut, die sich um die Installations-, Deinstallations- und Update-Skripte kümmern. Und sehr viele Anwendungen werden auch echt gut betreut. Updates kommen zeitnah und Fehler werden rasch beseitigt.
Ich selbst benutze YunoHost unter anderem dafür, einen meiner Hubzilla-Hubs zu betreiben. Ursprünglich habe ich ihn als YunoHost App betrieben. Im Frühjahr 2024 aber war ich es leid, dass Updates der App immer deutlich, und zu diesem Zeitpunkt sogar drastisch hinterherhinkten. Weil ich aber die Vorteile von YunoHost schätze und ich auch noch einige andere Dienste damit betreibe, wollte ich auf Hubzilla dort auch nicht verzichten. Also habe ich Hubzilla dann "zu Fuß" installiert... in der YunoHost App "My Webapp", die einen Webserver mit PHP und Datenbank zur Verfügung stellt. Das war kein großer Aufwand und ließ sich einfach erledigen. Wenn man sich an der Installationsanleitung von Hubzilla (core/install/INSTALL.txt) hält, ist es gut hinzubekommen. Lediglich die Konfiguration des Webservers (YunoHost verwendet Nginx anstelle von Apache) muss man etwas anpassen... dann passt's schon.
Der Vorteil bei der Sache: Ich kann den Komfort von YunoHost weiter nutzen... z.B. für Backups.
Zwischenzeitlich hatte sich der Update-Rhythmus der Hubzilla App bei YunoHost aber auch wieder verbessert. Eine ganze Zeit lang kamen Updates sehr zeitnah zu den Updates des eigentlichen Projektes. Ob das immer so war, weiß ich allerdings nicht, weil ich die App seit meinem Umzug zur My Webapp nicht mehr regelmäßig daraufhin angeschaut habe. Wenn ich aber mal geschaut habe, war es ganz ok. Und das, obwohl Hubzilla bei YunoHost wohl keinen echten festen Betreuer hat.
Und so habe ich dann auch die YunoHost App wieder empfohlen, wenn jemand ohne große Kenntnisse einen eigenen Hub aufsetzen wollte.
Das muss ich aber leider revidieren. Ich kann es echt nicht mehr empfehlen! Denn inzwischen hängt die App wieder extrem hinter der Original-Version. Heute, am 3. April 2026 ist die Version der YunoHost Hubzilla App 10.6.1, während die aktuelle Hubzilla-Version schon vor gut einer Woche bei 11.2 angekommen war. Die Version der App ist also über vier Monate alt. Damit fehlen einem Hub, der als App betrieben wird, auch etliche neue Features und diverse Fehlerbereinigungen sind natürlich auch noch nicht vorhanden.
Ein, zwei, drei Wochen... ja vielleicht, wenn es ein großes Update ist meinetwegen auch ein Monat... das würde ich noch als akzeptabel ansehen. Aber vier Monate sind echt zu viel, um die App noch guten Gewissens empfehlen zu können.
Schade, es scheint auch wirklich nur daran zu liegen, dass es keinen festen Betreuer für die App gibt. Pull-Requests und Testläufe sind immer sehr schnell da. Es fehlt nur derjenige, der den Hut auf hat und die App endgültig updatet. Ich wurde auch schon einmal gefragt, ob ich das übernehmen wolle. Aber ganz ehrlich... das pack ich nicht auch noch. Es ist ja nicht damit getan, irgendwie den Daumen nach oben zu recken. Man zeichnet ja dann auch für die App und deren Korrektheit verantwortlich. Ich müsste mich also erst in die ganze App-Verwalterei, die Systematik etc. bei YunoHost einarbeiten. Und das wäre jetzt echt zu viel, auch dies noch zu übernehmen. Dafür habe ich zu viele Baustellen oder Steckenpferde. Ich hänge schon bei der Hubzilla-Doku ein wenig zurück. Und dann arbeite ich mich nebenbei auch noch immer weiter in den Code von Hubzilla ein, um vielleicht irgendwann hier oder da mal mit Kleinigkeiten aushelfen zu können. Und jetzt habe ich auch noch "Addon-Blut" geleckt... und mir vorgenommen, irgendwann in diesem Jahr ein Addon zu präsentieren, mit welchem man WordPress-Artikel (samt Kommentaren) aus einer Sicherungsdatei in die Hubzilla Artikel-App zu übernehmen.
Dazu noch jeden Monat auch noch ein Hubzilla-Workshop, den irgendwie auch überwiegend ich vorbereiten muss. Dann auch noch meine eigenen "Werke für und zur Hubzilla-Dokumentation".
Jetzt aktuell steht bei mir auch noch ein geordneter Server-Umzug samt Hosterwechsel an, der sich über Wochen hinziehen wird.
Ach ja... und Frühling is'. Und Garten! Und am Haus ist auch immer was zu tun. Der Offenstall braucht dringend Reparaturen. Die Pferdkoppel braucht einen neuen Zaun. Dann unser Hunde-Altersheim... das möchte auch Zeit haben.
Also um die YunoHost App kann ich mich persönlich beim besten Willen nicht auch noch kümmern.
Aber so schlimm ist das auch nicht, denn Hubzilla geht ja prima mit YunoHost in der My Webapp. Und Hubzilla ist wirklich recht einfach zu installieren. Den grundsätzlichen Weg hab ich ja aufgeschrieben: Hubzilla mit einem YunoHost-Server betreiben / Running Hubzilla with a YunoHost server. Das sollte also jeder hinbekommen. Und für Fragen (auch dazu) bin ich jederzeit offen. Gerne auch im Kanal "Pepes Hubzilla-Sprechstunde" (hubzillasprechstunde@hub.hubzilla.hu).
Fazit: Hubzilla mit YunoHost? Ja! Aber nicht mit der Hubzilla-App, sondern mit der App "My Webapp"!
Die Server-Verwaltung YunoHost ist eine großartige Sache. Seinen Server mit YunoHost zu verwalten erleichtert vieles. Ein E-Mail Server ist in der Grundausstattung bereits drin, ebenso wie ein Webserver. Man muss sich nicht mit der Einrichtung und Verwaltung eines Reverse-Proxy herumschlagen, Domains sind im Handumdrehen integriert und das auch gleich mit Let's Encrypt Zertifikat, welches vom System regelmäßig rechtzeitig erneuert wird. Backups? Kein Problem! ...
View article
View summary
Die Server-Verwaltung YunoHost ist eine großartige Sache. Seinen Server mit YunoHost zu verwalten erleichtert vieles. Ein E-Mail Server ist in der Grundausstattung bereits drin, ebenso wie ein Webserver. Man muss sich nicht mit der Einrichtung und Verwaltung eines Reverse-Proxy herumschlagen, Domains sind im Handumdrehen integriert und das auch gleich mit Let's Encrypt Zertifikat, welches vom System regelmäßig rechtzeitig erneuert wird. Backups? Kein Problem!
Das Beste an YunoHost ist aber die Möglichkeit, aus einem Katalog von hunderten Server-Anwendungen, seine eigenen Dienste mit wenig Aufwand zu installieren und zu verwalten.
Der App-Katalog ist inzwischen echt gigantisch und bietet alles, was das Herz begehrt.
All diese Apps werden von ehrenamtlichen Helfern betreut, die sich um die Installations-, Deinstallations- und Update-Skripte kümmern. Und sehr viele Anwendungen werden auch echt gut betreut. Updates kommen zeitnah und Fehler werden rasch beseitigt.
Ich selbst benutze YunoHost unter anderem dafür, einen meiner Hubzilla-Hubs zu betreiben. Ursprünglich habe ich ihn als YunoHost App betrieben. Im Frühjahr 2024 aber war ich es leid, dass Updates der App immer deutlich, und zu diesem Zeitpunkt sogar drastisch hinterherhinkten. Weil ich aber die Vorteile von YunoHost schätze und ich auch noch einige andere Dienste damit betreibe, wollte ich auf Hubzilla dort auch nicht verzichten. Also habe ich Hubzilla dann "zu Fuß" installiert... in der YunoHost App "My Webapp", die einen Webserver mit PHP und Datenbank zur Verfügung stellt. Das war kein großer Aufwand und ließ sich einfach erledigen. Wenn man sich an der Installationsanleitung von Hubzilla (core/install/INSTALL.txt) hält, ist es gut hinzubekommen. Lediglich die Konfiguration des Webservers (YunoHost verwendet Nginx anstelle von Apache) muss man etwas anpassen... dann passt's schon.
Der Vorteil bei der Sache: Ich kann den Komfort von YunoHost weiter nutzen... z.B. für Backups.
Zwischenzeitlich hatte sich der Update-Rhythmus der Hubzilla App bei YunoHost aber auch wieder verbessert. Eine ganze Zeit lang kamen Updates sehr zeitnah zu den Updates des eigentlichen Projektes. Ob das immer so war, weiß ich allerdings nicht, weil ich die App seit meinem Umzug zur My Webapp nicht mehr regelmäßig daraufhin angeschaut habe. Wenn ich aber mal geschaut habe, war es ganz ok. Und das, obwohl Hubzilla bei YunoHost wohl keinen echten festen Betreuer hat.
Und so habe ich dann auch die YunoHost App wieder empfohlen, wenn jemand ohne große Kenntnisse einen eigenen Hub aufsetzen wollte.
Das muss ich aber leider revidieren. Ich kann es echt nicht mehr empfehlen! Denn inzwischen hängt die App wieder extrem hinter der Original-Version. Heute, am 3. April 2026 ist die Version der YunoHost Hubzilla App 10.6.1, während die aktuelle Hubzilla-Version schon vor gut einer Woche bei 11.2 angekommen war. Die Version der App ist also über vier Monate alt. Damit fehlen einem Hub, der als App betrieben wird, auch etliche neue Features und diverse Fehlerbereinigungen sind natürlich auch noch nicht vorhanden.
Ein, zwei, drei Wochen... ja vielleicht, wenn es ein großes Update ist meinetwegen auch ein Monat... das würde ich noch als akzeptabel ansehen. Aber vier Monate sind echt zu viel, um die App noch guten Gewissens empfehlen zu können.
Schade, es scheint auch wirklich nur daran zu liegen, dass es keinen festen Betreuer für die App gibt. Pull-Requests und Testläufe sind immer sehr schnell da. Es fehlt nur derjenige, der den Hut auf hat und die App endgültig updatet. Ich wurde auch schon einmal gefragt, ob ich das übernehmen wolle. Aber ganz ehrlich... das pack ich nicht auch noch. Es ist ja nicht damit getan, irgendwie den Daumen nach oben zu recken. Man zeichnet ja dann auch für die App und deren Korrektheit verantwortlich. Ich müsste mich also erst in die ganze App-Verwalterei, die Systematik etc. bei YunoHost einarbeiten. Und das wäre jetzt echt zu viel, auch dies noch zu übernehmen. Dafür habe ich zu viele Baustellen oder Steckenpferde. Ich hänge schon bei der Hubzilla-Doku ein wenig zurück. Und dann arbeite ich mich nebenbei auch noch immer weiter in den Code von Hubzilla ein, um vielleicht irgendwann hier oder da mal mit Kleinigkeiten aushelfen zu können. Und jetzt habe ich auch noch "Addon-Blut" geleckt... und mir vorgenommen, irgendwann in diesem Jahr ein Addon zu präsentieren, mit welchem man WordPress-Artikel (samt Kommentaren) aus einer Sicherungsdatei in die Hubzilla Artikel-App zu übernehmen.
Dazu noch jeden Monat auch noch ein Hubzilla-Workshop, den irgendwie auch überwiegend ich vorbereiten muss. Dann auch noch meine eigenen "Werke für und zur Hubzilla-Dokumentation".
Jetzt aktuell steht bei mir auch noch ein geordneter Server-Umzug samt Hosterwechsel an, der sich über Wochen hinziehen wird.
Ach ja... und Frühling is'. Und Garten! Und am Haus ist auch immer was zu tun. Der Offenstall braucht dringend Reparaturen. Die Pferdkoppel braucht einen neuen Zaun. Dann unser Hunde-Altersheim... das möchte auch Zeit haben.
Also um die YunoHost App kann ich mich persönlich beim besten Willen nicht auch noch kümmern.
Aber so schlimm ist das auch nicht, denn Hubzilla geht ja prima mit YunoHost in der My Webapp. Und Hubzilla ist wirklich recht einfach zu installieren. Den grundsätzlichen Weg hab ich ja aufgeschrieben: Hubzilla mit einem YunoHost-Server betreiben / Running Hubzilla with a YunoHost server. Das sollte also jeder hinbekommen. Und für Fragen (auch dazu) bin ich jederzeit offen. Gerne auch im Kanal "Pepes Hubzilla-Sprechstunde" (hubzillasprechstunde@hub.hubzilla.hu).
Fazit: Hubzilla mit YunoHost? Ja! Aber nicht mit der Hubzilla-App, sondern mit der App "My Webapp"!
...dass die Tage immer länger werden.
Nein, damit meine ich nicht die jahreszeitbedingt längeren Tage (Tag länger, Nacht kürzer), sondern dass ein ganzer Tag samt Nacht gefühlt immer länger dauert... so im Vergleich zu vor einem Jahr...
Nein, damit meine ich nicht die jahreszeitbedingt längeren Tage (Tag länger, Nacht kürzer), sondern dass ein ganzer Tag samt Nacht gefühlt immer länger dauert... so im Vergleich zu vor einem Jahr...
View article
View summary
...dass die Tage immer länger werden.
Nein, damit meine ich nicht die jahreszeitbedingt längeren Tage (Tag länger, Nacht kürzer), sondern dass ein ganzer Tag samt Nacht gefühlt immer länger dauert... so im Vergleich zu vor einem Jahr.
Und tatsächlich haben Forscher herausgefunden, dass dem wirklich so ist! Weil Klimawandel! Also weil Erwärmung!
Da schmelzen die Polkappen ab und es gibt mehr flüssiges Wasser, was die Rotationsgeschwindigkeit abbremst. Und das jetzt so schnell, wie seit gut 3,6 Millionen Jahren nicht mehr.
Deshalb schreibt Telepolis auch
Klimawandel macht unsere Tage länger – messbar (arch)
Und das um wahnsinnige 1,33 Millisekunden alle hundert Jahre!
Das sind pro Tag dann 0,00003643835616438356 Millisekunden, also 36,438356164384 Picosekunden. Kein Wunder, dass mir die Tage jeden Tag länger vorkommen.
Und nun mal ernsthaft gefragt: WAS werfen die sich bei Telepolis eigentlich ein? Welches Zeug rauchen die oder ziehen es sich durch die Nase? Wenn man unbedingt will, kann man die Studie ja erwähnen, darüber einen Artikel veröffentlichen... und auch mal infrage stellen, woher sie denn wissen, auf die Milli bzw. Picosekunde genau, wie lang vor über drei Millionen Jahren ein Tag gedauert hat?
Aber der Titel, der nun aussagt, dass der Klimawandel die Tageslänge erhöht, das ist jetzt schon kein Clickbaiting mehr, das ist entweder ein Zeichen einer psychischen Erkrankung oder Drogenmissbrauchs... sonst fällt mir keine Erklärung ein... Euch vielleicht?
Es war ja ursprünglich mein Plan, sämtliche(!) Artikel aus der Dampfdruck-Presse zu WordPress-Zeiten in Hubzillas Artikel-App zu integrieren.
Da es aber deutlich über 1.000 Artikel sind, ist das vertretbar nur automatisiert zu erledigen...
Da es aber deutlich über 1.000 Artikel sind, ist das vertretbar nur automatisiert zu erledigen...
View article
View summary
Es war ja ursprünglich mein Plan, sämtliche(!) Artikel aus der Dampfdruck-Presse zu WordPress-Zeiten in Hubzillas Artikel-App zu integrieren.
Da es aber deutlich über 1.000 Artikel sind, ist das vertretbar nur automatisiert zu erledigen. Das habe ich ja bereits im Artikel "Basis ist der WordPress Export" erwähnt. Und ich habe inzwischen zwei Skripte für diesen Zweck. Eines, das die Artikel aus einer WXR-Datei in einzelne BBcode-Dateien umwandelt und eines, welches das auch noch mit den Kommentaren zum Artikel macht.
Dann hätte ich die Artikel im korrekten Format. Funktioniert auch prima.
Die Artikel dann aber in die Artikel-App von Hubzilla zu bringen, ist nicht wirklich trivial. Sicher könnte ich die Artikel einzeln über die App erstellen (Copy & Paste), müsste dann aber das Erstellungsdatum noch in der Datenbank korrigieren, damit die Reihenfolge passt. Und die Kommentare hätte ich mit dieser Methode auch noch nicht drin. Das wäre nochmal extra Handarbeit und weitere DB-Manipulation.
Neee... nicht praktikabel.
Dann habe ich überlegt, ob sich die Artikel nicht direkt, ebenfalls mit einem Skript, in die Datenbank einfügen lassen könnten.
Ich bin mir sicher, das geht. Nur... es gibt in der DB-Tabelle "items" ne menge Felder, bei denen ich nicht genau weiß, wie wichtig sie sind und ich müsste mich erst noch drum kümmern, dass die ganzen Id's ordentlich eingetragen würden. Dafür ist die Dokumentation aber einfach zu dünn. Und der Aufwand für solch ein Skript auch sehr groß... und es würde einen weiteren eigenen Entwicklungs-Hub erfordern, damit ich mir nicht meinen Produktiv-Hub durch Zerhackstücken der Datenbank abschieße, wenn ich das Skript teste.
Machbar wäre es, aber der Aufwand (vor allem der Zeitaufwand) ist so groß, dass ich das eher vorerst nicht hinbekomme (ich werde aber... falls ich irgendwann mal Zeit dafür erübrigen kann, an einem solchen Skript arbeiten... könnte ja anderen Nutzern helfen).
Die WordPress-Version der DDP ist ja komplett auf dem "Trockendock". Auf sie hat kein Nutzer mehr Zugriff. Um aber alle Artikel weiterhin erreichbar zu halten (ich lösche nämlich nicht einfach einen Teil der Dampfer-Geschichte), habe ich mit dem Plugin "Simply Static" eine statische Version der DDP erstellt und dieses Archiv konnte ich dann als ZIP-Datei herunterladen. Ich habe es so erstellt, dass die "alte" DDP unter
dampfdruck-presse.de erreichbar sein soll.Also habe ich die Datei lokal entpackt und mit ftp zum Server hochgeladen.
Schnell fiel mir jedoch auf, dass anscheinend nur ca. 1/3. der Artikel auf dem Server landeten. Und so dachte ich, dass ich dann halt aus der ohnehin vorhandenen WXR-Dateien per Importfunktion von Publii eine statische Publii-Version erstelle.
Das klappte auch... aber nur fast! Denn das Skript lädt normalerweise die zu jedem Artikel dazugehörigen Mediendateien (also in der DDP ausschließlich Bilder) herunter und baut sie in die Artikel ein.
Doch der Download klappte nicht, sodass alle Artikel zunächst "bilderlos" erschienen. Ich habe zwar auch diese Mediendateien (
wp-content/uploads) lokal auf meinem Rechner, aber ich hätte nun bei jedem einzelnen Artikel die Bilder manuell von dort aus einfügen müssen. Bei über 1.000 Artikeln und ca. 7.700(!) Grafikdateien eine Wahnsinns-Aufgabe.Weil ich damit also auch nicht weiter kam, dachte ich mir gestern Nachmittag einfach mal: "Frag doch einfach mal Onkel Grok! Vielleicht weiß der einen Rat."
Und tatsächlich gab es auch einen sinnvoll erscheinenden Rat. Ich sollte mir doch einfach die Import-Funktion von Publii sparen und die Artikel mit einem Skript, das er mir lieferte, konvertieren und diese, sowie die Mediendateien in das "input"-Verzeichnis des Publii-Projekts kopieren. Das funktioniert wohl meistens... manchmal... vielleicht auch bei mir.
Nach einige Nachbesserungen am Skript wurde also ein Durchlauf gemacht und es wurden auch die Markdown-Dateien für Publii erzeugt. Nur... Publii hat es nicht in seine Datenbank eingebaut. Weder die Artikel, noch die Mediendateien. Grok hat mit mir dann etliche Versuche durchgeführt, die Artikel doch noch in die Publii-Seite zu bringen, aber nichts hat geklappt. Schließlich "einigten" wir uns darauf, es doch mit dem WordPress-Import von Publii selbst zu machen.
Aber es wurden, wie gesagt, die Mediendateien nicht importiert. Es gab die Fehlermeldung, dass sie nicht heruntergeladen werden können. Und tatsächlich ging das nicht. Jeder Zugriff auf eine Mediendatei (also ein Bild) wurde von Apache mit einem "[url=https://de.wikipedia.org/wiki/HTTP-Statuscode#4xx%E2%80%93Client-Fehler]404[/url]" quittiert. Die Rechte für die Dateien und Verzeichnisse waren ok. Daran konnte es also nicht liegen.
Der eigentliche Grund schien folgender zu sein: Ich hatte die alte WordPress-DDP ja "aufs Trockendock" geschickt... und zwar, indem ich eine
.htaccess Datei mit einer Rewrite-Regel für eine permanente Umleitung der Domain auf die Artikel der Hubzilla-DDP erstellt habe. Und die würde ja auch dafür sorgen, dass der Zugriff auf die Mediendateien nach hub.hubzilla.hu umgeleitet würde, wo diese so nicht vorhanden sind.Also temporär die Rewrite-Regel nach Groks Vorschlag geändert. Aber es gab trotzdem keinen Zugriff.
Ok... dann halt "auf die harte Tour"...
.htaccess gelöscht!Aber trotzdem kein Zugriff. Ich verzweifle noch. Grok serviert mir einige Tests, die ich durchlaufen ließ und die klar zeigten, dass der Zugriff auf Ressourcen schlicht blockiert war. Und ich sollte nun die Apache-Konfiguration modifizieren... auch da bekam ich einige Vorschläge. Doch zu dem Zeitpunkt war meine Geduld echt aufgebraucht und ich habe abgewunken. Vor allem auch, weil ich mir meinen Apache nicht zerkloppen wollte. Die Euroleague-Spiele waren auch schon mit miesen Ergebnissen zu ende (ich habs nebenbei im Augenwinkel verfolgt)... neee... reicht. Dann halt erstmal nicht. Also doch, aber die miese Methode mit dem händischen Einfügen der Grafiken in alle Artikel. Ne Sache für ein paar Monate.
Es war dann schon wirklich spät, nämlich nicht mehr gestern, sondern schon heute.
Aber irgendwie ließ es mir keine Ruhe, dass die Archiv-Datei von Simply Static unvollständig sein sollte. Ich hatte mit dem Tool ja schon Archive der inzwischen eingestellten Projekte "Nebelkrähe" und "ExRaucher-IG" erstellt und die waren vollständig. Da fehlte nix.
Weshalb also denn aber bei der DDP?
Letztlich war mir meine Bequemlichkeit und die Gewohnheit auf die Füße gefallen... in Verbindung mit Software-Unzulänglichkeiten.
Eigentlich bin ich ja sehr gerne mit der Kommandozeile, also im Terminal mit der Shell unterwegs. Aber die ZIP-Datei des statischen Archivs habe ich (ich nutze Plasma/KDE) mit dem KDE-Tool "Ark" geöffnet. Und damit auch lokal entpackt. Was dabei auffiel war, dass zwar alle Verzeichnisse aus dem ZIP-Archiv in Ark angezeigt wurden, aber nicht alle entpackt wurden.
Also habe ich das Archiv auf der Kommandozeile untersucht und festgestellt, dass es intakt ist.
Aber weshalb entpackt Ark es nicht vollständig? Und entpackt es "unzip" im Terminal vielleicht vollständig?
Also ausprobiert. Und tatsächlich waren nun in dem Verzeichnis sämtliche Unterverzeichnisse samt Inhalt vorhanden (laut ls). In Dolphin (dem GUI-Dateimanager) auch... aber wenn ich die Verzeichnisse, die beim Entpacken mittels Ark fehlten, anklickte, bekam ich die Meldung, das Verzeichnis würde nicht existieren. Im Terminal konnte ich aber mit cd in diese Verzeichnisse wechseln... und mir auch die Inhalte z.B. mit cat ausgeben lassen. Nanu? Was soll der Scheiß denn?
Ich hab dann im Terminal mal den MidnightCommander angeschmissen... und da wurde diese Verzeichnisse mit einem führenden Punkt (also quasi als versteckte Verzeichnisse) angezeigt, ich konnte sie aber öffnen und die Inhalte auch anzeigen lassen.
Ein Punkt vornedran? Wieso werden sie mir denn dann in Dolphin angezeigt (ich habe ihn als Default so eingestellt, dass verborgene Dateien und Verzeichnisse nicht im Fenster angezeigt werden)?
Ark hat sie also nicht entpackt, unzip aber schon. Und in Dolphin werden sie dann auch angezeigt, sie lassen sich aber nicht öffnen. Sehr seltsam.
Nun, dann habe ich mal Thunar angeworfen (der Dateimanager von XFCE)... und der verhielt sich genauso wie Dolphin. Und der Dateimanager "Cosmic Dateien" ebenfalls. Ach... ich hab ja auch noch PCManFM, den Dateimanager von lxqt auf Tasche. Also auch mal ausprobieren! Und siehe da... da wurden die "seltsamen" Verzeichnisse nicht nur angezeigt, sondern ich konnte sie auch öffnen und auf die Inhalte zugreifen.
Noch mehr Fragezeichen über meinem Kopf!
Ok... wenn die Verzeichnisse und deren Inhalt vorhanden sind, dann könnte ich es ja ausprobieren, das mit unzip entpackte Archiv per ftp hochzuladen. Nur... in FileZilla wurden die Dateien wieder nicht angezeigt. Aaaargh!
Ob Grok schon schläft? Nein, schläft nicht. Ich habe dann nach möglichen Ursachen für dieses Verhalten, das ich mir nicht erklären konnte, gefragt und mir wurden dann wieder etliche Tests vorgeschlagen, die ich durchgeführt habe. Z.B. ein Test darauf, ob die Verzeichnisnamen führende unsichtbare Leerzeichen haben oder ob die Verzeichnisnamen ungewöhnliche Sonderzeichen (die nicht angezeigt werden) enthalten. Alles negativ. Schließlich bekam ich die Info, dass es womöglich daran liegen könnte, dass die Verzeichnisnamen sehr lang sind und viele Bindestriche enthalten, womit Dolphin und etliche andere Dateimanager anscheinend nicht klarkämen. Ob dem so ist? Keine Ahnung. Es sieht aber zumindest danach aus. Klingt zumindest plausibel.
Mir wurde dann vorgeschlagen, die ftp-Funktion von PCManFM für den Upload zu nutzen, wenn dieser Dateimanager alles richtig anzeigt und den Zugriff erlaubt. Es war mittlerweile drei Uhr morgens und ich habe mich artig bedankt und den Versuch auf "nach dem Aufstehen" verschoben.
Und heute Vormittag hab ich das dann gemacht. Hat lange gedauert (die Mediendateien haben echt viel Zeit verbraucht... kein Wunder bei der Menge an Grafikdateien), aber irgendwann war es erledigt. Und vor allem ist das Archiv unter dampfdruck-presse.de jetzt wirklich vollständig.
Einen Nachteil hat das statische Archiv von Simply Static aber noch! Die Suchfunktion funktioniert nicht! Zumindest nicht bei der kostenlosen Variante, die ich verwendet habe. Es gibt zwar ein Suchfeld, aber das bringt keine Ergebnisse.
Allerdings habe ich ein Skript, das einen Index des DDP-Archivs erzeugt, der dann über ein Webformular durchsuchbar ist. In der Seitenleiste der DDP (Hubzilla) gibt es nun einen Link "DDP-Archiv durchsuchen"

der zu einem Suchformular führt, mit welchem man das Archiv bis zu den Anfängen im Jahr 2013 durchsuchen kann.

Also... auch ältere Artikel sind und bleiben verfügbar. Eine Sache, die mir sehr wichtig ist und die auch jetzt, nach der Umstellung der DDP auf Hubzilla als CMS erhalten bleibt.
Was ne nervenaufreibende Nacht... was ein K(r)ampf... aber es ist geschafft!
Anlässlich der groooßen An- bzw. Verkündigung des revolutionären, einzigartigen, neuen und höchst offfffizielllllen "Share to Mastodon Buttons" bin ich über eine echt tolle Möglichkeit gestolpert, einen "Share to FEDIVERSE Button" auf den eigenen Seiten einzubauen...
View article
View summary

Anlässlich der groooßen An- bzw. Verkündigung des revolutionären, einzigartigen, neuen und höchst offfffizielllllen "Share to Mastodon Buttons" bin ich über eine echt tolle Möglichkeit gestolpert, einen "Share to FEDIVERSE Button" auf den eigenen Seiten einzubauen. Ich bin im ersten Teil "Teile im Fediverse?" nur auf share2fedi eingegangen und hatte nicht nach Alternativen geschaut.
Share2fedi hat ja einen "Nachteil" (was man so "Nachteil" nennen mag)... man greift auf eine fremde Ressource zu. Der Code gibt zwar keinerlei Hinweise auf irgendeine Datenverarbeitung durch den Betreiber her, und man kann den Dienst ja auch selbst hosten (der Code steht als Open Source auf github unter der AGPL3-Lizenz zur Verfügung). Selbst hosten... also einen Dienste-Service auf dem Server installieren... schon was umständlich und mit der Notwendigkeit, einen Reverse Proxy zu nutzen.
Aber es gibt da eine echte Alternative, die wesentlich leichtgewichtiger daherkommt: Fediverse Sharing Button von Stefan Bohacek
Um diesen "Button" einzubauen, braucht man nur ein Snippet in die eigene Seite einfügen... und schon ist er betriebsbereit.
Im Repo zu diesem Button liegt das Snippet zum Kopieren vor. In diesem Fall wird zwar auch auf externe Ressourcen zugegriffen, der Klick auf den Button nimmt aber keinen Umweg über einen fremden Dienst, wie es bei share2fedi der Fall ist. Die eine externe Ressource sind Grafiken mit den Logos verschiedener Fediverse-Dienste (mit denen der Button funktioniert). Bei dem Button ist es nämlich so, dass nach dem Eingeben der URL des genutzten Fediverse-Dienstes das Logo der Fediverse-Software automatisch auf dem Button angezeigt wird. Und es wird auf den fediverse-info Server zugegriffen, die node-info Daten zu den Servern zu bekommen, ohne die eigentlichen Instanzen mit Anfragen zu belasten. Es wird also nirgendwo etwas gespeichert und es fließen auch keine Daten zu dubiosen Diensten ab.
Also... gespeichert wird schon etwas (kann man aber abstellen): die eingegebene URL der Instanz und die Bezeichnung der darauf laufenden Fediverse-Software.
Das allerdings wird nicht irgendwo gespeichert, sondern beim Nutzer selbst lokal im localStorage-Speicher. Und man kann es auch verhindern, wenn man unbedingt jedes Mal wieder neu die Domain des Fediverse-Dienstes eingeben möchte.
Das Snippet, das auf der Webseite des Projekts zur Verfügung steht, nutzt die Ressourcen (die Icon-Dateien, eine Javascript-Bibliothek und eine CSS-Datei), die der Entwickler auf seinem eigenen Server zur Verfügung stellt. Man kann diese Dateien aber auch auf dem eigenen Server ablegen und von dort aus verwenden.
Dafür lädt man das Verzeichnis
fediverse-share-button/icons samt enthaltener Grafiken, sowie die Dateien script.min.js und styles.min.css in ein Verzeichnis auf dem eigenen Server (das Verzeichnis muss öffentlich zugreifbar sein, damit der Button auch bei jedem funktioniert) und ändert die Referenzen im Snippet auf die eigene URL.Der Button funktioniert aktuell mit Diaspora, Firefish, Friendica, Glitch-soc, Hometown, Hubzilla, Lemmy (aktuelle Versionen), Mastodon, Misskey und Sharkey. Also mit etlichen Diensten des Fediverse... ist ja auch ein Fediverse-Share-Knopf und kein Du-sollst-keine-anderen-Götter-haben-neben-Mastodon-Button. Der funktioniert dann auch bei Besuchern unserer Webseite, die keinen Mastodon-Account haben, aber sehr wohl einen bei den anderen unterstützten Diensten.
Ich persönlich würde IMMER diesen Button empfehlen, anstatt eine sehr große Zahl Fediversenutzer durch einen einseitigen Button auszugrenzen.

Heute trinke ich mir zur Feier des Tages mal einen Pálinka (was selten vorkommt)...
Auf den Tag genau zehn Jahre ist es nun her (28. Februar 2016), dass ich meine ersten Schritte mit Hubzilla gemacht habe...
Auf den Tag genau zehn Jahre ist es nun her (28. Februar 2016), dass ich meine ersten Schritte mit Hubzilla gemacht habe...
View article
View summary

Heute trinke ich mir zur Feier des Tages mal einen Pálinka (was selten vorkommt)...
Auf den Tag genau zehn Jahre ist es nun her (28. Februar 2016), dass ich meine ersten Schritte mit Hubzilla gemacht habe. Fragt mich bitte nicht nach der genauen Version... muss irgendwas um die 1 herum gewesen sein. Damals war das Hubzilla-Universum nur das Grid, denn ActivityPub war noch nicht implementiert. Ich hatte mir dann einen Hub ausgesucht und wollte mich registrieren, aber das hat nicht wirklich geklappt, weshalb ich einen eigenen Hub auf Uberspace installierte, was aufgrund einer im Netz vorhandenen Anleitung sehr einfach war. So war ich von Anfang an also auch Hubzilla-Admin.
Am 13. März 2016 veröffentlichte ich dann auch einen ersten Artikel zu Hubzilla: Schon wieder was neues? Hubzilla.
Denn ich war begeistert von den Möglichkeiten dieses Netzwerks und der Software. Und ich bin seit dem auch nie wieder wirklich von Hubzilla weggekommen. Zwar habe ich etliche Dienste als "Gast" auf fremden Instanzen, aber sehr oft auch auf selbst gehosteten Instanzen ausprobiert, aber es hat mich immer wieder zu Hubzilla zurückgezogen... und ich hatte auch immer(!) einen eigenen Hub am Laufen.
Anfangs hatte ich viele Kontakte zu Diaspora-Nutzern (weil Hubzilla die Verbindung durch ein Addon erlaubte) und zu etlichen Hubzilla-Kanälen. Die große Welt des Fediverse erschloss sich dann im Sommer 2017, als Hubzilla –zusätzlich zum Protokoll Zot – auch noch ActivityPub implementierte, was es möglich machte, sich mit den (damals noch wenigen) Diensten zu verbinden, die auch schon ActivityPub verwendeten (Pleroma war das wohl und an Herbst 2017 kam dann Mastodon hinzu, auf welches viele GNU Social Nutzer umgestiegen waren). Von da an ging die Post ab.
Aktuell habe ich mit meinem Hauptkanal Der Pepe (Hubzilla) ⁂ 114 Zot6/Nomad-Verbindungen, zwei RSS-Verbindungen und 212 ActivityPub-Verbindungen. Diaspora-Kontakte habe ich keine mehr.
Über die Jahre habe ich mir einiges an Wissen zu Hubzilla angeeignet und versuche, dieses Wissen auch weiterzugeben und auch für Einsteiger möglichst verständlich aufzubereiten.
Im Sommer 2024 habe ich dann begonnen, die hubzilla-interne Hilfe, also die eingebaute Dokumentation grundlegend zu überarbeiten (sie war wirklich sehr veraltet) und neu aufzubauen. Nebenbei pflege ich auch noch meine Hubzilla KnowledgeDB, die Informationen noch einmal anders aufbereitet und auch Themen behandelt, die im Manual nicht oder nur in beschränktem Umfang vorkommen. Und für die Nutzung von Hubzilla als Content Management System habe ich auch eine Online-Dokumentation begonnen, die hoffentlich helfen kann, auch andere Dinge, als nur Social Media mit Hubzilla zu machen.
Und obwohl ich nun schon so lange "mit Hubzilla rummache", entdecke ich trotzdem immer wieder Möglichkeiten und Funktionen, die ich bislang nicht kannte. Das geht übrigens nicht nur mir so, sondern sogar die Entwickler stolpern ab und an über Dinge, die ihnen vorher unbekannt waren. Gerade kürzlich entdeckte Harald Eilertsen (einer der Entwickler) einen "Experten-Modus" für die Warteschlangenverwaltung (was natürlich sofort in der KnowledgeDB landete und auch ins Manual kommt), was Jupiter Rowland zu einem Kommentar veranlasste, der jetzt auf meiner Kanalseite prangt:
Hubzilla is when even the main devs keep discovering hidden features they knew nothing about.
Quelle: Jupiter Rowland auf Hubzilla
Ende 2024 wurde ich dann Mitlied der Hubzilla Association, der Organisation, welche die Entwicklung, Förderung und Verbreitung von Hubzilla unterstützt und bei der Pflege der Dokumentation und der Website hilft. Sie betreibt auch die Projekt-Webseite hubzilla.org und verschiedene Support-Kanäle, wie z.B. das "berühmte" (und absolut empfehlenswerte) Hubzilla Support Forum.

Auch wenn Hubzilla heute immer noch "unter dem Radar" fliegt, ist es das System meiner Wahl. Ich schätze es wegen der kontinuierlichen und unaufgeregten Weiterentwicklung. Gerade hat z.B. ein echtes Hammer-Feature Einzug gehalten: die Integration von Collabora über das neue WOPI-Addon. Damit ist die Bearbeitung von Cloud-Inhalten extrem komfortabel geworden und eine Zusammenarbeit wesentlich einfacher, als über den Umweg z.B. über die Wiki-Funktion. Fehler werden schnell ausgemerzt und der Support ist in der wundervollen Gemeinschaft rund um Hubzilla einfach hervorragend.
Im Rückblick waren es zehn aufregende Jahre, Jahre die Spaß gemacht haben und Jahre, die Lust auf weitere zehn Jahre mit Hubzilla machen.
Und falls jetzt jemand neugierig geworden ist: Probiert es einfach einmal aus... Join Hubzilla
Conversation Features
Loading...
Loading...
Login
PepeCyBs Welt
pcw@hub.hubzilla.hu
Mein Blog PepeCyB's Welt - Pepes Gedanken, das Fediverse und mehr…
Categories
Archives

