Fryboyter

Bestimmte Version von Composer bei Uberspace installieren

Als ich eben eine Wallabag-Installation bei Uberspace.de aktualisieren wollte, habe ich folgende Fehlermeldung erhalten.

Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - Root composer.json requires composer < 2.3, found composer[2.3.10] but it does not match the constraint.

Die Empfehlung composer update auszuführen, hilft in diesem Fall nicht. Denn das Problem ist, dass bei Uberspace Version 2.3.10 von Composer installiert ist. Wallabag setzt aktuell aber Composer in einer Version < 2.3 voraus. Bisher hatte ich bei Uberspace eigentlich nur Fälle bei denen bestimmte Pakete zu stable (man könne auch sagen zu alt) waren. Öfter mal was Neues.

Also ist, zumindest vorübergehend, ein Workaround nötig. Auf dem betreffenden Uberspace hab ich folgende Befehle ausgeführt.

wget -qO composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/home/$USER/bin --filename=composer --version=2.2.17

Der erste Befehl läd den Installer von Composer herunter. Mit dem zweiten wird die Version 2.2.17 von Composer heruntergeladen und im Verzeichnis ~/bin mit dem Dateinamen composer gespeichert.

Anschließend konnte ich Wallabag ohne Probleme aktualiseren. Da ~/bin Teil von $PATH ist und Composer nicht für die Nutzung von Wallabag nötig ist, habe ich die Datei abschließend in composer.old umbenannt um eventuelle Probleme mit anderer, installierter Software vorzubeugen die eine neuere Version benötigt.

OSBN | Linux

Hugo Extended 0.101.0 für Uberspace.de / CentOS 7

Zum Erstellen von fryboyter.de nutze ich Hugo. Und als Webspace nutze ich uberspace.de. Wenn ich beispielsweise einen neuen Artikel schreibe, erstelle ich für diesen einen Commit, den ich in ein Mercurial-Repository auf den Webspace hochlade. Jeder neue Commit löst dann die Ausführung eines Scripts aus, welches die Seite neu erzeugt.

Das Script nutzt hierfür die fertig kompilierte Version von Hugo die von den Entwicklern angeboten wird und die auf dem Webspace abgespeichert ist. Aufgrund von kürzlich erfolgten Änderungen an der Internetseite benötige ich nun die sogenannte extended Version von Hugo. Die aber leider bei Uberspace.de nicht funktioniert, da dort aktuell CentOS 7 zum Einsatz kommt, sodass einige benötigte Pakete zu stabil sind. Oder anders ausgedrückt zu veraltet sind. Hugo bricht daher mit der folgenden Fehlermeldung ab.

/home/laythos/bin/hugo: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/laythos/bin/hugo)
/home/laythos/bin/hugo: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/laythos/bin/hugo)
/home/laythos/bin/hugo: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/laythos/bin/hugo)

