Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

Server-Notfallprogramm für unterwegs

… oder: Krisenmanagement für arme Admins. Für ganz, ganz Arme.

Am Mittwoch geht es für mich auf zum diesjährigen Summer Breeze Metal Open Air in Dinkelsbühl. Das bedeutet leider nicht nur Genuss für meine Ohren, sondern auch Stress: Der Admin in mir macht sich Gedanken, ob denn auch alle Server ohne Störungen über die Festivalzeit kommen werden. Unterwegs habe ich nur mein Smartphone mit einer wackeligen Mobilfunkverbindung. Darauf ist ein SSH-Client installiert, der mir Zugriff auf meine Server erlaubt. Und weil mir alleine der Gedanke daran schon weh tut, root-Login darauf zu ermöglichen, kann sich das Smartphone nur als normaler Benutzer zum Server verbinden. Via Publickey-Auth, versteht sich.

Nun stehe ich allerdings vor dem Problem, dass ja ein normaler Benutzer keine Dienste neu starten kann, weil ihm die Rechte dazu fehlen. Möglicherweise werde ich beispielsweise meinen XMPP-Server einmal neu starten müssen, weil die zuletzt getroffenen Maßnahmen nicht gewirkt haben und er wieder einmal keine Logins mehr zulässt. Ein „systemctl restart prosody“ ist mit diesem Account nicht möglich. Nun könnte man mit sudo arbeiten und die Ausführung des Kommandos speziell für diesen User erlauben. Meine Debian-Server kommen allerdings ohne sudo und das soll auch so bleiben. Also kein sudo für mich.

Weiterlesen ›


mod_userstats für Prosody zeigt aktuelle Nutzerzahlen

Für den XMPP-Server Prosody habe ich gestern ein kleines Modul „mod_userstats“ entwickelt, welches Zahlen zu den aktuell registrierten Nutzern und den gerade angemeldeten Nutzern zur Verfügung stellen kann. Die Nutzerzahlen können über XMPP Adhoc-Kommandos und eine HTTP JSON-Schnittstelle abgerufen werden. Vor allem über letztere kann man die aktuellen Zahlen sehr einfach auf einer Website darstellen.

Mit dem Modul ist es mir möglich, nicht nur die Zahl der registrierten Nutzer, sondern endlich auch die Zahl der eingeloggten User unter https://trashserver.net/xmpp/userstats/ anzuzeigen.

Wer auch eine solche Übersicht basteln will, kann sich das Modul auf GitHub herunterladen: https://github.com/ThomasLeister/prosody_mod_userstats. Sollte das Plugin bei mehreren Usern gut funktionieren, werde ich es in das offizielle Prosody Modul-Repository aufnehmen lassen, sodass es vielleicht eine größere Verbreitung erreichen wird. Rückmeldung dazu wäre hilfreich.


TOR Hidden Service für Zugriff auf Prosody XMPP Server einrichten

Heute bin ich via E-Mail gefragt worden, ob man meinen XMPP-Server nicht auch über einen TOR Hidden Service erreichen könne. Das sei zuverlässiger und schneller, als der übliche Zugriff via TOR und dem normalen DNS. Deshalb habe ich kurz recherchiert, wie ich das Feature anbieten kann – und so geht’s:

Tor installieren:

apt install tor

/etc/tor/torrc bearbeiten und diese Zeilen einfügen:

HiddenServiceDir /var/lib/tor/xmpp_c2s/
HiddenServicePort 5222 127.0.0.1:5222

Danach wird TOR neu gestartet:

service tor restart

In der Datei /var/lib/tor/xmpp_c2s/hostname ist der automatisch generierte .onion-Link hinterlegt, der beim Neustart automatisch generiert wurde.


Prosody: Alte http_upload -Dateien entfernen

Mit der Zeit sammeln sich in /var/lib/prosody/http_upload jede Menge hochgeladener Dateien an. Bei mir wurde mittlerweile die Gigabyte-Grenze erreicht, sodass ich mich dazu entschlossen habe, alte Uploads meiner XMPP-User zu entfernen. Uploads, die älter als 90 Tage sind, werden sicherlich nicht mehr gebraucht (da sie ohnehin schon auf die Endgeräte heruntergeladen sein sollten). Die folgende Befehlskette räumt auf:

