• 2 Posts
  • 4 Comments
Joined 22 hours ago
cake
Cake day: April 4th, 2025

help-circle



  • Und ach ja, wenn du eine öffentlich erreichbare IP (auch ungenau statische IP genannt) von deinen Internetprovider bekommst, musst du nur einen Namen für den Server bei einem DynDNS Provider registrieren und die aktuelle IP dort mit einem script / Systemdienst updaten. Die Fritzbox muss dann den Gemini-Port - und nur den - auf den Raspberry Pi forwarden.

    Für einen optionalen Login von aussen per SSH brauchst du sehr starke Passwörter, sonst würde dein Server schnell gehackt.



  • Ich habe einen Alternativvorschlag. Nämlich, die Sache zu vereinfachen, indem man statt einem HTTP Server das viel einfachere (und sicherere) Gemini-Protokoll benutzt. Was das ist erkläre ich gleich.

    Warum? Einen Webserver wie Apache oder Nginx aufzusetzen und zu pflegen ist relativ komplex. Das macht Arbeit, und da man den laufend updaten muss, ist das auch immer wieder Arbeit. (Es gibt auch einfachere Server wie diesen aber einfach ist da echt relativ…)

    Dazu muss man die Webseiten, wenn man einfache statische Webseiten verwendet, als HTML generieren. Dazu gibt es Blog-Generatoren, so etwas wird viel benutzt und ist sicher möglich. Aber es ist halt komplex.

    Ausserdem kosten extern gehostete Server Geld, und wenn man sie zu Hause hostet, kosten sie zumindest Strom. Für ein Gerät, das dauernd läuft, kommen da schon ein paar Euro zusammen.

    Eine erheblich einfachere Alternative ist wie folgt:

    • Statt HTTP benutzt man das Gemini-Protokoll, wie hier beschrieben. Hier ist die Homepage im Gemini-Netz. Wie man sieht, kann man Gemini-Seiten ganz einfach über einen HTTP-Gateway wie oben aufrufen. Oder eben mit einem extra Client wie z.B. deedum (Android) oder Amfora (Linux). Wenn man mal probieren will, wie sich das liest - die Gemini-Homepage der taz Berlin ist gemini://taz.de . Es ist im Vergleich zum modernen Web frugal, aber sehr lesefreundlich!

    Festhalten muss man, dass dieses Gemini nichts mit anderen Dingen der Internetkonzerne zu tun hat, die auch Gemini heißen, also weder mit Googles “KI” noch mit einem Chatbot. Es ist benannt nach dem Vorläufer des Apollo-Programms der NASA, und technisch gesehen ein Nachfolger von Gopher und eine Vereinfachung des auf HTML basierenden originalen World Wide Web.

    Konkret geht das wie folgt:

    • Man richtet einen Raspberry Pi mit Debian ein
    • Den hängt man z.B. an die Fritzbox. Die Stromversorgung geht dann über den USB Anschluss der FritzBox, das kostet nur so 1 Watt.
    • Damit der Server-Port von außen erreichbar ist, muss man beim ISP typischweise ine feste IPv4 IP schalten (kostet 5 Euro im Monat).
    • auf der Fritzbox / dem eigenen Interenetrouter richtet man eine Portweiterleitung ein.

    Soweit ist das jetzt nicht unterschiedlich von einem kleinem HTTP Server. Der entscheidende Punkt ist nun:

    • Statt einem HTTP Server richtet man einen robusten Server für das Gemini-Protokoll ein. Das ist ein stark vereinfachtes Hypertext-Protokoll, das statt HTML eine sehr einfache Syntax hat und auf simple Webseiten mit Text, Bildern und Medien optimiert ist.

    Hier ist die Wiki-Seite zum Gemini-Protokoll.

    Ein einfacher Webserver, der in Rust geschrieben ist, ist Agate. Hier ist die Github-Seite, und hier ist die Gemini-Homepage davon.

    Den Server kann man aus Rust auf dem Raspberry compilieren, wenn man Rust mit rustup installiert. Er ist nicht so komplex, daher ist es nicht nötig, den auf einem anderen Computer zu bauen.

    Da das Gemini-Protokoll nahezu keine bewegliche Teile hat und nur statische Seiten ausliefert, wird man da, wenn der Server auch noch in Rust geschrieben ist, nur selten Patches brauchen. Das wiederum spart einen Haufen Zeit. Zu konfigurieren gibt es auch nicht viel. Die gesparte Zeit kann man nutzen, um seine Seite zu schreiben. Gemini ist für alles Mögliche geeignet, als eine Art persönliches Wiki, als Microblog, als Blog mit Bildern und Medien, für vernetzten Hypertext oder Dokumentationen oder was auch immer. Dabei ist es sehr text-zentriert - es ist also ein Medium für Leute, die schreiben und lesen.

    Dann muss man noch seine eigenen Seiten statt mit HTML im Gemini-Format erstellen. Das ist super easy! Man benutzt ein Markup-Format ähnlich wie das Wikipedia-Markup oder Markdown (das was hier bei lemmy genutzt wird). Hier ist eine ebenso vollständige wie kurze Beschreibung des Formats.

    Erstellen und bearbeiten kann man die Webseiten mit einem Texteditor, wie z.B. Emacs oder vim. Die kann man dann per scp, Krusader oder WinSCP auf den Server kopieren oder mit einem Editor wie Emacs auch direkt auf dem Server bearbeiten.