Das Problem ist den Entwicklern bekannt (https://github.com/gohugoio/hugo/issues/9330), aber aus nachvollziehbaren Gründen werden für alte Distributionen keine fertig kompilieren Versionen angeboten.

Also bleiben in dem Fall zwei Möglichkeiten. Man erzeugt die Internetseite jedes Mal lokal und lädt diese beispielsweise mit rsync auf den Webspace. Oder man kompiliert eine Version von Hugo die CentOS 7 unterstützt. Ich habe mich für letzteres entschieden.

Das Kompilieren direkt auf einem Uberspace sollte man allerdings nicht probieren. Denn dort kann man maximal 1,5 GB RAM nutzen. Alles, was mehr braucht, wird automatisch beendet. Was bei Hugo der Fall ist.

Daher habe ich mir von https://www.osboxes.org eine virtuelle Umgebung von CentOS 7 heruntergeladen und mit VirtualBox gestartet. Anschließend habe ich golang sowie gcc-c++ installiert. Ersteres über Umwege, da Go scheinbar nicht in den offiziellen Paketquellen vorhanden ist.

Danach bin ich wie folgt vorgegangen.

wget https://github.com/gohugoio/hugo/archive/refs/tags/v0.97.3.zip
unzip https://github.com/gohugoio/hugo/archive/refs/tags/v0.97.3.zip
cd hugo-0.97.3
CGO_ENABLED=1 go install --tags extended

Mit dem ersten Befehl wir der Sourcecode der derzeit aktuellen Version heruntergeladen. Mit dem zweiten Befehl wird dieser entpackt. Der dritte Befehl wechselt in das betreffende Verzeichnis, in dem die Dateien entpackt wurden. Und der letzte Befehl kompiliert die extended Version von Hugo.

Wenn der letzte Befehl erfolgreich ausgeführt wurde, was je nach Hardware ein paar Minuten dauern kann, sollte man im Verzeichnis ~/go/bin/ die Datei hugo finden. Diese kopiert man dann einfach auf seinen Uberspace. Damit sollte dann das Erzeugen der Internetseite ohne Fehlermeldungen funktionieren.

Unter https://e1.pcloud.link/publink/show?code=kZSMfzZx0nn3yYPAEVOyuhqvPPdgLfvF5ek habe ich die aktuelle von mir erzeugte Version von Hugo die bei Uberspace.de funktioniert hochgeladen. Wer will (und mir vertraut), kann diese gerne nutzen.

info
Zuletzt aktualisiert am 16.06.2022.
Version 0.101.0 erstellt und hochgeladen von Hugo für Uberspcae / CentOS 7.
Allgemein | OSBN

Googles FLoC auf fryboyter.de blockiert

Wenn es um das Tracking bei Werbung geht, kommen oft Third-Party-Cookies zum Einsatz. Was viele Nutzer nicht so gut finden. Daher hat sich Google überlegt diese abzuschaffen und hat sich als Alternative FloC (Federated Learning of Cohorts) ausgedacht.

Wie zu erwarten kommt es nicht gut an. Die EFF bezeichnet es als “schreckliche Idee”. Den Entwicklern des Browsers Vivaldi ist es ein “FloC off!” wert. Die Betreiber der Suchmaschine DuckDuckGo finden es auch nicht gut. Genauso wie die Leute die den Browser Brave entwickeln. Und vermutlich halten viele andere FloC für eine scheiß Idee.

Mir geht es genauso, zumal der Mist auch noch opt-out ist. Dies gilt auch für Webseitenbetreiber. Damit man nicht mitmacht, kann man den Header seiner Internetseite ändern so das bei jedem HTTP-REPLY Permissions-Policy „interest-cohort=()“ mitgegeben wird.

Wer seine Seite bei Uberspace.de hostet, hat es einfach. Hierfür genügt einfach sich bei SSH einzuloggen und den Befehl uberspace web header set / Permissions-Policy “interest-cohort=()" auszuführen. Nutzer anderer durchschnittlicher Webspaces können vermutlich oft nichts unternehmen bzw. sollten beim jeweiligen Anbieter den Support kontaktieren und hoffen das dieser positiv reagiert. Wer einen eigenen Webserver betreibt, sollte sich schlaumachen wie man die Konfiguration seines Webservers entsprechend anpasst.

Allgemein

Wallabag auf Uberspace 7 installieren

Bei Wallabag handelt es sich um eine Lösung zu selbst hosten mit der man interessante Internetseiten speichern kann um sie dann später zu lesen. Wallabag ist sozusagen eine Alternative zu Pocket das wohl die meisten Nutzer von Firefox kennen sollten.

Um Wallabag auf einen Uberspace 7 unter eine Subdomain zu installieren, kann man wie folgt vorgehen.

Als erstes erstellt man unter ~/html/ ein neues Verzeichnis (z. B. “walla”) und wechselt in dieses. Nun führen wir folgenden Befehl aus um die nötigen Dateien für die Installation herunterzuladen.

git clone https://github.com/wallabag/wallabag.git .

Der Punkt am Ende des Befehls ist übrigens kein Fehler, sondern sorgt dafür, dass die Dateien im aktuellen Verzeichnis abgespeichert werden.

Wenn alles heruntergeladen ist, installiert man Wallabag mittels “make install”. Das dauert ein Stück. Am Ende des Vorgangs beginnt ein Frage- und Antwortspiel bei dem zum Beispiel diverse Sachen wie die Datenbankverbindung usw. abgefragt werden. Hierbei gehe ich an dieser Stelle nur auf zwei Sachen ein, da der Rest eigentlich selbsterklärend ist. Das wäre zum einen “mailer_host”. Hier ist der Standard 127.0.0.1. Daraus machen wir 127.0.0.1:587, da SMTP bei Uberspace auf Port 587 läuft. Bei “secret” sollte man anstelle des vorgegebenen Geheimnisses lieber ein eigenes eintragen.

Wenn wir die ganzen Informationen eingetragen bzw. abgenickt haben, erstellen wir nun noch im anfangs angelegten Verzeichnis eine .htaccess Datei mit folgendem Inhalt.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /web/$1 [QSA,L]

Somit wir automatisch bei einem Aufruf in den Unterordnet web weitergeleitet.

Da wir in diesem Beispiel Wallabag ja unter einer Subdomain erreichbar machen wollen, sind nun noch folgende beide Befehle nötig.

ln -s /var/www/virtual/$USER/html/walla /var/www/virtual/$USER/walla.domain.org\r\nuberspace\_web\_domain\_add\_walla.domain.org

Mit dem ersten Befehl wird der Symlink erstellt und mit dem zweiten wird die Subdomain bei Uberspace aktiviert. Anstelle von domain.org sollte man die eigene Domain angeben.

Das war es im Grunde genommen. Von nun an kann man Wallabag mittels walla.domain.org aufrufen und dort diverse Seiten abspeichern. Um das ganze etwas bequemer zu gestalten, kann man sich noch die Browser-Erweiterung Wallabagger installieren. Diese ist für Firefox, Opera und Chrome bzw. Browser die darauf basieren erhältlich. Eine Anleitung zur Konfiguration findet man unter https://wallabag.org/en/news/wallabagger-howto.

Linux | OSBN

Der Umzug auf Uberspace 7

Vor ein paar Wochen wurde Uberspace in Version 7 als Betaversion veröffentlicht. Eigentlich wollte ich zeitnah von Version 6 umsteigen. Aus zwei Gründen habe ich den Umstieg aber erst einmal sein gelassen.

Grund 1: Es war noch nicht möglich mehrere E-Mail-Adressen anzulegen. Diese Funktion sollte und wurde auch nachgereicht. Wie gesagt, das Ganze ist offiziell noch als Betaversion gekennzeichnet.

Grund 2: Das Team hinter Uberspace hat die Entscheidung getroffen, dass nur noch ein DocumentRoot pro Zugang möglich ist. Virtuelle DocumentRoots wird es nicht mehr geben. Auch wenn ich die Entscheidung aus technischer Sicht durchaus nachvollziehen kann, kommt für mich der Umstieg dann doch nicht infrage, da ich mehrere Domains aufgeschaltet habe und im Falle von Fryboyter.de auch noch mehrere Dienste wie Searx unter Subdomains nutze. Aber egal, unter Version 6 funktioniert ja alles und wird wohl auch bis 2020 laufen.

Kurz vor Weihnachten hatte ich dann zufällig mal wieder bei Uberspace gestöbert und einen Eintrag im Uberspace-Blog gefunden. Alleine das zeigt, dass man bei dem Anbieter gut aufgehoben ist. Andere Anbieter hätten eine Entscheidung getroffen und “friss oder stirb” wäre angesagt gewesen.

Da mir der aktuelle Stand von Uberspace 7 alles bietet, was ich aktuell so brauche, habe ich mir heute einmal einen Zugang besorgt. Auf die grundlegenden Sachen wie das Erstellen des SSH-Zugangs usw. gehe ich jetzt nicht ein. Das kann bei Bedarf unter https://manual.uberspace.de/en/index.html nachgelesen werden.

Allerdings nutze ich ja auch so spezielle Fälle wie Isso Comment. Ich kann mich an keine Installation erinnern, bei der ich nicht irgendwo auf Granit gebissen bin. Heute hat es aber geklappt. Im Grunde habe ich mich an Martins Anleitung gehalten. Mit zwei Ausnahmen. Bei der Installation mit pip habe ich konservativ auf Version 2.7 gesetzt. Zudem bezieht sich die Anleitung auf das Ausführen per FastCGI. Aber auf meinem U7 gibt es (noch?) kein entsprechendes Verzeichnis. Allerdings wurde beim neuen Webspace daemontools von supervisord abgelöst. Also habe ich mir einfach folgenden Service gebastelt und Isso läuft.

[program:isso]
command = /home/nutzer/.local/bin/isso -c /home/nutzer/etc/isso/user.cfg run
autostart = true
autorestart = true

Somit ist der restliche Umzug hoffentlich nur noch eine Fleißarbeit. Was sich allerdings wohl nicht vermeiden lässt ist, dass meine Seiten wohl vorübergehend nicht erreichbar sein werden, da ich z. b. für die Domains die A/AAAA und MX Records bei Inwx ändern muss. Also wenn die Seite fryboyter.de nicht erreichbar ist, ziehe ich entweder gerade um und/oder habe Mist gebaut.

Es ist vollbracht. Der Wechsel von Uberspace V6 auf V7 hat ohne größere Probleme geklappt. Wer trotzdem noch einen Fehler findet oder Verbesserungswünsche hat, kann ich gerne melden.

Linux | OSBN