find /var/lib/prosody/http_upload/* -maxdepth 0 -type d -mtime +90 | xargs rm -rf

Die find-Variante mit Pipe und xarg arbeitet übrigens effizienter als die Variante mit -exec am Ende.


Prosody XMPP Server unter Ubuntu Server 14.04 installieren

Prosody ist ein inzwischen weit verbreiteter, moderner und meinen Erfahrungen nach zuverlässiger XMPP-Server, der durch zahlreiche Module erweitert werden kann. Geschrieben ist Prosody in der Skriptsprache Lua. Zur Installation habe ich vor 3 Jahren schon einmal eine Anleitung geschrieben. Dieser Beitrag soll die etwas veraltete Version ersetzen.

Weiterlesen ›


Prosody Downgrade von 0.10 Nightly auf 0.9.10 Stable

Bis gestern habe ich meinen trashserver.net XMPP Server unter Prosody Version 0.10 (Nightly) laufen lassen, um einige neue Module nutzen zu können, die zu früheren Zeitpunkten nur für die Nightly-Version verfügbar waren. Alle von mir verwendeten Module gibt es mittlerweile auch für die stabile Prosody Version 0.9.10, sodass ich ein Downgrade durchführen wollte, um von der stabileren Version (und weniger Updates!) profitieren zu können. Letzte Woche hatte ich bereits einen Versuch gewagt, auf die stabile Version umzusteigen. Dabei kam es jedoch zu Problemen mit der UTF-8 Codierung der Datenbank.

Weiterlesen ›


Digitales Echo: XMPP Servercheck 2016

Das Blog „Digitales Echo“ hat soeben den aktuellen XMPP Servercheck veröffentlicht und präsentiert in einem Blogbeitrag die 15 besten XMPP-Server im deutschsprachigen Raum. „Die besten“ heißt hier: Besonders sicher und Datenschutz-freundlich. Voraussetzung für die Aufnahme in die Liste ist ein Doppel-A-Ranking auf xmpp.net – dazu kommen weitere Bewertungskriterien, die im verlinkten Beitrag erklärt sind. Auch mein trashserver.net ist in der Liste vertreten und schneidet mit einem „exzellent“ ab, was mich natürlich besonders freut. Seht euch die Liste einmal an – vielleicht wollt ihr ja zu einem anderen XMPP Server wechseln?

Beitrag auf digitalesecho.de: https://www.digitalesecho.de/xmpp-servercheck-2016/


Prosody mod_register_web mit eigenen HTML Templates

Standardmäßig ist das Prosody Modul „mod_register_web“ (ermöglichst die Registrierung von XMPP Accounts über ein Webinterface) nicht besonders hübsch. Statt der default-Templates kann man aber auch ohne Eingriff in den Modul-Sourcecode eigene HTML-Dateien zur Gestaltung verwenden. Möglich macht das die undokumentierte Konfigurationsvariable „register_web_template“, die man in der /etc/prosody/prosody.cfg.lua nur zu definieren braucht.

Malte Kiefer hat bereits ein kleines, Bootstrap-basiertes Template geschrieben und unter einer freien Lizenz veröffentlicht: https://github.com/beli3ver/Prosody-Web-Registration-Theme
Ich habe mir ein neues Verzeichnis /etc/prosody/register-templates/ erstellt und das Template von Malte dort hineinkopiert:

mkdir /etc/prosody/register-templates/
cd /etc/prosody/register-templates
git clone https://github.com/beli3ver/Prosody-Web-Registration-Theme

In der /etc/prosody/prosody.cfg.lua wird dann einfach der Pfad zum Template angegeben:

-- Register Web Template files
register_web_template = "/etc/prosody/register-templates/Prosody-Web-Registration-Theme";

… dann noch ein Prosody Neustart:

prosodyctl restart

… und das neue Webinterface zur Registrierung sollte erscheinen.

Die trashserver.net Registrierung in einer angepassten Version