Viele Deiner Daten liegen auf fremden Servern: deine Bilder bei Flickr, dein Blog irgendwo auf einem Wordpress-Server, deine Videos bei Youtube, deine Kalender und Adressen bei Google und deine Lifeline bei Facebook. Damit bestimmen diese Dienstleister, was mit deinen Daten passiert und an wen sie verkauft werden. Du kannst deine Daten auch bei dir selbst hosten und trotzdem den Freunden, der Familie oder der ganzen Welt kontrolliert zur Verfügung stellen.
Im April 2019 habe ich im Rahmen der FSFE einen Self-hosting Workshop bei Digicomp zu diesem Thema beim Schulungsanbieter Digicomp durchgeführt. Dieser Beitrag gehört mit zur Workshop Dokumentation. Darin erkläre ich, welche Voraussetzung für das Self-hosting gelten, welche Services Du selbst betreiben kannst und wie Du den eigenen Server einrichten kannst. Aufgrund der grossen Nachfrage, findet am 28. November 2019 eine zweite Ausgabe des Workshops statt.
Überblick
Die Kontrolle über Deine Daten kann in drei Varianten unterteilt werden:
- Volle Kontrolle durch Self-hosting
- Teilweise Kontrolle durch Hosting beim Provider deines Vertrauens
- Keine Kontrolle durch Hosting bei der G-Mafia: Google - Microsoft, Amazon, Facebook, IBM, Apple
Wenn Dir deine Daten etwas wert sind und Du die Kontrolle behalten möchtest, scheidet Variante 3 aus. Diese Firmen bieten meist kostenlose Dienstleistungen an, für die Du mit dem Verkauf deiner Daten für Werbezwecke zahlst, ohne einen Cent dafür zu erhalten. Variante 2 ist etwas besser; Du entscheidest dich für einen Hoster deines Vertrauens. In der Regel ist das ein reiner Hosting-Anbieter, dessen Geschäftsmodell nicht der Verkauf deiner Daten ist. Dafür zahlst Du eine Monats- oder Jahresgebühr. Diese Variante lässt sich unterteilen in 'Managed Services' oder 'Root Server'. Im ersten Fall werden Dir vorinstallierte Dienste (Wordpress, Nextcloud, usw.) angeboten, im zweiten Fall erhälst Du einen Server, auf dem Du installieren kannst, was immer Du brauchst.
Variante 1, ist hinsichtlich der Kontrolle und deiner Freiheiten die beste Lösung; weshalb ich hier nur diese Variante beschrieben.
Voraussetzungen
Auch bei den Voraussetzungen für das Self-hosting gilt es drei Bereiche zu unterscheiden:
- Hardware
- Internet Verbindung
- Software
Um die Daten mit deinen eigenen Diensten zu betreiben, wird Hardware in Form eines Modems, eines Routers und eines Servers benötigt. Ich gehe davon aus, dass Modem und Router in deinem Heimnetzwerk bereits vorhanden sind; deshalb gehe ich darauf nicht näher ein. Die self-hosted Services müssen auf einem Gerät im Heimnetzwerk betrieben werden; dieser Server muss permanent in Betrieb sein, damit die Dienste jederzeit erreichbar sind, und zwar innerhalb deines Netzwerks und von aussen über das Internet. Für diesen Server bieten sich viele Geräte an: wer es klein und preiswert mag, kann einen Raspberry Pi 3 mit angeschlossenem USB-Massenspeicher verwenden. Eine weitere Option ist ein alter Computer (Desktop oder Notebook). Wer Wert auf hohe Leistung legt, kann auch einen dedizierten Server anschaffen. Für den Anfang und um Kosten zu sparen, empfehle ich einen vorhandenen Computer oder eine Virtuelle Maschine zu verwenden.
Damit die selbst betriebenen Dienste auch von aussen über das Internet zu erreichen sind, braucht man eine Internetverbindung mit ausreichender Up/Download-Leistung. Da die Download-Kapazität in der Regel weit höher ist als die Upload-Bandbreite, betrachte ich nur letztere. 10 Mbit/s beim Upload sollten es schon sein. Wer das testen möchte, kann die Werte mittels eines Speedtests ermitteln. Ausserdem ist es ratsam, den Server per Kabel anstatt via WLAN mit dem Router zu verbinden. Damit die Dienste über das Internet erreichbar sind, wird eine kostenpflichtige fixe IP-Adresse benötigt. Als Heimanwender hat man in der Regel nur eine dynamische Adresse, die sich jederzeit ändern kann. Wie man dieses Problem ohne Geld auszugeben umgehen kann, sehen wir später.
Installation
Bei der Software gilt dasselbe wie beim Providerhosting. Entweder installiert man alles selbst - was ich definitiv nicht empfehle - oder verwendet stattdessen eine Lösung, die speziell für das Self-hosting entwickelt wurde. Da bietet sich die Linux-Distribution YunoHost an. YunoHost ist ein freies Software Projekt das es sich zum Ziel gesetzt hat, das Selbstbetreiben von Services so einfach wie möglich zu machen. Das Projekt bietet einen YunoHost Demoserver zum Testen an, bevor man sich für das Installieren in einer Virtuellen Maschine oder auf eigener Hardware entscheidet. Dafür gibt es bei YunoHost eine Installationsanleitung, die in vier Schritten den Ablauf erklärt:
- ISO Image runterladen
- ISO Image auf USB-Stick brennen
- Booten und installieren
- Einstellungen nach der Installation
Um das Problem der fixen IP zu umgehen, bietet Yunohost im Verlauf von Schritt 4 ein Dynamisches DNS an. Während der Nachinstallation wird man nach einem Wunschnamen für das DynDNS gefragt. Dort gibt man z.B. 'MeinWunschName.nohost.me' ein. Über diese Adresse ist die eigene YunoHost-Instanz anschliessend über das Internet (auch im LAN) erreichbar. Ebensfalls während der Nachinstallation wird man darauf hingewiesen, beim eigenen Router nötige Port-Weiterleitungen einzurichten. Das sieht dann z.B. so aus:
Die Ports 80 und 443 müssen auf die IP-Adresse des eigenen YunoHost-Servers umgeleitet werden
Verwenden
Nach erfolgreicher Installation bietet YunoHost ein Backend zum Einrichten der Benutzer und Dienste, sowie ein Frontend über das die installierten Dienste aufgerufen werden können:
YunoHost Backend |
YunoHost Frontend |
Nextcloud von YunoHost gestartet |
Das Backend ist selbsterklärend; hier richtet man Benutzerkonten ein, beschafft sich ein Let's Encrypt-Zertifikat und entscheidet, welche Services im Frontend angeboten werden. Über eine Schaltfläche im Backend wird die Benutzeroberfläche, also das Frontend, aufgerufen. Dort erscheinen in einer Matrix-Darstellung alle installierten Dienste, die man mit einem Klick starten kann.
Fazit
Einfacher geht es wirklich nicht. Wer die Kontrolle über seine Daten und Dienste selbst behalten möchte, ist mit YunoHost als pfannenfertiger Self-hosting Distro bestens bedient. Dort werden einem alle Schmerzen abgenommen und man kann sich voll auf die eigentlichen Dienste konzentrieren. Die Installation aller Komponenten (Webserver, Datenbanken, usw.), sowie das Updaten der Dienste auf die neusten Versionen übernimmt YunoHost.
Allen, die jetzt Feuer gefangen haben, empfehle ich die passende Episode aus unserem Podcast LibreZoom - Letzte Grüsse aus Davos anzuhören. Ausserdem gibt es bei unserem Mutter-Podcast NerdZoom ein sehr interessantes Interview mit dem NextCloud-Gründer Frank Karlitschek.
Material
Im Rahmen des Self-hosting Workshops der FSFE-Zürich sind einige Dokumente entstanden, die ich euch gerne zur Verfügung stelle. Hier ist der Link dazu: