ubuntuusers.de

1. September 2020

Mozilla hat mit Firefox 80.0.1 für Windows, Apple macOS und Linux ein Fehlerbehebungs-Update veröffentlicht.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Mozilla hat Firefox 80.0.1 veröffentlicht und behebt damit mehrere Probleme der Versionsreihe 80, darunter ein Performance-Problem in Zusammenhang mit neuen Zwischenzertifikaten.

Außerdem wurde ein Problem mit der WebExtension-API für Downloads behoben, welches dafür sorgte, dass Cookies in Download-Anfragen fehlten, weswegen bestimmte Downloads fehlschlagen konnten.

Behoben wurde auch ein potentieller Darstellungsfehler auf Seiten, welche WebGL nutzen, sowie eine mögliche Absturzursache in Zusammenhang mit GPU-Resets.

Schließlich wurde noch ein Problem mit dem Zoom via Tastatur für Nutzer mit einem japanischen Tastaturlayout behoben.

Der Beitrag Mozilla veröffentlicht Firefox 80.0.1 erschien zuerst auf soeren-hentzschel.at.

Wer unter Linux den Logical Volume Manager, kurz LVM nutzt, gewinnt an Flexibilität was die Nutzung von Festplatten und die entsprechende Aufteilung von Partionen und Ähnlichem angeht. So kann zum Beispiel eine Partion einfach auf eine zweite Festplatte erweitert werden. Dazu muss im ersten Schritt ein neues Physical Volume erstellt werden:

pvcreate /dev/sdb

Tritt dabei eine Fehlermeldung auf:

WARNING: Device for PV KT64tM-fAuf-zWoj-WuGQ-c5na-Z4x1-5NNwHq not found or rejected by a filter.
Can’t initialize physical volume “/dev/sdb” of volume group “vgubuntu” without -ff
/dev/sdb: physical volume not initialized.

muss die entsprechende Festplatte vorher mittels des wipefs-Kommandos bereinigt werden:

wipefs -a /dev/sdb

Anschließend kann das Physical Volume erstellt werden. Im nächsten Schritt muss die entsprechende Volume Group um das neue Physical Volume erweitert werden:

vgextend elementary-vg /dev/sdb

Ist die Volume Group nicht bekannt, so können die vorhandenen Volume Groups über das Kommando:

vgs

eingesehen werden. Nachdem dies geschehen ist, solle der Speicherplatz der entsprechenden Partion zugewiesen und das Dateisystem erweitert werden:

lvm lvextend -l +100%FREE /dev/elementary-vg/root
resize2fs -p /dev/mapper/elementary--vg-root

Damit wurde die zweite Festplatte erfolgreich eingebunden und das Dateisystem entsprechend erweitert.

30. August 2020

Vergangene Woche äußerte Sarah Novotny Kritik an den Arbeitswerkzeugen des Linux Kernels. Die Kommunikation über die Kernel Mailingliste und die seit Jahrzehnten etablierten Arbeitsmethoden seien aus der Zeit gefallen und eine unverhältnismäßige Einstiegshürde für Neueinsteiger. Damit legt Novotny den Finger in eine offene Wunde.

Projekte im Linux-Umfeld - vor allem solche mit einer Fokussierung auf den Desktop - drohen massiv zu überaltern. Am Beispiel des Kernels wird dies nun wenigstens in Teilen offen diskutiert. Teile der zentralen Subsystem-Maintainer gehören zur "ersten Garde" und arbeiten seit Jahrzehnten mit. Die Zahl an jüngeren Entwicklern nimmt seit Jahren ab. Nun gibt es für die großen Open Source Projekte keine exakten Zahlen, aber keines der Projekte im Linux Desktop Umfeld kann sich gerade mit vielen Neuzugängen brüsten. Verfolgt man die einschlägigen Planeten und Mailinglisten liest man immer wieder die gleichen Namen.

Ob hierfür nun die Kommunikationslösungen verantwortlich sind, ob der Umgangston unerträglich ist oder es vielleicht an etwas ganz anderem liegt kann natürlich niemand mit Sicherheit sagen. Mir persönlich kamen Mailinglisten schon 2007 antiquiert vor und auch Projekte wie KDE haben hier kürzlich Modernisierungsversuche unternommen. Die Krisensymptome nehmen insgesamt aber deutlich zu. Man erinnere an den Rücktritt von Michael Stapelberg wegen der veralteten Werkzeuge in Debian oder auch die Debian Projektleiterwahl 2019, bei der ein Kandidat mit einer Modernisierungsagenda antrat und scheiterte.

Die Beteiligung erfahrener Entwickler ist nun wirklich nichts schlechtes aber ihr Übergewicht kann zu einer gewissen Bräsigkeit führen und letztlich zu einem Anschlussverlust an größere Entwicklungen. Zuletzt hat sich hierdurch die FSF und das GNU-Projekt fast unmöglich gemacht. Liest man sich die Kommentare unter dem eingangs verlinkten Heise Artikel durch kann man diese Grundeinstellung sehr anschaulich nachvollziehen. Es dominieren Verachtung für aktuelle Entwicklungen und jüngere Menschen und deren Ansichten. Zwar sind die Mehrheit der Kommentatoren dort keine Entwickler aber meiner Erfahrung nach laufen Diskussion auf den Mailinglisten oft in einem ähnlichen Duktus ab.

Die Community sollte so etwas ernst nehmen. Linux war lange Zeit eine stete Aufwärtsgeschichte. Es stand für eine vollkommen andere Art der Softwareentwicklung und -nutzung, als dies die proprietären Hersteller vorgaben. Die Ideen und Idealer freier Software boten Anknüpfungspunkte für weiterführende Ideen zu freiem Wissen und einer Abkehr von einem allzu einschränkendem Urheberrecht. Diese Ideen sind heute aktueller denn je, aber ausgerechnet die Linux Community hat in Teilen den Anschluss an technische Trends verloren. Thematisiert man diese Probleme, kommen immer jene, die auf die Bedeutung des Linux Kernels für IoT, Server und Android verweisen. Das ist aber bestenfalls ein Rumpflinux, ohne Community, ohne Partizipation und letztlich eine Sackgasse. Linux wäre in diesem Sinne nur noch ein Produkt für die Hersteller proprietärer Geräte.


Bilder:
Einleitungs- und Beitragsbild von tuku via pixabay

"

Die MZLA Technologies Corporation hat mit Thunderbird 78.2.1 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Mit der neuen Version wird die Verschlüsselung von E-Mails via OpenPGP unterstützt.

Thunderbird 78.2.1 steht ab sofort zum Download bereit. Ein automatisches Update von Thunderbird 68 und älter steht weiterhin nicht zur Verfügung, dieses wird erst in den kommenden Wochen verteilt werden. Nutzer von Thunderbird 78.x erhalten die neue Version jedoch bereits als Update.

Thunderbird unterstützt OpenPGP

Mit dem Update hat das Team der MZLA Technologies Corporation noch einmal letzten Feinschliff an der OpenPGP-Unterstützung betrieben und diese nun standardmäßig aktiviert. Die Verwendung einer Erweiterung wie Enigmail ist daher nicht länger notwendig, um seine E-Mails zwischen Empfängern Ende-zu-Ende zu verschlüsseln.

Für Nutzer von Enigmail werden alle Einstellungen automatisch migriert, wenn das Update erfolgt.

OpenPGP in Thunderbird 78

Der Beitrag Thunderbird 78.2.1 mit OpenPGP-Unterstützung veröffentlicht erschien zuerst auf soeren-hentzschel.at.

27. August 2020

Der LaTeX-Editor TeXstudio ist in Version 3.0 erschienen. Der Major-Release widmet sich vor allem der Entfernung von der Qt 4-Unterstützung.

LaTeX ist sicherlich vielen Lesern ein Begriff. Trotzdem kurz das Wichtigste hierzu: anders als bei heute verbreiteten Textverarbeitungsprogrammen wirft man bei LaTeX eine Quellcodedatei, ähnlich wie bei einer Programmiersprache, in einen Compiler bzw. Interpreter und dieser wirft ein Ergebnis aus. Üblicherweise erfolgt die Ausgabe in PDF oder DVI, also einem Format, in dem Dokumente unabhängig vom System gleich aussehen und z. B. auch gedruckt werden können. Den Zusammenhang zwischen LaTeX, TeX und den dazugehörigen Distributionen lasse ich der Einfachheit halber mal unter den Tisch fallen.

Was wir uns verinnerlichen müssen: Der geschriebene Text mitsamt seiner Formatierung ist stets getrennt von seiner Ausgabe, ich kann also nicht beim Schreiben sehen, wie das Endergebnis aussieht und auf welcher Seite ich gerade schreibe. Dafür bieten die „Makros“ die Möglichkeiten einer Programmiersprache. Große Dokumente mit mehreren hundert bis tausend Seiten können schnell bearbeitet und verwaltet werden.

Ähnlich wie in der Softwareentwicklung gibt es Editoren für LaTeX, die einen Quellcodeeditor, verschiedene Hilfswerkzeuge und die Ausgabe komfortabel miteinander vereinen sollen. TeXstudio ist einer dieser Editoren und vorgestern in Version 3.0 erschienen.

Ein kurzer Blick ins Changelog offenbart überraschend wenige Änderungen, wobei eine davon diesen ersten Major-Release nach knapp 10 Jahren ausmacht.

So wird die Unterstützung für Qt 4 eingestellt. Dies sollte allerdings für die meisten wenig verwunderlich sein, da seit 2012 Qt 5 verfügbar ist und viele Anwendungen, KDE eingeschlossen, bereits vor einigen Jahren umgestellt haben.

Zu den weiteren Änderungen gehören Verbesserungen in der Geschwindigkeit beim Parsing, der Rechtschreibprüfung, welche nun asynchron arbeitet, sowie in der Darstellung beim Dark-Mode. Eine weitere Änderung an der Syntaxhervorhebung der Math-Umgebung ist eher technischer Natur.

Einschätzung

Ich arbeite seit einigen Jahren mit TeXstudio und schätze das Programm sehr. Das Update habe ich bereits eingespielt und konnte, wie aus dem Changelog bereits ersichtlich wird, keine einschneidenden Änderungen beobachten, muss also auch nichts am Workflow anpassen. Die Änderung der Versionsnummer lässt zwar erst Anderes vermuten, begründet sich aber gemäß der semantischen Versionierung im Entfall der Qt 4-Unterstützung, die allerdings schon in den letzten Versionen nicht mehr maßgeblich war.

Vor ein paar Tagen habe ich auf einem Laptop von Dell eine aktuelle Version von Ubuntu installiert. Das funktionierte so weit auch ohne größere Probleme, allerdings trat der Effekt auf, dass das Bild gedreht wurde, je nachdem wie der Laptop gehalten wurde.

Über das Menü kann die automatische Bildschirmrotation deaktiviert werden

Abschalten ließ sich dieses Verhalten über das Menü in der Kopfleiste. Dort findet sich der Punkt Lock Screen Rotation. Wird diese Option aktiviert, ist die Rotation fixiert und ändert sich nicht mehr bei Drehung des Gerätes.

26. August 2020

Die MZLA Technologies Corporation hat mit Thunderbird 78.2 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht.

Thunderbird 78.2 steht ab sofort zum Download bereit. Ein automatisches Update von Thunderbird 68 und älter steht weiterhin nicht zur Verfügung, dieses wird erst in den kommenden Wochen verteilt werden. Nutzer von Thunderbird 78.x erhalten die neue Version jedoch bereits als Update.

OpenPGP-Unterstützung in Kürze

Ursprünglich war geplant, die Unterstützung der Ende-zu-Ende-Verschlüsselung für E-Mails via OpenPGP mit Thunderbird 78.2 standardmäßig zu aktivieren. Da das Team der MZLA Technologies Corporation aber noch etwas mehr Zeit zum Testen und für den letzten Feinschliff benötigt, wurde diese Neuerung auf Thunderbird 78.2.1 verschoben.

Die Neuerungen von Thunderbird 78.2

Thunderbird 78.2 ist randvoll gefüllt mit Fehlerkorrekturen und Verbesserungen unter der Haube, welche sich im Detail in den Release Notes (engl.) nachlesen lassen.

Der Beitrag Thunderbird 78.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Nach einer Aktualisierung des Linux-Kernels muss der entsprechende Rechner in vielen Fällen neugestartet werden, damit die Änderung wirksam wird. Mithilfe von Livepatching können solche Änderungen des Kernels zur Laufzeit vorgenommen werden.

ubuntu.com/livepatch

Für Ubuntu-Installationen wird hierzu ein Ubuntu-One-Konto benötigt. Für den persönlichen Gebrauch können bis zu drei Systeme mit der Livepatching-Funktionalität versehen werden. Dazu muss ein entsprechendes Token unter ubuntu.com/livepatch bezogen werden. Anschließend kann die Livepatching-Funktionalität über Snap installiert und aktiviert werden:

snap install canonical-livepatch
canonical-livepatch enable abcdefghijklmnopqrstuvwxyz123456

Successfully enabled device. Using machine-token: abcdefghijklmnopqrstuvwxyz123456

Damit ist das Livepatching auf dem System aktiviert. Über den Befehl:

canonical-livepatch status

kann der aktuelle Status des Livepatching eingesehen werden:

last check: 43 minutes ago
kernel: 4.15.0-101.102-generic
server check-in: succeeded
patch state: ✓ all applicable livepatch modules inserted
patch version: 70.1

Standardmäßig wird alle sechzig Minuten überprüft, ob neue Patches vorliegen. Über den Befehl:

canonical-livepatch help

werden die weiteren Möglichkeiten des canonical-livepatch-Kommandos erklärt und auf die entsprechende Konfiguration der Livepatching-Funktionalität eingegangen.

25. August 2020

Mozilla hat Firefox 80 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Verbesserter Nur-HTTPS-Modus

Der in Firefox 76 neu eingeführte optionale Nur-HTTPS-Modus hat mit browser.preferences.exposeHTTPSOnly eine weitere Option in about:config erhalten, worüber eine sichtbare Einstellung dafür in den Sicherheits-Einstellungen von Firefox aktiviert werden kann. Darüber ist es nicht nur möglich, den HTTPS-only-Modus dauerhaft zu aktivieren, sondern auch, diesen nur für private Fenster zu aktivieren. Außerdem ist es jetzt möglich, temporäre oder auch dauerhafte Ausnahmen für Seiten festzulegen, bei denen der Modus nicht funktioniert.

Firefox 80

Firefox 80

Das Master-Passwort heißt jetzt Hauptpasswort

Mit dem sogenannten Master-Passwort können die in Firefox gespeicherten Zugangsdaten zusätzlich geschützt werden. Da es sich dabei im Wortursprung um eine problematische Wortwahl handelt, heißt dieses ab Firefox 80 Hauptpasswort. In Firefox 80 erscheinen noch sowohl die alte als auch die neue Bezeichnung, ab Firefox 81 wird es dann nur noch Hauptpasswort heißen.

Firefox 80

Verbesserungen der Entwicklerwerkzeuge

Netzwerkanalyse kennzeichnet langsame Anfragen

Das Netzwerkanalyse-Werkzeug hilft dabei, langsame Anfragen zu identifizieren, indem Anfragen mit einer Server-Wartezeit von über 500 ms mit einer Schildkröten-Grafik markiert werden.

Sonstige Verbesserungen der Entwicklerwerkzeuge

Ressourcen von bestimmten URLs können zusätzlich zum Netzwerkanalyse-Werkzeuge jetzt auch über die Konsole blockiert werden. Dies funktioniert über die Eingabe von :block <url> respektive :unblock <url>.

Wird im Inspektor über das Regel-Panel eine Klasse hinzugefügt, findet hier nun eine Autovervollständigung, basierend auf den bereits im DOM vorhandenen Klassen, statt.

Verbesserungen der Webplattform

AppCache-Unterstützung wird entfernt

Der sogenannte Application Cache-Standard, kurz: AppCache, gilt bereits seit Firefox 44 als deprecated und wird von Nightly- sowie frühen Beta-Versionen von Firefox seit Version 71 nicht mehr unterstützt. Webentwickler sollten stattdessen Service Workers verwenden.

Mit Firefox 80 wird die Unterstützung auch aus der finalen Version von Firefox entfernt. Diese Änderung wird schrittweise im Laufe der kommenden Wochen ausgerollt.

Sonstige Verbesserungen der Webplattform

Firefox unterstützt den neuen prefers-contrast CSS Media Query. Die CSS-Eigenschaft appearance wird jetzt auch ohne -moz-Präfix unterstützt.

Die Unterstützung von RTX und transport.cc sorgt für eine verbesserte Qualität bei schlechter Netzwerkverbindung in WebRTC-Echtzeit-Kommunikation sowie für eine bessere Kompatibilität mit vielen Websites, welche WebRTC nutzen.

Schrittweise in den kommenden Wochen wird Mozilla die Unterstützung für rel=preload ausrollen.

Ausführliche Informationen zu Verbesserungen der Webplattform in Firefox 80 finden sich in den MDN web docs.

Sonstige Neuerungen in Firefox 80

Mozilla hat den Startbildschirm für neue Nutzer (about:welcome) erneuert. Dieser besteht nun aus drei Bildschirmen und bietet nebem dem Import von Daten aus einem anderen Browser auch direkt die Auswahl eines der vorinstallierten Themes an.

Firefox 80

Firefox 80

Firefox 80

Bearbeitet der Nutzer ein Passwort auf einer Seite, für welche er mehrere Logins gespeichert hat, kann der Nutzer nun auswählen, welches Passwort aktualisiert werden soll.

Beim Blättern durch offene Tabs via Strg + Tabulator werden jetzt sieben statt sechs Tabs angezeigt.

Für Nutzer, welche auf Betriebssystem-Ebene die Option für reduzierte Animationen aktiviert haben, werden nun noch weniger Animationen angezeigt. Dies betrifft unter anderem die Lade-Anzeige in den Tabs. Damit soll Nutzern mit Migräne und Epilepsie entgegen gekommen werden.

Auch wurde in Firefox 80 WebRender wieder für weitere Nutzer ausgerollt. Genauer gesagt wurde die minimal erforderliche Treiber-Version für Intel-GPUs erneut gesenkt.

Firefox 80 bringt eine ganze Reihe von Verbesserungen der Barrierefreiheit, darunter eine erste Unterstützung für VoiceOver, der Screenreader-Software von Apple macOS, sowie Stabilitäts-Verbesserungen für den JAWS Screenreader. Auch die Entwicklerwerkzeuge haben signifikante Verbesserungen der Barrierefreiheit erhalten, womit nun manches Werkzeug benutzbar wird, welches für Nutzer von Screenreadern zuvor gänzlich unzugänglich war. Darüber hinaus werden jetzt auch title- und desc-Elemente in SVG-Grafiken korrekt an unterstützende Software übermittelt.

Fehlt im Firefox-Profil die Datei logins.json oder ist beschädigt, versucht Firefox nun zunächst, gespeicherte Zugangsdaten aus einer möglicherweise vorhandenen Datei logins-backup.json zu lesen.

Eine neu implementierte Blockierliste für Add-ons bringt eine verbesserte Performance und Skalierbarkeit gegenüber der alten Implementierung.

An der WebExtension-Front ist es dieses Mal etwas ruhiger. Hier gab es kleinere Verbesserungen der downloads-API.

Natürlich kam auch in Firefox 80 die Unterstützung weiterer Unternehmensrichtlinien dazu.

Geschlossene Sicherheitslücken

Wie immer hat Mozilla auch in Firefox 80 wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 80 daher für alle Nutzer dringend empfohlen.

Der Beitrag Mozilla veröffentlicht Firefox 80 – die Neuerungen erschien zuerst auf soeren-hentzschel.at.

Datenschutz, Datensicherheit und Privacy ist ein Themensprektrum, um das sich seit vielen Jahren zahlreiche Experten versammelt haben. Es gibt zahllose Podcasts, Blogs und Kolumnen. Da durchzublicken ist schwer aber nahezu alle lassen sich in drei Oberkategorien eingruppieren.

Das Informationsangebot zu dem Themenspektrum Datenschutz, Datensicherheit und Privacy ist riesig und wächst immer noch. Es gibt bestimmt ein Dutzend gut produzierter Podcasts, zahllose Blogs mit mehr oder weniger hoher Betragsfrequenz. Wie soll man sich in dieser Kakophonie der Meinungen orientieren und die brauchbaren Informationen filtern?

Hilfreich kann es sein die Informationsquelle einer von drei Oberkategorien zuzuordnen:

  1. Juristischer Ansatz
  2. Pädagogische Motivation
  3. Aktivistische Autoren

Im folgenden möchte ich das an drei Beispielen exemplifizieren, wobei die Auswahl ziemlich zufällig ist und ich den jeweiligen Autor bzw. Blog nicht herausheben möchte. Für jede Kategorie gibt es dutzende weitere Beispiele.

1. Juristischer Ansatz

In meinen Wochenrückblicken beziehe ich regelmäßig die Informationen von Dr. Datenschutz mit ein. Die dortigen Informationen sind fundiert und ausgewogen, dienen aber letztlich der Dienstleistungswerbung für die hinter dem Angebot stehende intersoft consulting services AG. Aufgrund der Transparenz dieser Verbindung ist dies unproblematisch.

Die Artikel haben oft einen juristischen Ansatz (da Datenschutz im Grunde ja auch ein rechtliches Thema ist). Bei der Beurteilung von Cookie Bannern konzentriert man sich folglich auf die rechtliche Bewertung der zulässigen Maßnahmen und nicht ob Datenerhebung gut oder schlecht ist. Am Beispiel der Corona-Gästelisten übt man zwar auch Kritik, verweist aber auf die mutmaßliche rechtliche Zulässigkeit der Maßnahmen.

Der juristische Ansatz lässt sich oft auf die Aussage "Datenschutz bedeutet DSGVO-konform" reduzieren.

2. Pädagogische Motivation

Im Podcast der Datenwache gibt Mitch Symalla in mittlerweile 54 Folgen sinnvolle Tipps für mehr Sicherheit und Datenschutz im Alltag als Endverbraucher. Die Folgen sind nahezu zeitlos und wenn man mit den ersten Folgen einsteigt sieht man sehr deutlich den Ansatz. Mitch holt die Menschen genau da ab wo sie sind: Mit unsicheren Geräten und als Nutzer zahlloser problematischer Dienste. Im Grunde genommen braucht man für den Einstieg noch nichts gemacht haben außer ein bisschen Interesse für Privatsphäre zu haben.

Ohne erhobenen Zeigefinder betont er in den Folgen was gute erste Schritte sind und bei welchen Aspekten man noch weiter gehen könnte. Gerne mit der etwas lapidaren Aussage "musst du halt selbst entscheiden". Durch dieses "pädagogischen Ansatz" stellt er sich auf keinen Sockel und überfährt die Hörer nicht. Denn wenn man jemandem stattdessen ins Gesicht rufen würde "Du hast keine Ahnung" und "Alles was du machst ist doof und muss geändert werden" schmeißt dieser vermutlich eher alles hin, als auch nur einen sinnvollen Schritt zu gehen.

3. Aktivistische Autoren

Jegliche Datensammlung ist gefährlich und ohne Open Source kann kein Vertrauen möchte sein. Mit dieser Grundhaltung kann man viele Artikel von Mike Kuketz umschreiben. Damit steht er beispielhaft für eine Reihe aktivistischer Autoren, die zumindest unterschwellig einen grundlegenden Wechsel im gesellschaftliche Umgang mit IT und Daten anstreben und durch ihre Artikel einen Beitrag dazu leisten wollten. Das ist nicht falsch und Kuketz ist ein versierter Experte des Gebiets. Seine Analysen haben es schon mehrfach in die Mainstream-Preisse geschafft und sind immer wieder lohnenswert zu lesen. 

Die Beiträge haben allerdings oft einen appellierenden Charakter und stellen Praxistauglichkeit im Zweifel hinten an. So z. B. beim Aufruf alle großen IT-Konzerne aus Bildungseinrichtungen zu verbannen. Alles proprietäre wird zudem gerne mal in einen Topf geworfen. So berechtigt seine Kritik an Online Bezahlmethoden beispielsweise ist. Zwischen den Datenschutzniveaus von Angeboten wie Sofortüberweisung, PayPal und Apple Pay gibt es eigentlich durchaus Unterschiede. Das wird nur vollkommen unbeachtet beiseite gewischt und stattdessen Vorkasse, Lastschrift, Rechnung, SEPA oder paydirect empfohlen. Diese sind zwar hinsichtlich des Datenschutzes spitze, nur werden sie selten angeboten. Schon gar nicht ohne Auskunfteienabfrage bei z. B. Rechnungs-Kauf. Dieser Einwand würde wohl begegnet werden mit: AGB's lesen und notfalls aus Alternativen ausweichen.

Sachlich und fachlich richtig aber hier hat man dann meistens alle Verbraucher jenseits eines Kerns aus Überzeugungstätern verloren. Um solche Informationsangebote schart sich dann meist eher eine Peergroup von "100%tigen", die weniger auf die Informationen angewiesen sind, als sie dort Selbstbestätigung finden. Man sollte die Informationen daher eher zur Kenntnis nehmen, als sie zur alleinigen Richtschnur des eigenen Handelns zu machen.

Zusammengefasst

Man sollte möglichst versuchen eine bis dato unbekannte (aber natürlich seriös und falsch korrekt wirkende) Informationsquelle in eine der drei Kategorien einordnen. Meistens weiß man dann schon woran man ist und wie man mit den Informationen umgehen muss. Ich persönlich finde den pädagogischen Ansatz sehr sympathisch und glaube, dass hierdurch am meisten für das gesamtgesellschaftliche Privacy-Bewusstsein getan werden kann. Insbesondere Aktivisten begegne ich mich Skepsis, da diese immer Gefahr laufen in ideologischen Dogmatismus zu verfallen und Schwarz/Weiß Zeichnung zu betreiben. Der juristische Ansatz sollte dabei nie außer Acht gelassen werden, denn nicht jeder moralisch fragwürdige Umgang mit Daten ist gleich illegal. Eine Wahrheit, die bei der Beschäftigung mit dem Themenkomplex gerne mal auf der Strecke bleibt.


Bilder:
Einleitungs- und Beitragsbild von Gerd Altmann via pixabay

"

24. August 2020

Die APNIC zeigt, dass der Chromium-Browser mit einer unscheinbaren DNS-Probing-Technik mutmaßlich 51 % der DNS-Anfragen ausmacht. Ein Aufruf zum sorgsamen Umgang mit Ressourcen.

Wie schon öfter in meinem Blog praktiziert, beginnen wir das heutige Thema mit einem kleinen Exkurs: in der IT herrscht an vielen Stellen, zumindest früher, der Grundsatz, dass mit Ressourcen behutsam umgegangen wird. Ein gutes Beispiel dafür ist das Unix-Programm nice. Mit dem Programm ist es möglich, die niceness eines Prozesses festzulegen. Je höher der Wert eingestellt wird, desto geringer ist die Gewichtung des Prozesses. Anhand der Gewichtung weist das Betriebssystem dem Prozess entsprechende CPU-Zeit für Berechnungen zu. Je mehr CPU-Zeit der Prozess zugewiesen bekommt, desto schneller kann er eine vorgegebene Eingabe verarbeiten.

Mit nice ist es also möglich, Prozessen eine geringere Gewichtung zuzuweisen. Das macht besonders Sinn, wenn der Prozess eine hohe Arbeitslast, aber geringe Zeitpriorität hat, er also ruhig länger dauern darf. Ein Beispiel wäre das nächtliche Backup: Die Sicherung eines Servers kann somit herab gewertet werden, was dazu führt, dass das Backupprogramm die volle CPU-Zeit ausnutzen kann – sofern nichts weiter auf dem Server los ist (deswegen laufen Backups auch meist nachts). Sind allerdings andere Nutzer und Programme aktiv, wird die CPU-Zeit gemäß der Gewichtung aufgeteilt. Unix-Nutzer können also für ihre Prozesse einstellen, wie nett (= nice) sie zu den weiteren Benutzern sind.

So viel zum Grundsatz. Heute werden wir uns anschauen, dass dieses Prinzip, Ressourcen zu minimieren und andere nicht zu stören, schon durch kleine Codeblöcke massiv gestört werden kann.

Chromiums Innovation

Vor drei Tagen hat sich Matthew Thomas im Blog der APNIC, die für Asien und den Pazifik Netzwerkressourcen, darunter auch die Root-DNS-Server zur Verfügung stellt, zu Wort gemeldet. Er spricht eine interessante Beobachtung an: Eine Funktion vom Chromium-Browser verursacht 51 % des DNS-Traffics der dort verwalteten DNS-Root-Server.

Das Chromium-Projekt wurde vor über zehn Jahren bei Google ins Leben gerufen und bildet neben der eigenen Anwendung auch die Grundlage für Browser wie den Google Chrome oder neuerdings auch den Microsoft Edge. Zusammen erreicht Chromium inklusive der Derivate einen Marktanteil von über 70 %, wenn man dem W3Counter Glauben schenkt.

Chromium hat neben der drastischen Verbesserung der Geschwindigkeit auch viel Wert auf die als Omnibox bezeichnete Adressleiste gelegt. Die Funktionalität ist heute in so gut wie jedem Webbrowser vertreten, wurde zur Einführung allerdings besonders von Google beworben, da die Omnibox viele Suchresultate einblendet.

Die Omnibox...

Drückt man nach der Eingabe in der Adressleiste nun Enter, wird nicht zwangsläufig der eingegebene Begriff als URL aufgerufen: entscheidet die Omnibox, dass der Begriff wahrscheinlich keine URL ist, wird anstelle dessen eine Google-Suche durchgeführt.

Hieraus ergibt sich allerdings ein Problem: Was ist, wenn der eingegebene Begriff, zu dem die Google-Suche durchgeführt wird, in Wirklichkeit eine gültige URL ist? Beispiel "server1": die daraus resultierende URL http://server1/ kann durchaus gültig sein, wenn das DNS, eventuell in Verbindung mit einer sog. DNS-Suchdomäne (also einer automatisch angehängten Domäne bei solchen Suchbegriffen), diesen Namen auflösen kann. Dies ist nicht nur in Unternehmensnetzen verbreitet, sondern auch z. B. in FritzBox-Netzwerken. Wird hier unter Standardeinstellungen z. B. ein Computer "server1" (NetBIOS-Name) genannt, kann dieser unter http://heimpc/ erreicht werden, da intern mit DNS-Suchdomäne die Adresse http://server1.fritz.box/ entsteht, welche durch das FritzBox-DNS aufgelöst werden kann.

Damit die Nutzer weiterhin solche Seiten im Chromium öffnen können, haben sich die Entwickler etwas überlegt: führt eine solche DNS-Abfrage zur einer gültigen IP-Adresse, wird auf der Seite mit den Suchergebnissen oben vom Browser eine Leiste angezeigt, in der „Wollten Sie http://server1/ aufrufen?“ steht. Klickt man auf diesen Link, gelangt man sicher zur URL.

Clever gelöst, oder? Nicht ganz, denn können wir den DNS-Abfragen vertrauen?

... und ihre Probleme ...

Die Antwort lautet: nein. Denn oft werden DNS-Anfragen, deren Übertragung naturgemäß unverschlüsselt erfolgt, manipuliert – und das von vielen Intranets und selbst Internetprovidern. Diese Technik ist als „DNS hijacking“ bekannt und wird für unlautere als auch „gute“ Zwecke durchgeführt, um z. B. bei DNS-Anfragen, zu denen kein DNS-Eintrag (RR) hinterlegt ist, eine Suchseite anstatt einem Fehler vom Browser anzuzeigen. Solche DNS-Anfragen ohne mögliche Antwort werden standardmäßig mit NXDOMAIN beantwortet, hier wird also die NXDOMAIN-DNS-Antwort durch eine DNS-Antwort mit einer IP-Adresse für z. B. die Suchseite ausgetauscht. Dieser Sonderfall von DNS hijacking wird auch als NXDOMAIN hijacking bezeichnet.

Das führt schließlich dazu, dass Chromium bei Providern, die das einsetzen, für jeden Suchbegriff diese Hinweismeldung anzeigt.

... mit pragmatischen Lösungen

Nun setzen die Chromium-Entwickler seit 2010 auf eine eher unkonventionelle Technik, um solche Netzwerke mit eingesetzem DNS hijacking zu erkennen. Werfen wir dazu einen Blick in den Quelltext:

for (size_t i = 0; i < 3; ++i) {
    std::string url_string("http://");
    // We generate a random hostname with between 7 and 15 characters.
    const int num_chars = base::RandInt(7, 15);
    for (int j = 0; j < num_chars; ++j)
      url_string += ('a' + base::RandInt(0, 'z' - 'a'));
    GURL random_url(url_string + '/');
    // ...
}

Chromium generiert hierbei drei Testadressen, die im Grunde genommen keinen Sinn ergeben – und auch möglichst zu einer NXDOMAIN-Antwort führen sollen. Geschieht dies auch, so werden höchstwahrscheinlich alle unbekannten DNS-Anfragen nicht im Stil eines DNS Catch-All umgeleitet und es kann auf die DNS-Antworten für die Hinweisleiste vertraut werden.

Das Problem für die DNS-Root-Server

Jetzt kommen allerdings die DNS-Root-Server ins Spiel. Diese werden in der Regel bei unbekannten Adressen als erstes angefragt, da DNS-Root-Server Auskunft über die DNS-Server der Top-Level-Domains geben können. Soll also der Domainname von beispielsweise v-gar.de aufgelöst werden, wird ein DNS-Server seine Anfrage zuerst an die voreingestellten Root-Server richten und sie fragen, ob Sie bei der Adresse weiterhelfen können. Sie können zwar nicht die IP-Adresse direkt zurückgeben, aber mit der Adresse des DNS-Servers für ".de" weiterhelfen. Diese Server kennen dann den DNS-Server für "v-gar.de" und dieser kann schlussendlich sagen, ob für "v-gar.de" ein Eintrag existiert und wenn ja, welche IP-Adresse zugewiesen wurde. Das DNS ist somit hierarchisch aufgebaut.

Wir können also nun sehen, dass sich speziell bei den DNS-Root-Servern diese Anfragen anhäufen. Mich überrascht es auch, dass es 51 % des gesamten DNS-Anfrageaufkommens sind. Das ist enorm und wird konkret im erwähnten Blogartikel genauer mit Statistiken erörtert.

Ein kritischer Blick

Um nicht voreilige Schlüsse zu ziehen, sollten wir uns vor Augen führen, dass ein solcher Traffic nicht zwangsläufig durch Chromium entstehen muss. So wird auch in den Kommentaren erwähnt, dass eine ähnliche Technik von Malware verwendet wird, um zu erkennen, ob gerade versucht wird, diese zu analysieren.

Trotzdem lässt sich an diesem Beispiel gut vorführen, wie sehr eine jede Codezeile mit Bedacht gewählt werden muss. Die Einführung der Funktion war zu einer Zeit, als Chromium noch einen Marktanteil von gut 10 % hatte. In den nächsten Jahren hat sich der Code durch die Popularität des Chromes und Forks anderer Browser massiv verbreitet, sodass die Funktion auch nicht mehr einfach aus der Welt geschafft werden kann. Die Befürchtungen wurden zwar bereits im Rahmen des Codereviews geäußert, die Funktionalität war aus UI-Gründen allerdings nötig.

Auch der ursprüngliche Autor des Codes hat sich im Blogartikel mit Verständnis geäußert und erklärt, dass die Problematik besonders durch den Einsatz des DNS hijackings durch die Provider erschwert wird und mehrere Versuche seitens der Provider unternommen wurden, die Erkennung zu umgehen.

Alternativen

Aber aus heutiger Sicht gibt es verschiedene Möglichkeiten: so nennt Thomas im Blogpost unter anderem die RFCs 8020 und 7816, die darauf abzielen, NXDOMAIN-Antworten klarer zu gestalten und somit die Anzahl der nötigen Anfragen zu senken. Eine Schwierigkeit dabei ist allerdings, dass alle Beteiligten hier zuarbeiten müssen, damit die angesprochenen Aspekte so umgesetzt werden können.

Eine weitere interessante Variante lässt sich in der RFC 8806 finden, denn hier wird vorgeschlagen, gleich lokal selber einen der genannten DNS-Root-Server zu betreiben, indem man die Root-Zonen, in denen die DNS-Einträge organisiert werden, spiegelt. Hiermit ist in gewisser Weise Hilfe zur Selbsthilfe gegeben, wenn man selber die Last von den DNS-Root-Servern weglenken möchte und Erfahrung im Betrieb von DNS-Servern hat. Entscheidend hierbei: die IANA stellt die notwendigen Zonen-Dateien für den Betrieb eines DNS-Root-Servers auf deren Homepage direkt bereit, alternativ ist es sogar möglich, von ausgewählten DNS-Root-Servern wie b.root-servers.net einen direkten AXFR-Zonen-Transfer über TCP nach der RFC 5936 durchzuführen, sodass man sich ähnlich wie ein Secondary-Nameserver an die Zonen hängt. Ein entscheidender Punkt bei dieser Lösung ist nämlich, dass, wenn wir DNS-Suchdomänen außen vor lassen, die gestellten Anfragen vom Chromium allesamt Top-Level-Domains (TLDs wie .de) sind und die wenigsten dabei zu den von der ICANN zugelassenen TLDs gehören. Ein eigener Root-Server mit den Zoneninformationen kann also diese Entscheidung, ob die TLD gültig ist, also schon im eigenen Netzwerk treffen und möglicherweise schon mit NXDOMAIN antworten. Ausschließlich Anfragen mit gültiger TLD werden dann im öffentlichen Internet weiter bei den Nameservern angefragt. Auch aus Sicht des Datenschutzes eine interessante Lösung.

Hier arbeitet man allerdings in ersten Linie an den Syptomen eines anderen Problems: dem Abweichen vom DNS-Standard. Denn all dieser Aufwand ist ja ursprünglich nur notwendig, da dieses vom Standard abweichende Verhalten zu falsch positiven Abfragen führt.

Und das ist sicherlich ein weiteres Argument für DNS-over-HTTP. Ich selber bin noch nicht ganz davon überzeugt, am Betriebssystem vorbei alle Namensanfragen zur Auflösung von Domains über das HTTP(S)-Protokoll abzuwickeln, aber das ist ein Thema für einen anderen Blogpost. Solche Umstände sind jedenfalls Wasser auf die Mühlen der DoH-Verfechter.

Zusammenfassung

Ressourcen müssen auch in der IT sinnvoll eingesetzt werden. Dies ist nicht nur aus ökonomischer Sicht zu sehen, da diese sicherlich vermeidbaren DNS-Anfragen Traffic verursachen, der bei vielen Providern durch kostenpflichtiges Peering, etc. ins Geld geht. Ressourcen sollten auch sinnvoll genutzt werden, damit Innovation sich proportional zu den Fortschritten der Hardware entwickeln kann – und nicht durch unvorhergesehene Ereignisse Engpässe zustande kommen.

Ressourcen sinnvoll zu nutzen bedeutet allerdings auch, sich an vielen weiteren Stellen Gedanken bei der Entscheidungsfindung zu machen. Wer durch DNS hijacking für eine erzwungene „Komfortfunktion“ andere dazu zwingt, weitere ärgerliche Workarounds zu implementieren, kann dadurch ein Eigentor verursachen, wenn der resultierende Traffic auf Kosten der eigenen Infrastruktur geht.

23. August 2020

Zum Ende des Quartals haben die zwei Szenegrößen Kali und Parrot neue Versionen ihrer Security Distributionen veröffentlicht. Kali 2020.3 hat eine Z-Shell bekommen und Parrot 4.10 ein Update seines AnonSurf (Tor-Netzwerk) Tools implementiert. Hier die Details der Releases.

 

parrot

Parrot Security 4.10

Neben den üblichen Updates wie des Kernels (5.7) und der vorhandenen Tools fällt bei der Installation die neue Auswahl von XFCE als Desktopumgebung auf.

Anonym

Dennoch ist die größere Neuerung AnonSurf 3.0. Das hauseigene Tool wurde in 3 Module (GUI, Daemon und Utilities) unterteilt. Die in Nim geschriebene Oberfläche erlaubt eine einfache Bedienung und Zugriff auf zusätzliche Einstellungen und Monitoring Funktionen. Der Daemon behält den Systemstatus im Auge und führt nicht mehr zu Problemen beim Herunterfahren.

anonsurf

Tools

Das bekannte Metasploit wird in Version 6.0 ausgeliefert. Mit dabei eine Ende-zu-Ende Verschlüsselung für Meterpreter, sowie eine SMBv3 Client Unterstützung.

Ebenfalls aktualisiert wurde GVM 11 (Greenbone Vulnerability Management Version 11) auch bekannt als OpenVAS.

Das Release Log zeigt alle Anpassungen der neuen Version.

Das Update auf die neue Version erfolgt via CLI.

sudo parrot-upgrade

oder

sudo apt update && sudo apt full-upgrade

Download


Kali_Linux

Kali 2020.3

ZSH

Wie bereits eingangs erwähnt hat Kali damit begonnen Bash mit ZSH zu ersetzen. Noch ist dieser Wechsel nicht bindend, dies wird sich in Zukunft aber ändern. Mit chsh -s /bin/zsh und echo $SHELL könnt ihr dem gerne vorgreifen.

Nutzer die auf 2020.3 aktualisieren, sollten die Shell manuell installieren

sudo apt install -y zsh zsh-syntaxhighlighting zsh-autosuggestions

Vor und Nachteile gibt es für die Z-Shell sicher viele, zu den Vorteilen zählt eine bessere Autovervollständigung, Autokorrektur und Globbing.

Weitere Infos und Erweiterungen sind unter https://ohmyz.sh/ zu finden.

Icons

Bereits im Vorfeld angekündigt wurde das neue Icon Set. Die Icons wurde nun eingebunden und geben der Oberfläche zusätzlich Farbe.

Kalindows

Mit Win-KeX (Windows + Kali Desktop EXperience) wurde für WLS (Windows Subsysteme for Linux) ein GUI eingeführt. Bisher konnte unter Windows nur auf der Kommandozeile gearbeitet werden, dies ist nun Vergangenheit. Benötigt wird WSL2, welches mit der aktuellen Windows Version bereits ausgerollt wird, aber auch auf Windows 10 Version 1903 oder 1909 unterstützt wird.

Ich hatte dazu bereits einen Artikel verfasst (WSL2 - Windows-Subsystem-for-Linux - Installation unter Windows).

Win-Kex

Die Installation in WSL erfolgt mit

sudo apt update 

sudo apt install -y kali-win-kex

kex

Kali NetHunter Bluetooth Arsenal

Die mobile Kali Version unterstützt nun Nokia 3.1 und Nokia 6.1 Smartphones.

Mit dem Bluetooth Arsenal wurde eine Toolsammlung mit praktischen vorgefertigten Methoden gebündelt, welches die App zusätzlich bereichert.   

Weitere Neuerungen wie HiDPI oder ARM Änderungen sind im Release Log zu finden.

Download


 

Übersicht 08/2020

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.13.0 ??? The Sleuth Kit Windows  
BackBox 7.0 100+ AWS Ubuntu Xfce
BlackArch 2020.06.01 1750+ ArchLinux ArchLinux Gnome
CAINE 11 100+ WinUFO Ubuntu Mate
DracOS 3.0   veraltet LFS DWM
DEFT Zero 2018.2   offline Lubuntu 14.04 Lxde
Kali Linux 2020.03 300+ ARM Images Debian Testing Multi
Kali AppStore   20+   Android  
LionSec 5.0   veraltet Ubuntu  
Matriux v3 RC1   offline Debian Gnome
NST 32 ??? Server integriert Fedora 32  
NetSecL OS 6.0   veraltet OpenSuse Lxde
Paladin 7.0     Ubuntu  
Parrot OS 4.10 700+ Cloud fähig Debian Buster MATE/KDE
Pentoo 2018.0 RC7.1   veraltet Gentoo Xfce
Ronin     veraltet Lubuntu Lxde
Sans SIFT 3.0   veraltet Ubuntu  

Seit Oktober 2018 habe ich auf meinem Server einen Dirty Hack am laufen.

Er sorgt dafür, dass die von den Usern als SPAM markierten emails als SPAM gelernt werden, um die Bayes Filter zu verbessern.

Meine Hoffnung war, dass dadurch die verbesserte Erkennung von Spam allen Usern zu Gute kommt.

Mittlerweile habe ich Buster und der hack funktioniert immer noch.

Deshalb hier meine Notizen:

Als root:
usermod -aG vmail amavis
chmod -R g+rx /var/vmail/

# Als amavis: su - amavis

# Voraussetzung: Debian Stretch, nach "der perfekte Server"

# Zustand VOR dem Lernen:
sa-learn -D --username=amavis --dump magic

# Anlernen HAM
find /var/vmail/*/* -type d -not -path "*.Spam*" -not -path "*.Junk*" -not -path "*.Trash*" -not -path "*new*" -not -path "*tmp*" -not -path "*.Sent*" -not -path "*.Archive*" -not -path "*Maildir/cur*" -not -path "*dovecot*" -not -path "*sieve*" -not -path "*quotausage*" -not -path "*courier*" -type d -exec /usr/bin/sa-learn --ham {} \;
# Anlernen SPAM
/usr/bin/find /var/vmail/*/*/Maildir/ -type d \( -iname "*Junk*" -o -iname "*spam*" \) -exec /usr/bin/sa-learn --spam {} \;

# Zustand NACH dem Lernen:
sa-learn -D --username=amavis --dump magic


#Als root: STRG-D
# Die Gruppe kann IMHO bleiben
chmod -R g-rx /var/vmail/


Das ganze habe ich in ein Script gepackt:

#!/bin/bash

#/usr/local/sbin/spamlern.sh 
# Einmal als Root 
#usermod -aG vmail amavis 
# in Root crontab 
#nice chmod -R g+rx /var/vmail/ 
# Anlernen HAM (funktioniert aber ohne, wie ich gemerkt habe) 
#find /var/vmail/*/* -type d -not -path "*.Spam*" -not -path "*.Junk*" -not -path "*.Trash*" -not -path "*new*" -not -path "*tmp*" -not -path "*.Sent*"$ 
# Anlernen SPAM 
nice /usr/bin/find /var/vmail/*/*/Maildir/ -type d \( -iname "*Junk*" -o -iname "*spam*" \) -exec /usr/bin/sa-learn --spam {} \; >/dev/null 
# Zustand NACH dem Lernen: #sa-learn --username=amavis --dump magic|grep 'n*am'|mailx -s 'sa-lern Status' root echo "$(date +'%Y-%m-%d')$(sa-learn --username=amavis --dump magic |grep nspam|cut -c18-30)" >>/var/log/spam-lern.log mailx -s 'sa-lern Status' root

#und als amavis User in die Crontab gepackt 6 5 * * 1,4  /usr/local/sbin/spamlern.sh

... und wo ist der "Dirty" Hack?

Hier :-)

4 5 * * 1,4 nice chmod -R g+rx /var/vmail/ >/dev/null 2>&1
15 5 * * 1,4 nice chmod -R g-rx /var/vmail/ >/dev/null 2>&1

Ich erlaube damit meinem obigen Script für 11 Minuten, die Mailboxen nach Spam abzuklappern  

22. August 2020

Die wohl wichtigste Aufgabe eines Browsers ist die Anzeige von Websites auf dem Bildschirm. Manchmal möchte man das, was auf dem Bildschirm erscheint, aber auch in Papier-Form haben. Die Verbesserung der Druckfunktion ist ein großer Schwerpunkt von Mozilla in diesem Jahr. Dies schließt sowohl die Qualität der Ausdrucke als auch die Drucken-Oberfläche von Firefox ein, welche derzeit komplett erneuert wird.

Verbesserte Druckausgabe

Die Druckfunktion ist ein großer Schwerpunkt von Mozilla in diesem Jahr, das auf zwei Ebenen. Das eine sind Fehlerberichte der Nutzer, was die Druckausgabe betrifft. Hier gab es in den vergangenen Firefox-Versionen bereits einige Verbesserungen, weitere Verbesserungen sind im Laufe der kommenden Versionen zu erwarten.

Neue Drucken-Oberfläche

Für die Nutzer vermutlich offensichtlicher ist die neue Drucken-Oberfläche, an welcher Mozilla derzeit arbeitet. Mit der Überarbeitung möchte Mozilla die Oberfläche plattformübergreifend und unabhängig von Einstiegspunkt vereinheitlichen, modernisieren und zusätzliche Features bereitstellen.

Probleme der Drucken-Oberfläche von Firefox

Für Nutzer der Nightly-Version von Firefox ist die neue Oberfläche bereits standardmäßig aktiviert. Jedoch sollte beachtet werden, dass noch immer täglich Verbesserungen landen, die derzeitige Implementierung also noch nicht das finale Ergebnis repräsentiert.

Neue Drucken-Oberfläche von Firefox

Seiten als PDF speichern

Ein neues Feature, welches Mozilla im Rahmen der neuen Drucken-Oberfläche implementiert und bisher völlig gefehlt hat, ist die Möglichkeit, Seiten als PDF-Datei zu speichern.

Seite als PDF-Datei speichern

In diesem Zusammenhang erwähnt sei auch, dass PDF-Dateien ein weiterer Schwerpunkt von Mozilla sind – in den letzten Versionen gab es bereits zahlreiche Verbesserungen im Umgang mit PDF-Dateien und der PDF-Betrachter selbst wird signifikante Verbesserungen in den nächsten Wochen erhalten.

Der Beitrag Firefox 2020: Verbesserungen beim Drucken erschien zuerst auf soeren-hentzschel.at.

Nextcloud ist der bisher erfolgreichste Versuch eine selbst gehostete Cloud für Jedermann zur Verfügung zu stellen. Die Entwicklung erfolgt schnell und die Anforderungen an den Server sind minimal. Trotzdem bleibt der Eindruck eines fehlenden Fokus und wenig Liebe zum Detail.

Nextcloud veröffentlich in hoher Frequenz neue Hauptversionen. Alle 6 Monate darf man mit größeren Aktualisierungen rechnen und dazwischen erscheinen regelmäßig Sicherheitsupdates und Fehlerbehebungen. Dabei hat man sich unter dem Schlagwort des Nextcloud Hub schon lange von der ursprünglichen Fokussierung auf Dateisynchronisation gelöst und bietet eine eierlegende Wollmilchsau an. Zumindest ist das intendiert, denn die Qualität der einzelnen Module unterscheidet sich stark.

Ich kann mich da der Darstellung von jdo auf BITblokes anschließen, der am Beispiel der neuen Ende-zu-Ende Verschlüsselung oder auch des Office Pakets zeigt wie holprig diese Funktionen ausgerollt werden. Teilweise gibt es beim Release noch eklatante Fehler, teilweise sind umfangreiche Konfigurationen notwendig. Andere Module wie beispielsweise Nextcloud Talk sind kaum konkurrenzfähig und hinterlassen den Eindruck des NIH-Syndroms.

Normale Updates erfordern oft erhebliche Nacharbeiten. Die Dokumentation ist zwar gut aber ohne einige occ-Befehle in der Konsole kann man kaum eine Instanz über mehrere Jahre betreiben. Das erfordert SSH-Zugriff und Kenntnisse, die nur wenige Privatanwender mitbringen. Hinzu kommt die Notwendigkeit Updates sehr schnell nachzuvollziehen, da nur Unternehmenskunden den oldstable-Pfad nutzen können.

Nextcloud leidet zudem meiner Meinung nach an einem Problem, das viele Open Source Projekte haben. Mir drängt sich da immer das KDE-Projekt als Vergleichsobjekt auf. Dem einzelnen - zumal freiwillig engagierten - Entwickler kann man schlecht vorschreiben, wo er seine Zeit investieren mag. Nach außen entsteht dadurch aber leicht der Eindruck eines wenig zielgerichteten Projekts, bei dem Entwicklungsprioritäten von Außen rätselhaft bleiben und das gemeinsame Ziel undurchsichtig ist. Fehlerbehebungen und Feinschliff sind zudem weniger interessant, als irgendein neues cooles Feature und bleiben oft auf der Strecke.

Von einem pflegeleichten und einfach zu nutzenden Produkt für Privatanwender ist Nextcloud immer noch weit entfernt. Eher wirkt es wie ein Baukasten mit dem Dienstleister oder IT-Abteilungen Kundenwünsche umsetzen können. Ohne semi-professionelle und regelmäßige Wartung lässt sich keine Nextcloud betreiben.


Bilder:

Einleitungs- und Beitragsbild von Mudassar Iqbal via Pixabay 

"

19. August 2020

Mozillas neuester Dienst hört auf den Namen Firefox Relay und schützt die persönliche E-Mail-Adresse vor Spam und unerwünschter Offenlegung. Ab sofort kann Firefox Relay von jedem ausprobiert werden.

Firefox Relay ist ein neuer Dienst von Mozilla. Seit dem Start der geschlossenen Beta-Phase im Sommer wurden viele Verbesserungen vorgenommen und Probleme behoben. Nun hat Mozilla die öffentliche Beta-Phase gestartet. Das heißt, dass sich ab sofort jeder Interessierte für Firefox Relay anmelden kann.

Was ist Firefox Relay?

E-Mail-Adressen sind gleichzusetzen mit einer persönlichen Adresse. Sie sind einmalig und viele Nutzer besitzen nur eine einzige E-Mail-Adresse, die sie teilweise auf dutzenden, wenn nicht gar auf hunderten Websites verwenden. Findet auf einer Website, auf der man mit seiner E-Mail-Adresse registriert ist, ein Datendiebstahl statt, wird damit in vielen Fällen auch die persönliche E-Mail-Adresse offengelegt. Und haben Spammer erstmal eine E-Mail-Adresse in ihrem System, darf man sich auf viele unerwünschte E-Mails ohne realistische Hoffnung einstellen, dass der Spam abnehmen wird.

Firefox Relay

Mit Firefox Relay können Alias-Adressen angelegt werden, die der Nutzer für Newsletter-Anmeldungen und Website-Registrierungen angeben kann. Firefox Relay leitet diese E-Mails dann an die persönliche E-Mail-Adresse weiter. Wird ein Alias nicht mehr benötigt, kann dieser ganz einfach temporär deaktiviert oder komplett gelöscht werden.

Firefox Relay

Mittels Firefox-Erweiterung können in Online-Formularen ganz einfach bei Bedarf neue Alias-Adressen angelegt werden, ohne dass hierfür zunächst die Weboberfläche von Firefox Relay aufgesucht werden muss.

Firefox Relay

Verfügbarkeit und Kosten von Firefox Relay

Firefox Relay steht derzeit nur in englischer Sprache, dafür aber überall in der Welt zur Verfügung. Die Nutzung von Firefox Relay ist aktuell, während der Beta-Phase, kostenlos. Ob Firefox Relay nach Verlassen der Beta-Phase etwas kosten wird, ist zu diesem Zeitpunkt noch nicht bekannt.

Der Beitrag Öffentliche Beta von Firefox Relay gestartet erschien zuerst auf soeren-hentzschel.at.

Rust, eine unter Mozilla Research entwickelte Programmiersprache, soll mit einer eigenen Foundation ein neues Dach bekommen. Die Pläne werden durch die jüngsten Entlassungen bei Mozilla bestärkt.

Programmiersprachen nehmen in der Informatik eine besondere Rolle ein, wenn es um die Organisation und Eigentümerschaft geht. Einerseits ist der Kern einer Programmiersprache die Spezifikation, andererseits ist der Weg zur Spezifikation und jeder weiteren Version von dieser ein herausforderndes organisatorisches Unterfangen, da Interessen abgewogen werden müssen und viele Entwickler sich diesen Prozess so neutral wie möglich wünschen.

Nicht ohne Grund war bisher bei vielen Programmiersprachen der Zyklus für neue Iterationen bedacht gewählt und gilt somit schon fast als träge. Als ein Paradebeispiel lässt sich C anführen, wo es rund alle 10 Jahre einen neuen Standard gibt. C und C++ nehmen hier auch eine Sonderrolle ein, da die Sprachspezifikation in Form eines Standards von einer Standardisieriungsorganisation veröffentlicht wird. Bei C war es anfangs das ANSI und später die ISO (ISO/IEC 9899), C++ wurde direkt von der ISO mit der ISO/IEC 14822 standardisiert.

Bei den Veteranen der Programmiersprachen waren also Standard und Implementierung durch Compiler und Interpreter getrennt. Projekte hinter neueren Programmiersprachen bringen meist ein ganzes Ökosystem mit, welches nicht selten einen Referenzcompiler/-interpreter oder eine komplette Dokumentation umfasst. Wie gut das funktioniert, kann man am Beispiel Python betrachten: hier kommen Spezifikation, Dokumentation und der Referenzinterpreter CPython aus einer Hand, andere Interpreter wie PyPy sind nur vereinzelt anzutreffen und spezialisieren sich auf bestimmte Teilaspekte.

Mozillas Rolle bei Rust

Rust ist noch eine relativ junge Programmiersprache, deren Entwürfe sich in das Jahr 2006 zurückdatieren lassen und die 2015 fünf Jahre nach der Vorstellung in der ersten stabilen Version erschienen ist. Entscheidend vorangebracht wurde Rust durch die Mozilla Foundation, die viele Entwickler hierfür im Rahmen von Mozilla Research beschäftigt hat.

Als vor einigen Tagen die Entlassungen bei Mozilla Wellen schlugen, haben die meisten in erster Linie an den Firefox, Thunderbird oder das MDN gedacht. Rust hat allerdings auch eine entscheidende Rolle und wird zunehmend von wichtigen Unternehmen und Projekten eingesetzt, darunter Amazon, Cloudflare, 1Password und in naher Zukunft sogar dem Linux-Kernel. Der Wegfall der treibenden Kraft wäre somit für das Projekt katastrophal.

Eine Foundation soll gegründet werden

Aus diesem Grund hat das Rust-Projekt gestern in einer Mitteilung bekanntgegeben, dass die Pläne, Rust ein neues Dach in Form einer Foundation zu geben, nun besonders vorangebracht werden. Im Kern geht es in erster Linie darum, Rust in eine juristische Selbständigkeit zu überführen. Und das ist durchaus wörtlich gemeint: die sich neu gründende Stiftung soll als eine der ersten Aufgabe und Ziele die Marken und Domänennamen übernehmen.

Die Infrastruktur hinter dem Rust-Projekt wird, wie das Team beschreibt, zunehmend schon von weiteren Organisationen im Rahmen von Sponsorings getragen, weshalb dieser Prozess der Verselbständigung in die Hände spielt.

In ähnlicher Art und Weise geht auch das eingangs erwähnte Python-Projekt vor: hier agiert in erster Linie die Python Software Foundation (PSF), die ebenfalls die Markenrechte verwaltet und unterstützend dem Projekt beiträgt. Im Falle von Python ist allerdings die konkrete Entwicklung Aufgabe der Entwicklergemeinschaft, die sich unter anderem durch die PEPs organisiert. Rusts Äquivalent wären hierzu die Rust RFCs.

Da diese Umstellung gerade erst angestoßen wurde, wird es in den nächsten Wochen noch einige Nachrichten hierzu geben, ehe zum Jahresende erste Teile der Stiftung stehen sollen.

17. August 2020

Kaum eine Software verwende ich so lange wie TeamDrive. Die ersten Artikel dazu in diesem Blog stammen bereits aus dem Jahr 2011 [0], [1].

Nachdem ich den TeamDrive Personal Server schon auf einem NAS installiert und als Dienst konfiguriert habe, dokumentiere ich in diesem Artikel die Erstellung einer Systemd-Service-Unit. Dazu sei gesagt, dass ich kein Experte für Systemd-Units bin. Tatsächlich kenne ich mich nichtmal besonders gut damit aus. Folgende Lösung funktioniert auf meinem Server. Anregungen zur Verbesserung der Service-Unit nehme ich gern in den Kommentaren entgegen.

Installation des TeamDrive Personal Server

Zuerst muss der TeamDrive Personal Server heruntergeladen und installiert werden. Dabei hilft das dazugehörige Handbuch. Auch wenn dieses schon einige Jahre auf dem Buckel hat, sind die enthaltenen Informationen weiterhin aktuell.

Da die Installation hier im Blog bereits einmal beschrieben wurde, gehe ich hier im Detail nicht weiter darauf ein. Im vorliegenden Fall wurde die Software im Verzeichnis /opt/tdps installiert. Darüber hinaus wurde ein Benutzer tdps erstellt, welchem das Verzeichnis /opt/tdps und die darin enthaltenen Dateien gehören.

Systemd-Service-Unit tdps.service

Ich habe den TeamDrive Personal Server (TDPS) auf einem Debian 10 System installiert. Um diesen wie alle übrigen Dienste mit dem Programm systemctl verwalten zu können, habe ich die Datei /etc/systemd/system/tdps.service mit folgendem Inhalt erstellt:

[Unit]
Description="TeamDrive Personal Server"
After=network.target

[Service]
User=tdps
PIDFile=/opt/tdps/tdpsd.pid
ExecStart=/opt/tdps/tdpsd -c /opt/tdps/tdps.config -m /opt/tdps/mime.types -w /opt/tdps
ExecStop=/opt/tdps/stop-tdps -p /opt/tdps/tdpsd.pid
KillMode=process
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

[Install]
WantedBy=multi-user.target

Im Abschnitt [Unit] findet sich eine kurze Beschreibung der Service-Unit. Die Option After=network.target gibt an, dass diese Unit erst gestartet werden soll, wenn das Netzwerk zur Verfügung steht. Dies ist Voraussetzung, um den Dienst über das Netzwerk nutzen zu können.

Die Zeile im letzten Abschnitt [Install] definiert, dass diese Unit Bestandteil des multi-user.target ist und mit diesem geladen wird.

Der Abschnitt [Service] definiert die für den Dienst relevanten Parameter. Die gewählten Optionen werde ich im Folgenden erläutern.

User= gibt den Namen des Benutzers an, mit dessen Rechten der Dienst ausgeführt werden soll. In diesem Fall wird der extra für diesen Zweck erstellte User tdps verwendet.

PIDFile= gibt den Pfad an, wo der Dienst seine PID speichert. Der Service-Manager liest die PID des Hauptprozess aus dieser Datei, nachdem der Service gestartet wurde.

ExecStart= gibt das Kommando mit allen notwendigen Argumenten an, um den Dienst zu starten. Ich habe hier ein wenig mit verschiedenen Aufrufen experimentiert. Dabei habe ich verschiedene Möglichkeiten gefunden, den Dienst erfolgreich zu starten. Worin die Unterschiede im Aufruf genau bestehen, kann ich leider nicht sagen. Am Ende habe ich mich für obige Kommandozeile entschieden, die ich im TeamDrive-Forum gefunden habe. Aus diesem Foren-Beitrag habe ich auch Stumpf die Option KillMode=process übernommen. Zur Option selbst kann ich (noch) nicht viel sagen. Dies änderst sich vielleicht noch, da ich mich noch etwas damit beschäftigen möchte.

Mit ExecStop= gibt man entsprechend an, wie der Dienst zu stoppen ist. Auch hier stammt die Kommandozeile aus oben verlinktem Foren-Thread.

Die nächsten drei Optionen PrivateTmp=, ProtectHome= und ProtectSystem= dienen dazu den Dienst zu härten. Durch PrivateTmp=yes erhält der gestartete Prozess einen eigenen Dateisystem-Namespace für /tmp und /var/tmp. So kann der Prozess nicht auf die Dateien anderer Prozesse und Benutzer in den normalen Verzeichnissen /tmp und /var/tmp zugreifen. Mit ProtectHome=yeswird der Zugriff des Dienstes auf die Verzeichnisse /home, /root und /run/user verhindert. ProtectSystem=full sorgt dafür, dass die Verzeichnisse /boot, /etc und /usr im Nur-Lese-Modus für den Prozess zur Verfügung stehen. Damit ist sichergestellt, dass der von dieser Unit gestartete Prozess keine Dateien innerhalb dieser Verzeichnisse verändern kann.

Die drei im vorhergehenden Abschnitt genannten Optionen stellen einen zusätzlichen Schutz dar. Zwar darf der Benutzer tdps schon aufgrund der Datei- und Verzeichnisberechtigungen nicht in den genannten Verzeichnissen schreiben und Dateien verändern bzw. diese überhaupt lesen, doch bieten diese Optionen einen zusätzlichen Schutz und greifen auch noch, wenn jemand Schindluder mit den Berechtigungen getrieben hat. Daher halte ich es für sinnvoll diese Optionen wenn möglich in allen Service-Units zu nutzen.

Neben den drei hier vorgestellten Optionen gibt es noch einige weitere, welche im englischsprachigen Artikel „Mastering systemd: Securing and sandboxing applications and services“ nachgelesen werden können. Ich finde diese so sinnvoll, dass ich mich ehrlich gesagt frage, warum die genannten Einstellungen nicht der Standard sind und man diese editieren muss, wenn man entsprechende Zugriffe explizit erlauben möchte.

Damit ist alles getan und dokumentiert. Der TDPS lässt sich mit oben beschriebener Service-Unit starten und stoppen. Den Status abfragen kann man selbstverständlich auch.

Es bleibt ein kleiner Schönheitsfehler. Wird der Dienst mittels sudo systemctl stop tdps.service gestoppt, endet die Unit im Status „failed“. Warum das so ist, habe ich noch nicht herausgefunden. Ich vermute, es hängt damit zusammen, dass der Dienst mittels SIGTERM beendet wird. Bin mir an dieser Stelle jedoch nicht sicher. Falls von euch jemand eine Idee dazu hat, freue ich mich über euren Kommentar.

Wie schreibt ihr eure Service-Units? Welche Optionen sollten eurer Meinung nach in keiner Unit fehlen? Wenn ihr mögt, lasst uns gerne in den Kommentaren darüber diskutieren.

Ältere Artikel zu TeamDrive in diesem Blog

16. August 2020

Seit GIMP 2.10.18 wird das Tool Menü in sogenannte Werkzeuggruppen unterteilt.  Dies kann für das regelmäßige Arbeiten mit dem Bildbearbeitungsprogramm sicher praktisch sein. Für den Laien, welcher schnell mal ein Bild freischneiden möchte, kann dies aber zu einer Suche nach dem richtigen Werkzeug werden.

Glücklicherweise lässt sich dieses Feature einfach wieder deaktivieren. Dazu muss unter Bearbeiten -- Einstellungen -- Oberfläche -- Werkzeugkasten lediglich der Haken bei Werkzeuggruppen verwenden entfernt werden und die alte Anzeige der GIMP Tools ist zurück.

gimp-werkzeuggruppen

Mit ein wenig Übung ist die neue Gruppierung jedoch durchaus praktisch.

Durch Tastatur Shortcuts gelangt der Nutzer allerdings am schnellsten zum Ziel. Eine Übersicht an Tastaturbefehlen findet ihr unter gimpusers.de/gimp/hotkeys.

 

Mittlerweile ist Ubuntu 20.04 erschienen. Hierbei handelt es sich wieder um eine LTS-Version (long term support), die 5 Jahre mit Updates versorgt wird. Also bis April 2025. Damit wird Ubuntu 18.04 abgelöst, auf welchem die bisherige Homeserver-Anleitung basiert.

Ubuntu 18.04 war ebenfalls eine LTS-Version und wird noch bis April 2023 mit Sicherheitsupdates versorgt. Wer also bereits einen Server, basierend auf der vorherigen Anleitung betreibt, der kann diesen auch noch viele Jahre sicher weiterverwenden.

Wer jedoch ein eigenes NAS auf Ubuntu-Server-Basis neu einrichten möchte, der greift jetzt natürlich zur Version 20.04.

Im laufenden Betrieb wird man keine großen Änderungen zwischen Ubuntu 18.04. und 20.04. feststellen. Jedenfalls bei der Server-Version. Trotzdem haben sich einige Dinge geändert.

Bisher wurden zwei Installationsmedien angeboten. Eine mit dem klassischen Debian-Installer (Alternate-CD) und eine mit der Eigenentwicklung Subiquity. Mit Ubuntu 20.04 wurde die Alternate-CD eingestellt. Der Subiquity-Installer ist somit der neue Standard und die bisherige Artikelreihe funktioniert an dieser Stelle nicht mehr.

Unter anderem aus diesem Grund habe ich mich entschlossen, die Artikelreihe Homeserver/NAS auf Basis von Ubuntu Server neu zu erstellen. Dieses Mal auf Basis von Ubuntu Server 20.04. Außerdem möchte ich eine Reihe weiterer Änderungen vorschlagen oder vorstellen.

Da ich diese Tutorial-Reihe bewusst so einsteigerfreundlich wie möglich halten möchte, will ich eine zusätzliche Hardware-Option vorstellen. Neben der Installation mit einem klassischen Software-Raid, wird auch die Installation mit einem externen RAID-Gehäuse behandelt. Dies reduziert den Einrichtungs- und Wartungsaufwand nochmals erheblich.

Aus dem gleichen Grund wird Nextcloud und der Plex-Mediaserver als Snap-Paket installiert. Mir ist klar, das Snaps durchaus umstritten sind und auch ich sehe Canonicals erneuten Alleingang bei diesem Thema kritisch. Ich habe beim Einrichten und Testen des hier beschriebenen Setups jedoch festgestellt, dass die Nutzung der Snaps für Nextcloud und Plex die Einrichtung und Wartung extrem vereinfachen. Und genau das ist eines der Ziele dieser Artikelreihe. Auch aus Sicherheitsgründen dürfte die Verwendung der Snaps Vorteile bieten. Wer lieber auf die klassische Variante mit separat installiertem Webserver, Datenbank etc. setzen möchte, der kann gerne die Artikelreihe zu Ubuntu 18.04 anschauen. Die Installation und Konfiguration funktioniert unter Ubuntu 20.04 weitestgehend identisch.

Immer mehr Internetanschlüsse haben leider keine öffentliche IPv4-Adresse mehr (DS-Lite), sodass der Zugriff über das Internet auf den Homeserver mit klassischen DynDNS-Diensten nicht mehr funktionieren. Daher wird auch der Zugriff über das Internet auf den Homeserver mit einem DS-Lite-Anschluss behandelt werden.

Vor- und Nachteile eines selbstgebauten Homeserver/NAS

Ein selbstgebauter Homeserver/NAS muss mit verschiedenen Systemen konkurrieren. Und jedes Setup hat seine eigenen Vor- und Nachteile. Konkurrenten sind vor allem fertige NAS-Systeme von Herstellern wie Synology oder QNAP. Aber auch Clouddienste wie Dropbox oder Google Drive.

Der Vorteil einer selbstgebauten Lösung ist vor allem die Flexibilität. So kann man die Hardware so dimensionieren, wie man sie benötigt. Außerdem lässt sich jede beliebige Software installieren und man ist nicht darauf angewiesen, dass der Hersteller diese für das eigene NAS als Plugin zur Verfügung stellt.

Ein weiterer Vorteil ist die Langlebigkeit. Ubuntu LTS-Versionen, zu denen 20.04 gehört, werden 5 Jahre mit Sicherheitsupdates versorgt. So lange kann das System weitgehend unverändert eingesetzt werden. Eine anschließende Aktualisierung auf eine neue Betriebssystemversion ist problemlos möglich, da ganz normale Computerhardware verwendet wird. Und selbst wenn Ubuntu nicht mehr weiterentwickelt werden sollte, kann man jederzeit auf ein anderes Betriebssystem umsteigen, wobei dann natürlich eine Neuinstallation fällig ist.

Wie lange ein fertiges NAS-System vom Hersteller unterstützt wird, ist beim Kauf völlig unklar. Gerade No-Name-Produkte sind eher dafür bekannt, dass sie überhaupt keine Sicherheitsupdates erhalten. Die bekannten Hersteller verhalten sich im NAS-Sektor zwar recht vorbildlich, dass dies aber die kommenden Jahre so bleibt und dass die Firma weiter existiert kann niemand garantieren.

Ein Vorteil gegenüber Clouddiensten ist die Privatsphäre. Wer einen eigenen Homeserver oder NAS in den eigenen vier Wänden betreibt, der muss seine Daten keinem Dienstleister wie Google, Dropbox anderen Unternehmen anvertrauen.

Die Anforderungen

Folgende Anforderungen soll der selbstgebaute Homeserver/NAS auf Basis von Ubuntu Server 20.04 erfüllen.

  • Möglichst geringer Stromverbrauch, da das System 24/7 laufen soll.
  • Möglichst zuverlässig und wartungsarm.
  • Schutz der Daten vor einem Festplattenausfall durch Speicherung auf mehreren Datenträgern.
  • Bereitstellen von Netzwerkfreigaben zum einfachen Zugriff auf die Daten mit Windows und Linux.
  • Synchronisieren bestimmter Daten über mehrere Geräte (sodass diese auch lokal vorliegen).
  • Bereitstellen von zentralem Adressbuch und Kalender und Synchronisierung mit Mobilgeräten
  • Zugriff auf die Daten über das Internet von unterwegs.
  • Streamen von Audio und Video über das Internet.
  • Tägliches automatisches und verschlüsseltes Backup der wichtigsten Daten auf einen Cloudspeicher außer Haus.
  • Zusätzliches Backup sämtlicher Daten auf einen externen Datenträger.

Die verwendete Software

Als Betriebssystem kommt Ubuntu Server 20.04 zum Einsatz. Die Server-Version hat in den letzten Jahren bewiesen, dass sie sehr robust und zuverlässig ist. Aus diesem Grund setze ich weiterhin auf dieses Betriebssystem.

Netzwerkfreigaben für das lokale Netzwerk werden von SAMBA bereitgestellt. SMB/CIFS-Freigaben mit SAMBA sind schnell und werden von allen gängigen Betriebssystemen (Linux, Windows, MacOS) standardmäßig unterstützt.

Nextcloud wurde in den letzten Jahren sehr aktiv weiterentwickelt und mit vielen neuen Funktionen ergänzt. Erfreulicherweise hat sich der Update-Mechanismus von Nextcloud als sehr sicher und zuverlässig herausgestellt, was das Upgrade auf neue Nextcloud-Versionen zum Kinderspiel macht. Das ist alles andere als selbstverständlich. Wenn es um die Synchronisierung von Dateien, Kontakten oder Kalendereinträgen geht, führt auf daher kaum ein Weg an Nextcloud vorbei.

Den Plex-Mediaserver verwende ich nach wie vor zum Streamen von Musik und Video über das lokale Netzwerk und über das Internet. Plex ist leider keine Open-Source-Anwendung. Gegenüber den mir bekannten freien Projekten hat Plex den Vorteil, dass Apps und Clients für eine Vielzahl von Systemen vorhanden sind. So lassen sich Videos und Musik gleichermaßen auf das Smartphone, den Fernseher oder den Computer übertragen.

Die Verschlüsselung der Verbindung über das Internet wird mit einem kostenlosen Let’s Encrypt Zertifikat abgesichert. So lassen sich die Daten sicher über das Internet übertragen, ohne dass es zu Problemen und Fehlermeldungen kommt, die mit selbstsignierten Zertifikaten auftreten.

Die verschlüsselte Sicherung der Daten in der Cloud übernimmt Duplicati. Auch dieses Projekt wird erfreulicher Weise sehr aktiv weiterentwickelt.

Für das zweite Backup auf eine externe Festplatte setze ich wieder auf ein Backupskript und Rsync. Damit werden sämtliche Daten täglich gesichert, ohne dass bereits vorhandene Dateien neu übertragen und doppelt gespeichert werden. Rsnapshots, welches ich in der letzten Version der Artikelreiche verwendet habe, hat sich als unnötig kompliziert in der Konfiguration und Verwendung herausgestellt.

Die Hardware

Grundsätzlich eignet sich jeder Computer um daraus einen Homeserver/NAS zu erstellen. Wer also noch alte Hardware hat, der kann diese selbstverständlich verwenden. Mit einem externen RAID-Gehäuse lässt sich sogar ein alter Laptop sinnvoll zum Homeserver umrüsten. Einzig den Stromverbrauch sollte man im Blick behalten, wenn man seinen alten Computer umfunktionieren will. Ein alter Gaming-PC ist hier eventuell nicht gut geeignet, wenn der Homeserver 24/7 laufen soll.

Für alle die mit dem Gedanken spielen sich neue Hardware anzuschaffen, gebe ich ein paar Anregungen, welche Hardware geeignet sein kann. Die unten aufgeführte Hardware soll lediglich ein Vorschlag sein, den man an die eigenen Bedürfnisse anpassen sollte, je nachdem welche Ansprüche man an das System hat.

Alle Optionen haben eines gemeinsam, und darauf basieren auch die folgenden Schritte bei der Installation des Systems. Das Betriebssystem wird auf einem eigenen, separaten Datenträger installiert. Beispielsweise eine kleine SSD. Die wichtigen Daten wie Bilder, Videos und Dokumente werden auf einem RAID-System gespeichert. Das bedeutet, dass diese Daten immer auf zwei Festplatten gleichzeitig gespeichert werden, sodass bei einem Festplattenausfall keine Daten verloren gehen.

Die Installation des Betriebssystems auf einem separaten Datenträger erleichtert die Installation des Betriebssystems ungemein. Hierzu gehe ich bei der Installation des Betriebssystems näher ein. Die geringere Ausfallsicherheit für das Betriebssystem halte ich für vertretbar. Ist dieser Datenträger defekt, muss lediglich das Betriebssystem neu installiert werden, und veränderte Konfigurationsdateien aus einem Backup kopiert werden. Mit ein bisschen Routine kann dies in einer halben Stunde erledigt werden. Das Wiederherstellen eines defekten RAID für das Betriebssystem auf der Kommandozeile ist dagegen sehr viel komplizierter.

Option 1: Der Selbstbau PC

Ein Selbstbau-PC ist die mit Abstand flexibelste Option um sich einen eigenen Homeserver/NAS zu bauen. So kann man das System komplett an die eigenen Anforderungen anpassen. Sowohl was Leitung, als auch was Preis angeht. Aus diesem Grund ist es schwer, einen Bauvorschlag zu erstellen, der allen Anforderungen gerecht wird. Da bei mir kein Neukauf ansteht, kann ich in diesem Fall auch keine eigene und aktuelle Hardware vorschlagen.

Für den Selbstbau-PC empfehle ich daher den Bauvorschlag für den 7-Watt-Spar-Mini aus der Zeitschrift c’t Ausgabe 24/2019. Die verwendete Hardware ist sparsam und gut für einen Homeserver geeignet. In Ausgabe 25/2019 wird noch auf Probleme bei der Nutzung mit Linux hingewiesen. Diese Beschränkten sich jedoch auf die Verwendung des Display-Port Ausgangs (HDMI war kein Problem) und des optionalen WLAN-Adaptern. Außerdem wurde der USB-Bootstick nicht automatisch erkannt. Man musste zuerst das UEFI aufrufen und dort den USB-Stick als Bootmedium auswählen. Ansonsten gab es keine Probleme mit Linux. Möglicherweise sind die Probleme mit den aktuellen Linux-Versionen auch behoben.

Den vollständigen Artikel zum Bauvorschlag kann man bei Heise für 1,49 € kaufen. Das komplette Heft mit weiteren Bauvorschlägen gibt es für 5,20 €. Wer den Bauvorschlag nachbauen möchte, erfährt dort alle Details zum Selbstbau-PC.

Im genannten Bauvorschlag kommt weitestgehenduntenstehende Hardware zum Einsatz. Allerdings habe ich die Datenträger angepasst, damit sie zu dieser Anleitung passen. In das Gehäuse passen lediglich 2x 2,5″ Datenträger. Diese werden für das RAID-System verwendet. Die Schreibgeschwindigkeit der kleinen Datenträger ist in der Regel geringer, als bei großen 2,5″ Festplatten. Dafür ist der Stromverbrauch geringer. Alternativ kann man anstatt der Festplatten auch SSDs im Homeserver einbauen. Wer mehr Speicherplatz braucht und große 3,5″ Festplatten nutzen möchte, der benötigt ein größeres Gehäuse. Dann ist es sinnvoll, ein Mainboard, Netzteil und Gehäuse getrennt zu kaufen. Alternativ kann man auch auf die internen Festplatten verzichten und ein externes Festplattengehäuse über USB anschließen, wie in Option 2 beschrieben. Das Betriebssystem wird auf einer NVMe-SSD installiert, die direkt auf das Mainboard gesteckt wird.

KomponenteModellPreis ca.
Barebone (Gehäuse, Netzteil, Mainboard)Asrock Deskmini A300 (90BXG3G01-A30GA0W)138 €
ProzessorAMD Athlon 200 GE, 2x 3,2GHz, (YD200GC6FBBOX)47 €
RAMCrucial S0-DIMM 8GB, DDR4-2666 (CT8G4SFS8266)28 €
NVMe-SSD für das BetriebssystemKingston A2000 NVMe PCIe 250GB (SA2000M8/250G)39 €
2,5″ Festplatten für Nutzerdaten (2x)Western Digital RED 2,5 Zoll, 1TB2x 77€
oder 2,5″ SSDWestern Digital RED SA500 NAS 2,5″ SATA SSD, 1TB2x 111€
Gesamtpreis mit 2x SATA-Festplatten406 €
Gesamtpreis mit 2x SATA-SSDs474 €

Option 2: Mini-PC mit externem RAID-Gehäuse

Diese Variante ist für diejenigen interessant, die keine Lust auf Hardwarebasteln haben, aber trotzdem einen eigenen Homeserver aufsetzen möchten. In dieser Version wird ein beliebiger Fertig-PC mit einem externen RAID-Gehäuse kombiniert. Als PC bietet sich dabei ein Mini-PC wie beispielsweise ein Intel NUC an. Alternativ kann auch jeder vorhandene Computer verwendet werden. Beim Computer muss lediglich auf Linux-Kompatibilität geachtet werden. In den meisten Fällen ist dies jedoch nur dann ein Problem, wenn Hardware verwendet wird, die sehr neu auf dem Markt ist. Ältere Computersysteme funktionieren in der Regel problemlos mit Linux. Untenstehende Konfiguration ist ein Beispiel. Wie gesagt, grundsätzlich ist jeder (Mini-)PC geeignet.

KomponenteModellPreis ca.
Mini PC Barebone (Gehäuse, Netzteil, Mainboard, CPU)NUC Intel Pentium Silver, 1,50 GHz, j5005 (nuc7pjyh)165 €
RAM 2x4GBCrucial S0-DIMM 4GB, DDR4, 2400 (CT4G4SFS824A)2x 16 €
SSD für das BetriebssystemWestern Digital RED SA500 NAS 2,5 SATA 500 GB54 €
Gesamtpreis PC251 €

Über USB wird ein externes RAID-Gehäuse angeschlossen, auf dem die Daten gespeichert werden. So profitiert man von der Datensicherheit die ein RAID bietet, spart sich jedoch die Einrichtung, Wartung und Überwachung eines Software-Raids. Beim Kauf eines RAID-Gehäuses muss das RAID-Level 1 oder höher unterstützt. Bei RAID 0 oder JBOD werden die Daten nicht auf mehrere Festplatten gespiegelt, sodass keine zusätzliche Datensicherheit entsteht.

Die von mir verwendete Icy Box IB-RD3621U3 erfüllt seit Langem problemlos ihren Dienst an einem Linux-PC. Allerdings muss ich darauf hinweisen, dass ich den eingebauten Lüfter gegen ein anderes Modell getauscht und den Luftauslass im Gehäuse vergrößert habe. Wenn große Datenmengen geschrieben wurden, wurden die Festplatten mit dem Standardlüfter so heiß, dass ein Berühren schmerzhaft war. Ich habe mir daher Sorgen um die Lebensdauer der Festplatten gemacht. Andere Modelle haben dieses Problem möglicherweise nicht.

Icy Box IB-RD3621U353 €
oder FANTEC Qb-X2US3R68 €

Zusätzlich werden zwei Festplatten benötigt. Vor einiger Zeit stellte sich heraus, dass alle Festplattenhersteller (nicht nur Western Digital) das SMR (Shingled Magnetic Recording) Verfahren für ihre Festplatten verwenden. Das Verfahren ermöglicht höhere Datendichten pro Scheibe, wodurch weniger Scheiben verbaut werden müssen und somit Produktionskosten gespart werden. Der Nachteil ist, dass die Schreibgeschwindigkeit dramatisch einbricht, wenn regelmäßig größere Datenmengen geschrieben werden, da teilweise auch vorhandene Daten neu geschrieben werden müssen. Siehe u.a. [Computerbase: NAS-Festplatten: WD Red fortan nur als „Plus“ oder „Pro“ ohne SMR]. Das gesagte gilt gleichermaßen für die anderen Hersteller. Wer mit den genannten Nachteilen leben kann, der kann weiterhin die regulären günstigen NAS-Festplatten kaufen. Ich würde jedoch zu den teureren WD Pro greifen, auch wenn es mich ärgert. Denn diese Festplatten verwenden nach wie vor das klassische und teurere Aufzeichnungsverfahren.

Für ein RAID1 werden zwei Festplatten gleicher Größe benötigt.

Western Digital WD RED 4TB (SMR Verfahren)2x 100 €
Western Digital WD RED 4TB PRO2x 167 €

Insbesondere das externe RAID-Gehäuse kann auch mit jedem anderen Computer sinnvoll kombiniert werden. Dieses lässt sich beispielsweise auch an einen Selbstbau-PC anschließen. Die Festplatten werden dann nicht an das Mainboard des PCs angeschlossen, sondern im externen RAID-Gehäuse verbaut. Dieses wiederum wird über USB mit dem Mainboard verbunden.

Mit diesem Setup spart man sich auch beim Selbstbau-PC das Einrichten, Warten und Überwachen des Software-RAIDs. Dies übernimmt komplett das externe RAID-Gehäuse. Damit lässt sich auch ein bereits vorhandener Computer (sogar ein Raspberry Pi) zu einem vollwertigen NAS umrüsten, auf dem Daten sicher vor einem Festplattenausfall gespeichert werden können.

Preise für die komplette Setup mit Mini-PC und externem RAID-Gehäuse

Günstigste VarianteIntel NUC, Icy Box, 2x WD RED504 €
AlternativeIntel NUC, Fantec RAID-Gehäuse, 2x WD RED Pro653 €

Die laufenden Kosten

Neben den Anschaffungskosten sind vor allem die laufenden Kosten, also der Stromverbrauch, wichtig. Gerade der Stromverbrauch ist jedoch extrem von der verwendeten Hardware und auch von der Konfiguration abhängig. Es ist daher schwer, hier eine allgemeine Aussage zu machen.

Wer bereits vorhandene Hardware nutzen möchte, der sollte deren Stromverbrauch messen und ausrechnen, wie viel der Betrieb kostet, wenn der Homeserver 24 Stunden am Tag läuft. Hierfür eignen sich günstige Strommeßgeräte, die man zwischen die Steckdose und das Netzteil des Homeservers schaltet. Zwar sind diese Geräte nicht hundertprozentig korrekt, es genügt jedoch, um herauszufinden, in welcher Größenordnung die verursachten Kosten liegen werden.

Die Geräte haben einen weiteren Vorteil. Sie sind nicht nur günstig, sie können den Stromverbrauch auch über einen längeren Zeitraum aufzeichnen. Zeichnet man den Stromverbrauch über eine komplette Woche auf, so erhält man ein gutes Bild, wie viel Strom das eigene Setup im Durchschnitt verbraucht. Bei vielen Geräten kann man auch den eigenen Strompreis eingeben, sodass die Kosten gleich ausgerechnet werden.

Ansonsten lassen sich die Kosten auch leicht selbst ausrechnen. Bei einer Leistungsaufnahme von durchschnittlich 25 Watt und einem Strompreis von 0,3 €/kWh sieht die Rechnung folgendermaßen aus.

25 Watt x 24 Stunden x 365 Tage / 1000 x 0,3 € = 65,7 €/Jahr

25 Watt ist ein realistischer Wert für einen PC mit zwei drehenden 3,5″ Festplatten. Und dies sind die Stromkosten, wenn der Homeserver 24 Stunden am Tag mit drehenden Festplatten aktiv ist. Wer die Festplatten bei Nichtbenutzung in den Standby schickt, und auch ansonsten ein kleines und sparsames System verwendet, kann die Stromkosten deutlich reduzieren.

Berücksichtigt man noch die Anschaffungskosten scheint das relativ viel, im Vergleich zu einem Dropbox-Abo, das ca. 120 €/Jahr kostet und keine Anschaffungskosten benötigt. Allerdings kostet Dropbox 120 € pro Jahr und pro Benutzer. Mit jeder zusätzlichen Person, die den Homeserver verwendet, wird dieser finanziell attraktiver. Bei Google Drive muss man knapp 100 € pro Jahr für 2 TB Speicherplatz bezahlen. Dieser Speicherplatz kann zwar von mehreren Personen geteilt werden, trotzdem fällt der Preis pro Jahr an.

Was die laufenden kosten angeht, ist man mit einem eigenen Homeserver oder NAS also fast immer günstiger als mit einer Cloudlösung. Entscheidend sind also viel mehr die Anschaffungskosten. Je nachdem welche Anforderungen man hat und welche Hardware bereits vorhanden ist, können diese zwischen 0 € und mehren hundert Euro liegen. Wenn es keine Hardwareausfälle gibt, kann ein solches System problemlos 5-10 Jahre betrieben werden, ohne dass weitere Investitionen nötig sind.

Los geht’s


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1 ist ein Beitrag von techgrube.de.

Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Zuerst wird das Betriebssystem Ubuntu Server 20.04 (Focal Fossa) installiert. Mit dieser Version wurde ein neues Installationsprogramm eingeführt, sodass sich die Installation von den Vorgängerversionen unterscheidet.

Das Kapitel zur Partitionierung der Festplatten unterteilt sich in zwei Teile. Je nachdem ob man ein System mit internen Festplatten und Software-Raid verwendet, oder ob man ein externes RAID-Gehäuse nutzt, läuft die Partitionierung anders ab. Mit einem RAID-Gehäuse ist die Installation noch einfacher, da die Einrichtung des Software-Raids komplett entfällt.

Ubuntu 20.04 für Server herunterladen

Das Betriebssystem kann kostenlos heruntergeladen und verwendet werden. Ich empfehle den Download von der deutschsprachigen Seite ubuntuusers.de

Auf der Downloadseite von ubuntuusers.de wählt man die Server-Edition, die sich über den Direktlink als ISO-Datei herunterladen lässt.

Screenshot der Downloadseite für Ubuntu Server 20.04

ISO-Datei auf einen USB-Stick zur Installation übertragen

Das Betriebssystem wird später von einem USB-Stick auf dem Homeserver installiert. Daher muss die ISO-Datei zuerst auf einen USB-Stick übertragen werden. Allerdings kann man die Datei nicht einfach auf den Stick kopieren. Stattdessen wird ein Programm benötigt, das aus der ISO-Datei einen bootfähigen USB-Stick erstellt.

Ich empfehle hierzu das Programm Balena Etcher. Etcher ist kostenlos, Open Source und sowohl für Linux, als auch für Windows und MacOS verfügbar.

Balena Etcher kann kostenlos von der Herstellerseite heruntergeladen werden.

Für Linux steht das Programm als Appimage zur Verfügung. Nach dem Download erhält man eine ZIP-Datei, die man zuerst entpacken muss. Daraus erhält man eine AppImage-Datei, die man mit einem Doppelklick direkt starten kann.

Wenn das Programm nicht startet, muss man der Datei möglicherweise erlauben, als Programm ausgeführt zu werden. Unter Ubuntu oder Linux Mint klickt man dazu mit der rechten Maustaste auf die AppImage-Datei und wählt im Kontextmenü den Punkt „Eigenschaften“. Hier wechselt man zum Reiter „Zugriffsrechte“ und setzt den Haken bei „Der Datei erlauben sie als Programm auszuführen“. Anschließend sollte sich Etcher mit einem Doppelklick auf die Datei öffnen.

Das Übertragen der ISO-Datei auf den USB-Stick mit Etcher ist dann selbsterklärend. Nachdem der Kopiervorgang abgeschlossen ist, kann man den Stick entnehmen und an den Homeserver anstecken, um die Installation zu starten.

USB-Stick mit Balena Etcher erstellen

Installation von Ubuntu Server 20.04 starten

Nun kann das Betriebssystem auf dem Homeserver vom USB-Stick installiert werden. Hierzu muss der Computer vom Stick gebootet werden. Wie dies funktioniert ist leider bei jedem Computer unterschiedlich.

  • Häufig erkennt der Computer einen bootfähigen USB-Stick und bootet diesen automatisch.
  • Ansonsten wird kurz nach dem Starten im Bootscreen angezeigt, mit welcher Taste man das Bootmedium auswählen kann. Häufig ist das die Taste F11 oder F12, die beim Starten des Computers gedrückt werden muss.
  • Machmal muss das Bootmedium auch im Bios/UEFI eingestellt werden. Wie dieses gestartet wird, wird ebenfalls im Bootscreen angezeigt. Meistens lässt sich das Bios, bzw. UEFI mit der Entfernen-Taste (DEL) aufrufen.

Hat dies geklappt, wird man vom Ubuntu Installationsprogramm begrüßt.

Zuerst wird die Sprachauswahl gestartet. Hier wählt man die gewünschte Sprache, in diesem Fall „Deutsch„. Unter Umständen folgt nun der Hinweis, dass eine neue Version des Installationsprogramms vorliegt. Hier wählt man „Aktualisieren auf neuen Installer„. Wenn das Installationsprogramm bereits aktuell ist, kommt diese Abfrage nicht.

Im nächsten Schritt wird das Tastaturlayout und Sprache festgelegt. Mit einer normalen deutschen Tastatur wählt man hier dementsprechend sowohl bei Belegung als auch bei Variante „Deutsch“ aus.

Dann folgt die Konfiguration der Netzwerkschnittstelle. Wer sich hier unsicher ist, der lässt die Einstellungen unverändert und geht direkt auf den Button „Erledigt„. Wer eine statische IP-Adresse für seinen Server vergeben möchte und bereits weiß welche IP-Adresse frei ist, also nicht vom DHCP-Server des Routers vergeben wird, der kann hier direkt eine statische IP-Adresse vergeben. Die Konfiguration im Installer ist einfacher als die nachträgliche Konfiguration über Textdateien.

Die nun folgende Abfrage nach einem Proxy kann in einem Heimnetzwerk einfach mit dem Button „Erledigt“ übersprungen werden.

Im nächsten Schritt kann man die Server ändern, von denen das System Software und Betriebssystemupdates bezieht. Auch diesen Schritt kann man mit „Erledigt“ direkt überspringen.

Partitionierung der Datenträger

Nun folgt die Partitionierung und Formatierung der Datenträger. Dies unterscheidet sich, je nachdem ob man die klassische Variante mit eingebauten Festplatten und Software-Raid nutzt, oder ob man ein externes RAID-Gehäuse verwendet. Hier muss man dementsprechend die Option wählen, die zum eigenen Setup passt.

In dieser Anleitung wird das Betriebssystem in beiden Fällen auf einem einzelnen separaten Datenträger installiert. Beispielsweise einer kleinen, internen SSD. Die eigentlichen Daten, wie Bilder, Videos, Dokumente lagern auf einem RAID System, sodass diese Daten vor einem Festplattenausfall geschützt sind.

Die Installation des Betriebssystems auf einem separaten Datenträger vereinfacht die Einrichtung deutlich, denn in diesem Fall kann die automatische Partitionierung für die Systemfestplatte verwendet werden. Dies ist ein enormer Vorteil, da die manuelle Partitionierung der Systemplatte von System zu System unterschiedlich ist, sodass hierfür kaum eine allgemeingültige Anleitung geschrieben werden kann. Die Partitionierung unterscheidet sich, je nachdem ob das Mainboard ein UEFI, ein UEFI im Bios-Kompatibilitätsmodus oder noch ein altes BIOS besitzt. Teilweise wird nur die Einrichtung eines Master-Bootrecords (MBR) unterstützt, oder nur die GUID-Partition-Table (GPT).

Die automatische Partitionierung erkennt selbständig welche Einstellungen für die Systemplatte vorgenommen werden müssen, sodass die hier beschriebenen Schritte auf allen Systemen funktionieren sollten.

Die geringere Ausfallsicherheit für das System halte ich für vertretbar. Auf der Systemplatte liegen keine wichtigen Daten, da Videos, Dokumente, Bilder usw. sicher auf dem RAID gespeichert werden. Somit muss im Falle eines Ausfalls der Systemplatte nur die Installation des Betriebssystems wiederholt werden. Von den Konfigurationsdateien existiert hoffentlich ein Backup, sodass die Konfigurationsdateien nur kopiert werden müssen. Im Zweifel ist dies sogar schneller und einfacher als die Wiederherstellung eines defekten RAIDs auf der Kommandozeile.

Option 1: Interne Festplatten, Software RAID

Bei dieser Option wird das Betriebssystem auf einem einzelnen separaten Datenträger installiert. Zusätzlich wird ein Software-RAID aus zwei weiteren, ebenfalls internen Datenträgern eingerichtet. Die Daten auf diesem RAID werden immer auf beide Festplatten gespiegelt, sodass keine Daten verloren gehen, wenn eine Festplatte ausfällt.

Zuerst wird die automatische Partitionierung für die Systemplatte verwendet. Hierzu wählt man die Option „Eine ganze Festplatte verwenden„. Mit den Pfeiltasten navigiert man nach unten. Mit der Enter-Taste öffnet sich ein Menü, das alle vorhandenen Datenträger auflistet. Hier wählt man den Datenträger aus, auf dem das Betriebssystem installiert werden soll. Diesen Datenträger erkennt man am einfachsten an der Größe. Für das RAID werden die beiden gleich großen Festplatten verwendet. Der dritte Datenträger mit einer anderen Größe wird für das System verwendet.

Mit dem Button „Erledigt“ bestätigt man die Auswahl. Damit ist die Einrichtung der Systemplatte bereits abgeschlossen. Nun wird eine Übersicht der vorhandenen Datenträger und deren Partitionierung angezeigt.

Oben sieht man die Systemplatte, die bereits automatisch partitioniert wurde. Dies kann je nach verwendetem System anders aussehen als in unten stehendem Screenshot. Darunter sieht man die beiden nicht verwendeten Datenträger für das RAID.

Um das Software-RAID unter Ubuntu Server 20.04 zu erstellen, wählt man nun den Menüpunkt „Software-Raid (md) erstellen„.

Im folgenden Schritt kann auf Wunsch ein Name vergeben werden. Man kann jedoch auch die Vorgabe „md0“ lassen. In jedem Fall sollte man einen einfachen Namen ohne Leerzeichen verwenden.

Als RAID-Level wählt man „1 mirrored“. Damit werden alle Daten auf beiden Festplatten gespiegelt. Es sind also immer alle Daten auf beiden Festplatten vorhanden.

Unter „Geräte“ aktiviert man die beiden nicht verwendeten Festplatten und wählt anschließend „Erledigt„.

Man gelangt nun wieder zur Übersicht mit den verfügbaren Datenträgern und Partitionen. Unter „Verfügbare Geräte“ ist nun ein neuer Datenträger entstanden. Das gerade erstellte RAID-System. Im nächsten Schritt muss nun festgelegt werden, wie das System das RAID verwenden soll.

Hierzu wechselt man mit den Pfeiltasten so lange durch die Liste, bis das RAID-System (md0 neu) aktiviert ist. Mit einem Druck auf die Enter-Taste öffnet sich ein neues Menü. Hier wählt man die Option „Formatieren“ aus.

Nun öffnet sich das Fenster mit den Formatierungsoptionen. Bei Format kann man die Option „ext4“ unverändert lassen. Hierbei handelt es sich um das Standarddateisystem von Ubuntu und vielen anderen Linux-Betriebssystemen. Ext4 hat sich über viele Jahre bewährt.

Unter „Mount“ wird der Ordner angegeben, über welchen das RAID-System später in das Betriebssystem eingebunden wird. Laufwerke haben unter Linux keine Buchstaben, wie unter Windows, sondern werden als Ordner eingebunden. Hier sollte man den Mountpunkt unbedingt ändern. Dazu wählt man zuerst die Option „Andere“ und gibt anschließend einen Pfad an. In dieser Artieklreihe verwende ich /mnt/storage. Mit „Erledigt“ werden die Einstellungen übernommen.

Nun kommt man wieder zur Zusammenfassung der Dateisystemkonfiguration. Hier sollte man nun einerseits die Partitionierung der Systemplatte und das RAID-System unter /mnt/storage sehen. Ist hier alles korrekt, kann die Partitionierung mit „Erledigt“ abgeschlossen werden und die Installation des Betriebssystems fortgesetzt werden. Im folgenden Schritt muss man noch bestätigen, dass die gerade vorgenommenen Einstellungen übernommen werden sollen. Hierbei wird darauf hingewiesen, dass alle eventuell vorhandenen Daten auf den Festplatten verloren gehen. Dies bestätigt man mit „Fortfahren„.

Option 2: Externes USB RAID-Gehäuse

Auch bei dieser Option wird das Betriebssystem auf einem separaten Datenträger installiert, aus den oben genannten Gründen. Die wichtigen Daten, wie Bilder, Videos und Dokumente landen jedoch nicht auf einem intern verbauten Software-Raid, sondern auf einem externen RAID-Gehäuse, das über USB angeschlossen ist.

Dieses Setup vereinfacht die Installation und die spätere Wartung nochmals deutlich. Mit dieser Methode muss man weder ein RAID-System einrichten, noch dieses überwachen. Dies übernimmt das RAID-Gehäuse vollautomatisch. Wenn eine Festplatte ausfällt, muss man diese lediglich im Gehäuse austauschen (unbedingt Bedienungsanleitung beachten, das Vorgehen ist je nach Modell unterschiedlich). Für den Computer sieht das Ganze aus, wie eine normale USB-Festplatte.

Zuerst wird der Datenträger für das Betriebssystem eingerichtet. Hierzu wählt man die Option „Eine ganze Festplatte verwenden„. Mit den Pfeiltasten wechselt man nach unten und klappt mit der Enter-Taste die Liste mit verfügbaren Datenträgern aus. Hier wählt man die interne Festplatte, zu erkennen am Speicherplatz. Mit dem Button „Erledigt“ werden die Einstellungen übernommen.

Man kommt nun zur Übersicht aller vorhandenen Datenträger und Partitionen. Oben sieht man die automatisch erstellten Partitionen der Systemplatte. Unter „Verfügbare Geräte“ wird das externe, über USB angeschlossene, RAID-System angezeigt. Mit den Pfeiltasten wählt man dieses aus und öffnet mit der Enter-Taste die weiteren Optionen. Hier wählt man den Menüpunkt „Formatieren„.

Im folgenden Fenster wählt man unter „Format“ das Dateisystem Ext4. Hierbei handelt es sich um das Standarddateisystem von Ubuntu und vielen anderen Linux-Distributionen.

Unter „Mount“ wird der Mountpunkt für das externe RAID-System angegeben. Unter Linux bekommen Laufwerke keinen Buchstaben zugeordnet, wie unter Windows. Stattdessen werden sie als Ordner in das Dateisystem eingebunden. Dieser Ordner ist der sogenannte Mountpunkt. Hier wählt man zuerst die Option „Andere“ und vergibt dann einen eigenen Pfad. In dieser Artikelreihe verwende ich /mnt/storage. Mit dem Button „Erledigt“ werden die Einstellungen übernommen.

Nun gelangt man wieder zur Übersicht der verfügbaren Datenträger und Partitionen. Hier sind nun die automatisch erstellten Partitionen für das Betriebssystem zu sehen, sowie das externe RAID-System, das unter /mnt/storage eingebunden wird. Mit „Erledigt“ wird nun die Partitionierung und Formatierung anhand der vorgenommenen Einstellungen automatisch durchgeführt.

Im folgenden Schritt muss man noch bestätigen, dass die gerade vorgenommenen Einstellungen übernommen werden sollen. Hierbei wird darauf hingewiesen, dass alle eventuell vorhandenen Daten auf den Festplatten verloren gehen. Dies bestätigt man mit „Fortfahren„.

Fortsetzen der Installation des Betriebssystems

Die folgenden Schritte sind bei allen Hardwarekonfigurationen wieder identisch. Im folgenden Schritt wir der Account des Hauptbenutzers/Administratosr angelegt, sowie ein Name für den Server vergeben. Diese Einstellungen kann man nach Belieben vornehmen. Der Servername darf jedoch keine Leerzeichen oder Sonderzeichen enthalten.

Dann bietet das Installationsprogramm an, direkt einen SSH-Server zu installieren. Diese Option sollte man aktivieren, da der SSH-Server später zur Fernwartung ohnehin benötigt wird.

Nun kommt eine weitere Übersicht mit zusätzlich installierbarer Software. Hier wird nichts ausgewählt. Alle benötigten Programme werden später manuell installiert und konfiguriert. Daher wird der Schritt mit dem Button „Erledigt“ übersprungen.

Jetzt erfolgt die eigentliche Installation des Betriebssystems automatisch, anhand der gemachten Einstellungen. Dabei werden auch vorhandene Updates direkt heruntergeladen und installiert.

Ist die Installation abgeschlossen, erscheint der Button „Neustart„. Wenn man diesen betätigt, wird der Computer neu gestartet und das gerade installierte Betriebssystem geladen.


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2 ist ein Beitrag von techgrube.de.

Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


In den beiden vorherigen Teilen wurde die Hardware eingerichtet und das Betriebssystem installiert. Bevor es nun an das Installieren und Einrichten der eigentlichen Dienste geht, sollten noch ein paar Grundeinstellungen vorgenommen werden. Außerdem gilt es ein paar grundlegende Dinge bei der Administration zu beachten.

Gleichbleibende IP-Adresse im Router aktivieren

Damit der Zugriff über das Netzwerk auf den Server zuverlässig funktioniert, darf sich dessen IP-Adresse nicht verändern.

Normalerweise wird aus diesem Grund für Server eine statische IP-Adresse konfiguriert. Das bedeutet, dass in den Konfigurationsdateien des Servers eine bestimmte IP-Adresse fest hinterlegt wird. Dazu muss man jedoch die Netzwerkkonfiguration seines Heimnetzes genau kennen. Insbesondere muss man die IP-Range für den DHCP-Server im Router kennen. Das sind die IP-Adressen, die der Router den Geräten im Netzwerk eigenständig zuteilen darf.

Einfacher ist es, den Router so zu konfigurieren, dass er dem Homeserver immer dieselbe IP-Adresse zuteilt. Moderne Router bieten diese Option in den allermeisten Fällen an.

In der Benutzeroberfläche der FritzBox navigiert man zu Heimnetz > Netzwerk. Hier findet man eine Liste mit allen Geräten, die im Heimnetz aktiv sind oder waren. Aus dieser Liste wählt man den Homeserver aus. Dann muss nur noch der Haken bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“ gesetzt werden.

Am besten notiert man sich in diesem Schritt auch gleich die IP-Adresse, die der Router dem Homeserver zugeteilt hat.

Login auf den Server mit SSH

Die Einrichtung und die spätere Wartung und Administration nimmt man am besten über eine SSH-Verbindung vor. Auf diese Weise kann man sich sicher über das Netzwerk mit der Kommandozeile des Homeservers verbinden. Hierzu wird jedoch die IP-Adresse des Servers benötigt.

Wenn diese nicht bekannt ist, muss man die IP-Adresse zuerst herausfinden. Hierzu muss man sich wieder direkt am Homeserver einloggen.

Nach dem Login wird eine Reihe von Systeminformationen angezeigt. Hier findet man auch die IP-Adresse des Homeservers.

IP Adresse des Homeservers herausfinden. Möglichkeit 1

Alternativ kann man folgenden Befehl verwenden. Damit werden alle Adressen aller Netzwerkschnittstellen angezeigt.

ip addr
IP Adresse des Homeservers herausfinden. Möglichkeit 2

Anschließend kann man sich von jedem beliebigen Computer mit dem Homeserver via SSH verbinden.

Wenn man ein Linux-Betriebssystem oder einen Mac verwendet muss man hierzu das Terminal öffnen. Unter Windows 10 verwendet man die PowerShell. Wer noch eine ältere Version von Windows verwendet, der benötigt eine Zusatzsoftware wie Putty. Der Einfachheit halber werde ich immer von Terminal sprechen, auch wenn die PowerShell gemeint ist.

Mit folgendem Befehl wird eine Verbindung zum Homeserver hergestellt. Benutzername und IP-Adresse muss natürlich an das eigene Setup angepasst werden.

ssh benutzername@ip-adresse

z.B.
ssh nikobra@192.168.30.153
SSH Verbindungsaufbau mit der Powershell

Das Betriebssystem immer aktuell halten

Software ist komplex und daher anfällig für Fehler. Das gilt ganz besonders für Betriebssysteme, da diese eben sehr komplex sind. Daher gibt es in regelmäßigen Abständen Updates, die Fehler beseitigen und Sicherheitslücken schließen. Aus diesen Gründen sollte man sein System immer aktuell halten.

Nach dem Login zeigt das System direkt an, ob Updates verfügbar sind. In diesem Fall sind 56 Updates verfügbar, von denen 27 Sicherheitsupdates sind und dementsprechend zügig eingespielt werden sollten.

Ubuntu Server verfügbare Updates

Mit folgendem Befehl prüft man auf verfügbare Updates für das Betriebssystem und sämtliche andere Software, die aus den Paketquellen installiert wurde. Sind Updates verfügbar, dann werden diese direkt installiert.

sudo apt update && sudo apt upgrade

Eigentlich handelt es sich hierbei um zwei Befehle, die nacheinander ausgeführt werden und durch das „&&“ verbunden werden. Das doppelte &-Zeichen soft dafür, dass der zweite Befehl nur ausgeführt wird, wenn der erste Befehl erfolgreich ausgeführt wurde.

Das vorangestellte „sudo“ sorgt dafür, dass der Befehl mit erhöhten Rechten (Rootrechte, entspricht Administratorrechten unter Windows) ausgeführt wird. Ansonsten hat man nicht die Berechtigung Systemdateien zu verändern. Sudo darf nur von Benutzern ausgeführt werden, für die dies konfiguriert wurde. Der Account, der bei der Installation angelegt wurde, hat dieses Recht automatisch.

Apt ist der Paketmanager. Mit dem Zusatz „update“ prüft der Paketmanager, ob aktualisierte Software in den Paketquellen verfügbar ist. Der Zusatz „upgrade“ installiert die verfügbaren Updates.

Homeserver Neustart erforderlich

Eventuell ist nach der Installation von Updates ein Neustart nötig, um die Änderungen zu übernehmen. Ein Neustart wird mit folgendem Befehl ausgeführt.

sudo reboot

Wenn man den Computer herunterfahren möchte, ohne einen Neustart auszuführen, dann wird folgender Befehl verwendet.

sudo shutdown -h now

Ubuntu 20.04. Server Systemsprache auf Deutsch umstellen

Wenn die Installation der Updates mit „Y“ für yes bestätigt werden musste, anstatt mit „J“ ja, dann steht die Systemsprache auf Englisch. Dies hat noch weitere Auswirkungen in der Bedienung, beispielsweise bei der Bedienung des Texteditors Nano. Daher sollte man die Sprache noch auf Deutsch umstellen. Dazu werden zuerst die deutschen Sprachpakete installiert.

sudo apt install -y language-pack-de language-pack-de-base

Dann kann man die gewünschten Spracheinstellungen mit folgendem Befehl auswählen.

sudo dpkg-reconfigure locales

Im nächsten Schritt wird eine lange Liste mit Lokalisierungsoptionen angezeigt. Hier aktiviert man die Option „de_DE.UTF-8 UTF-8„, indem man mit der Leertaste ein Sternchen vor die entsprechende Zeile setzt. Wenn bei irgendeiner anderen Zeile ein Sternchen vorhanden ist, kann man dieses auf die gleiche Weise entfernen. Mit OK kommt man zum nächsten Schritt.

Configure locales

Wenn mehrere Lokalisierungsoptionen vorhanden sind, muss man hier die Option auswählen, die standardmäßig verwendet werden soll. Auch hier wählt man wieder die Zeile „de_DE.UTF-8 UTF-8“ und bestätigt die Auswahl mit OK.

Nach einem Neustart ist die Systemsprache auf Deutsch umgestellt. Tatsächlich sind nicht alle Elemente des Systems übersetzt. Die meisten Bedienoberflächen, wie beispielsweise beim Texteditor Nano sind nun deutsch. Vor allem aber ist das Tastaturlayout nun passend eingestellt.

Configure locales Schritt 2

Homeserver aus dem Internet erreichbar machen

Natürlich ist es praktisch, wenn man einen zentralen Netzwerkspeicher im Heimnetz hat. Wirklich uneingeschränkt nutzen lässt sich der Homeserver aber erst, wenn man ihn auch von unterwegs über das Internet erreichen kann.

Nur so kann man auch unterwegs auf seine Daten zugreifen und Kontakte und Kalender mit mehreren Geräten synchronisieren.

Leider gibt es dabei mittlerweile ein Problem. Um von außer Haus über das Internet auf den Homeserver zugreifen zu können, muss der heimische Internetanschluss über eine öffentliche IP-Adresse verfügen. Und immer weniger Internetanschlüsse bekommen eine eigene, öffentliche IPv4 Adresse von ihren Providern zugeteilt.

Glücklicherweise unterstützen alle halbwegs aktuellen Internetanschlüsse und Router IPv6 und bekommen hier ausreichend Adressen zugeteilt. Wenn also alle beteiligten Geräte IPv6 unterstützen, dann steht dem Zugriff von außerhalb des Heimnetzes nichts im Wege. Dafür muss aber sowohl der Internetanschluss zu Hause, als auch der Internetanschluss den man unterwegs verwendet IPv6 unterstützen.

Leider ist die Situation nicht so einfach. Gerade im Mobilfunknetz, das man ja unterwegs häufig verwendet um auf den Homeserver zuzugreifen, bekommt man oft nur IPv4 Adressen und auch in Hotels oder Firmennetzen ist das häufig der Fall. Damit kann man aber den Homeserver mit seiner IPv6 Adresse nicht erreichen.

Um den Zugriff über das Internet auf den Homeserver zu konfigurieren, muss man also wissen, ob der eigene Internetanschluss über eine öffentliche IPv4 Adresse verfügt.

Wenn der Internetanschluss über eine öffentliche IPv4 Adresse verfügt, dann ist der Zugriff über das Internet kein Problem. In diesem Fall kann man diesen über einen normalen DynDNS-Dienst realisieren.

Hat der Internetanschluss nur eine öffentliche IPv6-Adresse, wird es komplizierter. Damit man auch von einem Internetanschluss ohne IPv6 (Hotel, Mobilfunk) auf den Homeserver zugreifen kann, benötigt man einen Relay-Dienst, der quasi von IPv4 nach IPv6 übersetzt.

Dieser Abschnitt beinhaltet also zwei Anleitungen, je nachdem über welche Art von Internetanschluss man verfügt.

Option 1: Anschluss verfügt über öffentliche IPv4-Adresse

  • Häufig handelt es sich DSL-Anschlüsse.
  • Anschluss verfügt meistens über eine eigene, global erreichbare IPv4 und IPv6 Adresse(n).
  • Zugriff auf das NAS mit DynDNS-Adresse und Portfreigaben im Router problemlos möglich.


Option 2: Anschluss verfügt nicht über eine öffentliche IPv4-Adresse

  • Oft Dual-Stack-Lite (auch: DS-Lite, nicht verwechseln mit der Abkürzung DSL):
  • Anschluss verfügt nicht über eine öffentliche IPv4-Adresse
  • In der Regel Kabelanschlüsse (Internet über Fernsehkabel).
  • Anschluss verfügt lediglich über eine öffentliche IPv6-Verbindung. IPv4-Verbindungen erfolgen über eine private Adresse, die sich mehrere Anschlüsse teilen. Dabei sorgt ein Server des Internetanbieters dafür, dass jeder Anschluss die für ihn bestimmten IPv4 Pakete erhält (Carrier-Grade-NAT).
  • Zugriff von außen auf das Heimnetz nur über IPv6 möglich.
  • Eingehende IPv4-Verbindungen scheitern am Carrier-Grade-NAT.
  • Komfortabler Zugriff von außen nur mit erhöhtem Aufwand und Umwegen möglich.

Homeserver aus dem Internet erreichbar machen, Option 1: Mit öffentlicher IPv4 Adresse

Die wohl bekannteste Lösung um den eigenen Internetanschluss über das Internet erreichbar zu machen ist DynDNS. Ein System, dass die hinter einem Domainnamen stehende IP-Adresse bei jeder Änderung aktualisiert. Somit ist das NAS von unterwegs immer über eine leicht zu merkende Internetadresse erreichbar.

Um die Einstiegshürde so niedrig wie möglich zu halten, zeige ich die Einrichtung in diesem Artikel anhand des Anbieters No-IP.com, welcher einerseits direkt von der Fritzbox unterstützt wird und außerdem kostenlos genutzt werden kann. Natürlich kann auch jeder andere Anbieter genutzt werden.

Als Erstes muss man sich einen Account bei No-IP.com anlegen. Nach dem Login kann man einen Domainname anlegen. Hierzu geht man links im Menü auf Dynamic DNS und anschließend auf den Menüpunkt Create Hostname.

No-IP.com Dyndns Account erstellen

Nun kann man sich einen Hostnamen und eine Domain auswählen. Daraus setzt sich dann die Adresse zusammen, über die man den Homeserver später über das Internet erreichen kann. In diesem Beispiel ist das https://mimashome.ddns.net. Die anderen Felder können ignoriert werden bzw. müssen nicht verändert werden. Angelegt wird die Adresse mit einem Klick auf den Button “Create Hostname”.

No-IP Hostname erstellen

DynDNS Dienst in der FritzBox aktivieren

Da No-IP von der Fritzbox standardmäßig unterstützt wird, ist die Konfiguration schnell erledigt.
Die Einstellungen hierzu findet man in der Benutzeroberfläche der FritzBox unter Internet -> Freigaben -> DynDNS

Dort gibt man seinen gerade erstellten Domainname sowie seinen Benutzernamen und das Passwort von No-IP ein.

No-IP account in Fritzbox eintragen

Mit einem Klick auf den Button “Übernehmen” meldet sich die Fritzbox bei No-IP an und informiert ab sofort den Anbieter jedes Mal, wenn sich die IP-Adresse ändert. Auf diese Weise funktioniert der Zugang zum Heimnetz über DynDNS auch dann, wenn sich die IP-Adresse am Internetanschluss ändert, was häufig einmal pro Tag der Fall ist.

Portfreigabe für den Zugriff auf den Homeserver einrichten

Grundsätzlich ist das Heimnetzwerk nun über das Internet erreichbar. Versucht man allerdings über die oben vergebene Adresse auf das Heimnetz zuzugreifen, dann scheitert der Zugang jedoch am Router, in diesem Beispiel an der Fritzbox, die standardmäßig alle Zugriffe auf das Heimnetz blockt. Damit man von unterwegs auf den Homeserver zugreifen kann, muss eine Portfreigabe eingerichtet werden. Auf der Fritzbox findet man die Einstellungen hierzu unter Internet -> Freigaben -> Portfreigaben. Dort wählt man dann den Button “Gerät für Freigabe hinzufügen

Im Dropdown-Menü sollte bereits der Homeserver mit dem Namen Mimas vorhanden sein. Fall das Gerät fehlt, sollte man den Homeserver einmal neu starten. Nachdem der Rechner gestartet ist muss die Konfigurationsoberfläche im Browser neu geladen werden. Dann sollte das Gerät in der Liste erscheinen.

Im unteren Bereich muss zum Erstellen einer Portfreigabe noch der Button “Neue Freigabe” geklickt werden. Im nächsten Fenster wird als Anwendung “HTTPS-Server” ausgewählt, wodurch alle weiteren Felder automatisch ausgefüllt werden. Falls man einen Router besitzt, der das automatische Ausfüllen nicht anbietet, muss als Portnummer sowohl für interne als auch externe Ports die Nummer 443 und als Protokoll TCP angegeben werden.
Mit einem Klick auf “OK” wird der Homeserver wirklich über das Internet erreichbar gemacht.

Portfreigabe in Fritzbox erstellen

Diesen Schritt muss man für die Portnummern 80 sowie 32400 wiederholen. Port 80 wird für unverschlüsselte http-Verbindungen benötigt. Außerdem wird der Port verwendet, um das Let’s Encrypt Zertifikat für die verschlüsselte https-Verbindung auszustellen. Port 32400 ist der Standardport von Plex für das Streaming von Musik und Videos. Für die Freigabe des Ports 32400 wird im Menü bei Anwendung „Andere Anwendung“ ausgewählt, damit kann man eine beliebige Portnummer freigeben.

Nach dem Speichern der angelegten Freigaben sieht die Übersicht in der Fritzbox folgendermaßen aus:

Portfreigaben Fritzbox für den Homeserver

Es wurde also eine Freigabe, bzw. Portweiterleitung für folgende Ports eingerichtet.

  • 80
  • 443
  • 32400

Homeserver aus dem Internet erreichbar machen, Option 2: Ohne öffentliche IPv4 Adresse

An einem DS-Lite Internetzugang, bzw. jedem Internetzugang ohne öffentliche IPv4-Adresse hat man mit folgenden Schwierigkeiten zu kämpfen.

  • Der Internetzugang hat keine öffentliche IPv4 Adresse. Damit ist von außen keine Verbindung zum Heimnetz via IPv4 möglich.
  • Gerade im Mobilfunknetz bekommt man häufig nur eine IPv4 Adresse und keine IPv6-Adresse. In der Praxis bedeutet das, dass man mit dem Smartphone nicht auf das Heimnetz zugreifen kann.
  • Der Internetzugang verfügt jedoch über eine öffentliche IPv6 Adresse. Ein Zugang ist somit über IPv6 möglich.
  • Jedes Gerät im Heimnetz hat seine eigene öffentliche IPv6 Adresse (nicht nur eine einzige für den Router, wie bei IPv4).
  • Klassisches DynDNS im Router und Portfreigaben funktionieren nicht, da man über die DynDNS-Adresse nur auf den Router zugreifen könnte, da dessen Adresse im DynDNS-System hinterlegt ist. Diese Situation könnte man u. a. dadurch lösen, dass man auf dem Homeserver/NAS einen DynDNS-Client laufen lässt und nicht die Funktion im Router nutzt.

Hierfür kann man eine Software wie ddclient auf dem Homeserver verwenden, um bei der DynDNS-Adresse die IPv6 Adresse zu aktualisieren. Wer dies umsetzen möchte, findet hierzu eine hilfreiche Beispielkonfiguration im Wiki von Ubuntuusers unter https://wiki.ubuntuusers.de/DDNS-Clients/

Relativ elegant lassen sich all die genannten Probleme lösen, wenn man über einen Relay-Server auf das Heimnetz zugreift. Das bedeutet, dass man sich von unterwegs nicht direkt mit dem Homeserver im Heimnetz, sondern mit einem Server im Internet verbindet. Dieser Server ist sowohl via IPv4, als auch via IPv6 erreichbar und baut wiederum via IPv6 eine Verbindung zum eigenen Internetanschluss und dem Homeserver auf. Er dient damit als eine Art Zwischenstation und Übersetzer von IPv6 auf IPv4.

Relay Server Prinzip

Der Vorteil dieser Lösung ist, dass man nun wieder aus allen Netzen von unterwegs auf das Heimnetz zugreifen kann. Dabei ist es egal, ob die Endgeräte über eine IPv4 oder eine IPv6 Adresse verfügen.

Allerdings hat die Lösung auch Nachteile. So wird der gesamte Datenverkehr zwischen den Geräten außerhalb des Heimnetzes (Smartphone, Laptop etc.) und dem Homeserver im Heimnetz über den Relay-Server umgeleitet. Dies kann sich negativ auf Paketlaufzeit und die Geschwindigkeit auswirken. Wenn der Traffic unverschlüsselt ist (also nicht über https), dann hat der Anbieter des Relay-Servers die Möglichkeit den Internetverkehr mitzulesen. Nicht nur aus diesem Grund sollte man Daten über das Internet nur verschlüsselt übertragen. Da für den Anbieter des Relay-Servers ggf. große Datenmengen entstehen, ist ein solcher Dienst in der Regel kostenpflichtig. Es gibt auch kostenlose Dienste, deren Performance aber entsprechend gering ist.

Die Einrichtung eines solchen Dienstes unterscheidet sich sehr stark, je nachdem welchen Anbieter und welchen Router man verwendet. Es ist daher kaum möglich, eine Anleitung zu schreiben, die für jeden funktioniert. Als Beispiel wird in dieser Anleitung die Einrichtung mit einer Fritzbox, dem MyFritz-Dienst als DynDNS-Service und feste-ip.net als Betreiber des Relay-Servers beschrieben. Dieses Setup ist relativ einfach und kostengünstig einzurichten. Außerdem ist die Fritzbox weit verbreitet.

MyFritz!-Konto einrichten

Zuerst wird ein kostenloses MyFritz-Konto eingerichtet und mit der Fritzbox verbunden. Je nach Anbieter ändern sich leider auch die IPv6-Adressen, die man vom Internetanbieter erhält, sodass man nach wie vor einen DynDNS-Anbieter benötigt. Die Verwendung von MyFritz hat den Vorteil, dass der Dienst automatisch eine Subdomain für alle Computer im Heimnetz anlegt, für die Freigaben ins Internet eingerichtet wurden. Damit wird kein eigener DynDNS-Client auf dem Homeserver benötigt, was das Setup noch komplexer machen würde, als es ohnehin ist.

  • Als Erstes loggt man sich in der Benutzeroberfläche der Fritzbox ein
  • Dort klickt man auf “Internet”.
  • Im Menü „Internet“ wählt man „MyFRITZ!-Konto„.
  • In das Eingabefeld “Ihre E-Mail-Adresse” muss man eine gültige E-Mail-Adresse eintragen.
  • Mit einem Klick auf den Button “Weiter” sendet MyFRITZ! eine E-Mail mit dem Bestätigungslink an die eingegebene Adresse.
  • In der E-Mail muss man auf die Schaltfläche „Ihre FRITZ!Box registrieren“ klicken. Damit wird man auf die MyFRITZ!-Internetseite weitergeleitet. Dort klickt man auf den Link „MyFRITZ!-Konto einrichten„.
  • Hier vergibt man über die Eingabefeldern „Kennwort“ und „Kennwort bestätigen“ ein eigenes Passwort. Dieses wird benötigt, um sich künftig auf myfritz.net anzumelden.
  • Mit einem Klick auf den Button „Vorgang abschließen“, ist die Anmeldung bei MyFritz beendet.

Internetzugriff zum Homeserver über MyFritz! einrichten

Nun wird der Zugriff zum Homeserver konfiguriert. Auch dies geschieht über die Benutzeroberfläche der FritzBox.

  • In der Benutzeroberfläche der Fritzbox klickt man auf den Menüpunkt “Internet” und anschließend auf “Freigaben”.
  • Hier wählt man den Reiter “Portfreigaben”.
  • Dann klickt man den Button “Gerät für Freigaben hinzufügen”.
  • Im Dropdown-Menü “Gerät” wählt man den Homeserver aus, in diesem Beispiel hat er den Namen Mimas.

Wichtig ist, dass man an dieser Stelle darauf achtet, dass die IPv6 Interface-ID die in der Fritzbox angezeigt wird, und die tatsächliche Interface-ID des Homeservers übereinstimmen. Andernfalls funktioniert der Zugang nicht. Um dies zu prüfen, loggt man sich auf dem Homeserver ein und gibt folgenden Befehl in das Terminal ein.

ip -6 addr

Damit werden alle IPv6 Adressen aufgelistet, die dem Homeserver zugeordnet sind. Aus dieser Liste sucht man sich die IPv6-Adresse aus, die NICHT mit fd00 oder fe80 beginnt. Die letzten vier Blöcke der Adresse müssen mit der Interface-ID in der Fritzbox übereinstimmen. Ist dies nicht der Fall, muss man den Eintrag in der Fritzbox manuell anpassen.

Interface ID in Fritzbox eintragen
Interface ID herausfinden
  • Zum Erstellen der Freigabe klickt man jetzt auf den Button “Neue Freigabe”.
  • Dort wählt man die Option “MyFRITZ!-Freigabe”.
  • Im Menü “Anwendung” wählt man HTTP-Server aus.
  • Die anderen Felder müssen nicht ausgefüllt werden. Mit einem Klick auf “OK” wird die Freigabe eingerichtet.
  • Diesen Vorgang wiederholt man nun und wählt im Menü “Anwendung” HTTPS-Server aus.
  • Anschließend erstellt man noch eine Freigabe für den Port 32400.
  • Mit einem Klick auf “OK” werden die Freigaben erstellt.

Achtung: Port 32400 fehlt im Screenshot. Muss aber ebenfalls angelegt werden, wenn man Plex über das Internet verwenden will. Wenn man nur Nextcloud verwendet, reichen die Ports 80 und 443.

Internetfreigaben Fritzbox Übersicht

Jetzt wird noch die individuelle MyFRITZ-Adresse benötigt, die mit der Freigabe automatisch für den Homeserver erstellt wurde. Diese kann man sich anzeigen lassen, wenn man die Option zum Bearbeiten der Freigabe aufruft.

  • Hierzu klickt man auf das Stift-Icon auf der rechten Seite
  • Im folgenden Fenster klickt man wieder auf das Stift-Icon neben einer beliebigen Freigabe.
  • Im Feld “MyFRITZ!-Adresse” sieht man nun die individuelle MyFritz-Adresse für den Homeserver, gefolgt von der Portnummer nach dem Doppelpunkt.

Der Teil nach dem http:// und vor dem :80 wird im nächsten Schritt zum Einrichten des Relay-Servers benötigt.

Beispielsweise: mimas.​lasdgoetnvklvwph.​myfritz.​net

Portmapper von Feste-IP.Net als Relayserver einrichten

Um das Problem mit der fehlenden öffentlichen IPv4-Adresse zu lösen, muss nun noch ein Relayserver eingerichtet werden. Beim Anbieter Feste-IP.Net sind diese unter den Produktnamen Portmapper erhältlich. Da der Betrieb der Server Geld kostet, ist das Angebot zwar nicht kostenlos, je nach Produktvariante aber sehr kostengünstig.

Man muss zwei Produkte unterscheiden, den universellen Portmaper von Feste-IP.Net und den dedizierten Portmapper.

Der universelle Portmapper teilt sich eine IPv4 Adresse mit anderen Nutzern auf demselben Server. Diese Version ist für knapp 4 € pro JAHR zu bekommen. Allerdings bekommt man hier keine Standardports, da diese pro IP-Adresse nur einmal verfügbar und dementsprechend knapp sind. Dies bedeutet, dass man beim Aufrufen seiner Internetadresse immer die Portnummer angeben muss. So kann man beispielsweise seine Nextcloud auf dem Homeserver nicht mit einer Adresse wie https://mymxtcloud.feste-ip.net aufrufen. Stattdessen muss man beispielsweise https://mymxtcloud.feste-ip.net:56083 verwenden.

Beim dedizierten Portmapper bekommt man eine eigene IPv4 Adresse. Damit kann man Standardports verwenden und sein NAS ohne angehängte Portfreigabe aufrufen. Hierfür werden zusätzlich 3,50 € pro Monat fällig.

In diesem Beispiel wird der universelle Portmapper verwendet. Bei der Anmeldung bei Feste-IP.Net erhält man 50 Credits Startguthaben, um das Angebot zu testen. Dies reicht, um den universelle Portmapper 50 Tage kostenlos zu testen.

  • Nach der Anmeldung bei Feste-IP.Net klickt man auf der Webseite auf den Button “Mein Account
  • Hier wählt man in der Seitenleiste die Option “Universelle Portmapper”.
    • Als Mapping-Server wählt man einen beliebigen Server in seiner Nähe. Dies verringert die Paketlaufzeiten.
    • Der Alias ist die DynDNS-Adresse, über die man später den Homeserver aus dem Internet erreichen möchte.
    • Bei “DNS oder IPv6 Ziel” gibt man die MyFRITZ-Adresse des Homeservers ohne http:// und ohne Portnummer ein. Beispielsweise: mimas.​lasdgoetnvklvwph.​myfritz.​net
    • Bei Ports gibt man die Ports an, über die man seinen Homeserver zugreifen möchte. Also “80” und “443” ein
    • Im Menü “1:1 Portmapper” wählt man “1x 1:1 Portmapper erstellen”
    • Über den Button “System eintragen und Portmapings erstellen” wird der Portmapper angelegt.
Feste-ip.net Portmapper einrichten

Achtung: Port 32400 fehlt im Screenshot. Muss aber ebenfalls angelegt werden, wenn man Plex über das Internet verwenden will. Wenn man nur Nextcloud verwendet, reichen die Ports 80 und 443.

In der Übersicht werden jetzt die Portnummern angezeigt, die man vom universellen Portmapper zugeteilt bekommen hat. In diesem Beispiel würde man den Homeserver über eine unverschlüsselte HTTP-Verbindung nun über http://mynxtcloud.feste-ip.net:10623 erreichen. Für eine verschlüsselte HTTPS-Verbindung müsste man https://mynxtcloud.feste-ip.net:10725 verwenden. Verwendet man den dedizierten Portmapper, ist keine Angabe von Portnummern nach der Domain nötig.

Die Verbindung zum Homeserver im Heimnetz funktioniert über diese Adressen aus dem Internet sowohl via IPv4 als auch via IPv6.


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3 ist ein Beitrag von techgrube.de.

Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Das Betriebssystem wurde in den letzten Teilen installiert und die wichtigsten Grundkonfigurationen vorgenommen. Nun können die ersten Dienste auf dem Homeserver installiert werden.

In diesem Teil werden die Ordnerfreigaben für das lokale Heimnetz erstellt. Die Software, die hierfür verwendet wird, ist SAMBA-Server. Damit können über das SMB/CIFS-Protokoll Freigaben im lokalen Netz erstellt werden. Diese Art der Freigaben wird von allen Betriebssystemen wie Windows, MacOS, Linux usw. unterstützt. Die Freigaben können beispielsweise in Windows als Netzlaufwerk eingebunden werden, sodass man bequem auf alle Dateien auf dem Homeserver zugreifen kann. Auch mit Software wie dem Mediacenter Kodi kann man direkt und ohne Umwege über diese Freigaben auf Filme, Videos und Bilder zugreifen. Ein weiterer Vorteil ist, dass die Datenübertragung mit dem SMB/CIFS-Protokoll sehr schnell ist, sodass auch große Dateimengen im lokalen Netzwerk schnell auf den Homeserver übertragen werden können.

Aus Sicherheitsgründen ist der Zugriff auf diese Freigaben auf das Heimnetz beschränkt, d.h. es werden keine Freigaben im Router erstellt, über die man aus dem Internet zugreifen könnte. Die Datenübertragung über das Internet sollte ausschließlich verschlüsselt erfolgen. SMB ist jedoch unter Umständen unverschlüsselt.

Der Zugriff über das Internet wird im folgenden Teil konfiguriert. Hierfür wird eine sichere, verschlüsselte Verbindung über Nextcloud verwendet.

In diesem Beispiel werden vier Benutzer angelegt.

Tom: Der Name ist willkürlich gewählt. Hier wird eine private Freigabe für das Familienmitglied Tom erstellt, auf welche nur dieser User Zugriff hat.
Lena: Ebenfalls ein willkürlich gewählter Name für ein weiteres Familienmitglied.
Media: Ein spezieller Benutzername für den Zugriff auf Bilder, Videos usw. mit einem Mediaplayer wie Kodi.
smb: Ein Benutzername, der nur vom System verwendet wird, um Dateien zu schreiben. Damit werden Probleme mit den Dateiberechtigungen vermieden, da ansonsten eine von Tom erstellte Datei nicht von Lucy geändert werden könnte. Man könnte stattdessen auch jeden anderen Benutzer (z.B. Tom) verwenden. Ich erstelle der Verständlichkeit halber einen eigenen Benutzer.

Anschließend werden vier Freigaben erstellt.

Tom: Eine private Freigabe, auf die nur Tom zugreifen kann.
Lena: Eine private Freigabe, auf die nur Lena zugreifen kann.
Familie: Auf diese Freigabe haben Tom und Lena Zugriff.
Media: Eine Freigabe für Videos und Bilder. Tom und Lena haben Lese- und Schreibzugriff. Der User media kann jedoch nur Dateien lesen und nichts verändern.

Achtung: Der Administrator des Homeservers hat immer vollständigen Zugriff auf alle Daten auf der Festplatte. Das bedeutet, die Passwörter schützen lediglich vor unbefugtem Zugriff über das Netzwerk. Das sollte man allen Familienmitgliedern auch so kommunizieren. Vor unbefugtem Zugriff durch den Administrator auf private Daten schützt nur eine Verschlüsselung der Dateien. Das gilt übrigens auch für die großen Clouds wie Google Drive, Dropbox, Onedrive usw.

Installation des Sambaservers und Anlegen der Benutzer

Im ersten Schritt wird der Samba-Server installiert. Dies geschieht mit folgendem Befehl.

sudo apt install -y samba samba-common

Dann werden die Systembenutzer im Betriebssystem angelegt. Diese Benutzer werden nur vom System dazu verwendet, auf Samba-Freigaben zuzugreifen. Daher wird kein Homeverzeichnis angelegt und der Login direkt am System deaktiviert. Die Abfragen von Name, Zimmer usw. können einfach mit Enter übersprungen werden.

sudo adduser --no-create-home --disabled-login --shell /bin/false tom
sudo adduser --no-create-home --disabled-login --shell /bin/false lena
sudo adduser --no-create-home --disabled-login --shell /bin/false media
sudo adduser --no-create-home --disabled-login --shell /bin/false smb

Im folgenden Schritt werden die Passwörter vergeben, mit denen die Freigaben geschützt werden.

sudo smbpasswd -a tom
sudo smbpasswd -a lena
sudo smbpasswd -a media

Übrigens: Wenn man die Passwörter später ändern möchte, dann kann der Befehl einfach erneut ausgeführt werden.

Anlegen der Ordner

Nun werden die Ordner angelegt, in denen die Daten gespeichert werden, die man auf den Homeserver überträgt. Da das RAID-System für die Daten unter /mnt/storage eingebunden wurde, müssen alle Order als Unterordner von mnt/storage/ angelegt werden. Ansonsten würden die Daten auf der Systemplatte landen und wären nicht durch das RAID geschützt.

sudo mkdir -p /mnt/storage/shares/{tom,lena,media,familie}
sudo chown -R smb: /mnt/storage/shares

Einrichten der Freigaben

Die Freigaben werden über die Konfigurationsdatei /etc/samba/smb.conf konfiguriert. Die Datei kann mit jedem Texteditor bearbeitet werden. Mit dem folgenden Befehl wird die Konfigurationsdatei mit dem Texteditor Nano geöffnet, da dieser einsteigerfreundlich und leicht zu bedienen ist.

sudo nano /etc/samba/smb.conf

In der Datei scrollt man mit der Pfeil-nach-unten Taste ganz ans Ende. Dort werden folgende Zeilen eingefügt, um die Freigaben zu erstellen.

[Tom]
comment = Tom
path = /mnt/storage/shares/tom
write list = tom
valid users = tom
force user = smb

[Lena]
comment = Lena
path = /mnt/storage/shares/lena
write list = lena
valid users = lena
force user = smb

[Familie]
comment = Familie
path = /mnt/storage/shares/familie
write list = tom,lena
valid users = tom,lena
force user = smb

[Media]
comment = media
path = /mnt/storage/shares/media
write list = tom,lena
valid users = tom,lena,media
force user = smb

Damit der Zugriff auch mit Windows 10 funktioniert, muss noch eine Zeile in der Konfigurationsdatei geändert werden. Und zwar muss die Zeile „map to guest = bad user“ zu „map to guest = never“ geändert werden.

Wenn man diese Zeile nicht ändert, bekommt man beim Zugriffsversuch mit Windows 10 eine Fehlermeldung wie: „Auf 192.168.30.119 kann nicht zugegriffen werden. Vergewissern Sie sich, dass der Name richtig geschrieben wurde. Möglicherweise besteht ein Netzwerkfehler. Klicken Sie auf Diagnose“.

map to guest = bad user

map to guest = never

Mit den Tastenkombinationen Strg+o wird die Datei gespeichert. Mit Strx+x wird der Editor wieder beendet.

Die Angabe in den eckigen Klammern ist der Name der Freigabe, mit der diese im Netzwerk sichtbar ist.
Der Kommentar ist ein beliebiges Wort oder Satz, der die Freigabe beschreibt.
Hinter „path“ wird der Pfad im Dateisystem angegeben, wo die Daten für diese Freigabe gespeichert werden.
Write list ist eine Liste mit allen Benutzernamen, die über das Netzwerk auf dieser Freigabe Dateien verändern dürfen. Dazu gehört auch das Erstellen und Löschen von Dateien und Ordnern.
Valid users ist eine Liste mit Benutzernamen, die auf die Freigabe zugreifen können. Ist ein Benutzername in der Liste „valid users“, nicht jedoch in der Liste „write list“, dann darf der Benutzer zwar auf die Freigabe zugreifen und Dateien lesen, nicht jedoch verändern.
Force user gibt den Benutzername an, mit dem Samba die Daten auf die Festplatte schreibt. So wird sichergestellt, dass alle Daten mit demselben Benutzernamen geschrieben werden. Fehlt die Angabe, wird der Benutzer verwendet, der auf die Freigabe zugreift, also Tom, Lena etc.

Damit die Änderungen aktiv werden, muss der Samba-Server einmal neu gestartet werden.

sudo systemctl restart smbd.service

Schnellzugriff auf Freigaben mit Windows 10

Für Tests, oder wenn man nur gelegentlich auf eine Freigabe zugreifen will, lohnt es sich nicht, diese dauerhaft als Netzlaufwerk einzubinden. Die schnellste und einfachste Möglichkeit mit Windows 10 auf die Freigaben des Homeservers zuzugreifen ist, die IP-Adresse des Homeservers in die Adressleiste des Explorers einzugeben. Und zwar in folgender Form: \\192.168.30.153

Nach der Passworteingabe werden alle Freigaben die unter dieser Adresse zu finden sind im Windows-Explorer angezeigt.

Schnellzugriff auf Netzwerkfreigaben mit Windows 10

Freigaben unter Windows 10 dauerhaft als Netzlaufwerk einbinden

Wenn man häufig über die Freigaben auf den Homeserver zugreift, ist der Schnellzugriff unpraktisch und unbequem. In diesen Fall ist es sinnvoller die Freigaben dauerhaft als Netzlaufwerk im Windows Explorer einzubinden.

Zur Einrichtung des Netzlaufwerks öffnet man den Explorer und macht einen Rechtsklick auf das Dieser-PC-Icon. Dann klickt man auf Netzlaufwerk verbinden.

Windows 10 Netzlaufwerk verbinden

Im Feld „Ordner“ gibt man die Netzwerkadresse der Freigabe ein. Beispielsweise \\192.168.30.153\Media.

Mit einem Klick auf „Fertig stellen“ wird ein neues Laufwerk im Windows-Explorer erstellt, das jedoch tatsächlich den Inhalt der Freigabe auf dem Homeserver zeigt.

Netzlaufwerk in Windows 10 eingerichtet

Schnellzugriff auf die Freigaben mit Ubuntu Desktop

Auch unter Ubuntu ist ein einfacher Schnellzugriff auf die Freigaben möglich. Dies ist besonders geeignet, wenn die Freigaben nicht dauerhaft verfügbar sein müssen, z.B. für einen Gast. Für den schnellen Zugriff öffnet man Dateien und wählt in der linken Menüleiste Andere Orte. Im unteren Bereich gibt es das Feld mit Server verbinden. Hier gibt man die Adresse des Homeservers ein, in der Form smb://192.168.30.153.

Ubuntu Desktop auf SMB-Freigaben zugreifen

Mit einem Klick auf Verbinden werden alle unter dieser Adresse gefundenen Freigaben angezeigt.

Dauerhaftes Einbinden der Freigaben auf einem Ubuntu Desktop-System

Bei allen selbst genutzten Computern ist es praktischer, die Freigaben dauerhaft zu mounten, damit man immer ein bequemer Zugriff auf den Homeserver möglich ist. Dies ist ein bisschen aufwändiger als unter Windows, dafür sind die Freigaben anschließend nahtlos in das Dateisystem eingebunden und können genau wie lokale Ordner auf der Festplatte genutzt werden.

Damit Ubuntu Sambafreigaben beim Start mounten kann, muss das Paket cifs-utils installiert werden.

sudo apt install cifs-utils

Anschließend werden die Ordner auf der lokalen Festplatte angelegt, in denen die Freigaben unseres Homeservers später zu finden sein werden. In diesem Fall wird ein Ordner namens Homeserver erstellt und unterhalb, je ein Ordner für die Freigaben.

mkdir -p ~/Homeserver/{Tom,Media,Familie}

Damit die Zugangsdaten nicht nach jedem Neustart neu eingegeben werden müssen, werden diese in einer Datei abgelegt, auf welche nur der Rootuser Zugriff hat. Zuerst wird die Datei erstellt und anschließend mit dem Texteditor geöffnet

mkdir ~/.credentials
touch ~/.credentials/smbcredentials
nano ~/.credentials/smbcredentials

in diese Datei kommen Benutzername und Passwort in folgender Form.

username=tom
password=MEINPASSWORT

Die Datei wird mit Strg+o gespeichert und mit Strg+x wird der Texteditor wieder geschlossen. Aus Sicherheitsgründen werden nun die Lese und Schreibrechte zu dieser Datei so angepasst, dass nur der Rootuser Zugriff darauf hat.

sudo chown root: .credentials/smbcredentials
sudo chmod 600 .credentials/smbcredentials

Damit Ubuntu die Freigaben kennt müssen diese in die Datei /etc/fstab eingetragen werden. Die Datei wird wieder mit dem Texteditor geöffnet und folgender Text am Ende der Datei eingefügt.

sudo nano /etc/fstab
#Mount Homeserver
//192.168.30.153/Tom /home/MEINUSERNAME/Homeserver/Tom cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.153/Familie /home/MEINUSERNAME/Homeserver/familie cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.153/Media /home/MEINUSERNAME/Homeserver/Media cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0

Es muss darauf geachtet werden, dass jeder Eintrag in einer langen Zeile eingetragen wird. Also dass jede Zeile mit //192.168.30….. beginnt.

MEINUSERNAME muss durch den eigenen Benutzernamen ersetzt werden, mit welchem man sich an seinem Laptop oder Desktop angemeldet hat. Bei UID und GID muss es sich um die IDs des eigenen Benutzers handeln. Bei einer Standardinstallation mit nur einem Benutzer ist dies 1000 und muss dementsprechend nicht angepasst werden. Wenn aber mehrere Benutzer einen Computer nutzen, haben diese unterschiedliche IDs. Welche das ist lässt sich im Terminal mit dem einfachen Befehl id herausfinden.

Nach einem Neustart sollten die Freigaben unseres Homeservers nun im lokalen Dateisystem eingebunden sein, ganz so als würden sie auf der lokalen Festplatte liegen. Wer ungeduldig ist, oder den Rechner nicht neu starten möchte, kann das Einbinden der Freigaben auch manuell erledigen mit dem Befehl.

sudo mount -a
Ubuntu Netzwerkfreigaben dauerhaft eingebunden

Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4 ist ein Beitrag von techgrube.de.

Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Nextcloud hat sich mittlerweile zum Quasi-Standard für selbstgehostete Cloudanwendungen entwickelt. Nextcloud kann uneingeschränkt kostenlos genutzt werden.

In Nextcloud können Kalender und Kontakte gespeichert und mit dem Smartphone synchronisiert werden. So kann man Dienste wie Google Calender komplett ersetzen. Außerdem gibt es einen Deskop-Client, mit welchem man Dateien über mehrere Computer synchronisieren kann, ganz so, wie man es beispielsweise von Dropbox kennt. Eine offizielle Smartphone-App für Android und iOS ermöglicht es, auch von unterwegs sicher auf alle seine Daten zuzugreifen. Außerdem unterstützt die App den automatischen Bilderupload, sodass Fotos, die mit dem Smartphone gemacht werden automatisch auf den Homeserver übertragen werden.

Nextcloud ist mittlerweile als Snap-Paket für Ubuntu verfügbar, was die Installation und Einrichtung extrem vereinfacht. Wer die volle Kontrolle haben möchte, kann weiterhin den Weg der manuellen Installation und Konfiguration gehen, wie er in der alten Anleitung für Ubuntu 18.04. beschrieben ist [Homeserver/NAS mit Ubuntu 18.04: Teil 5, Nextcloud]. Dieser Weg funktioniert auch unter Ubuntu 20.04.

Da diese Anleitung bewusst möglichst einsteigerfreundlich sein soll, wird Nextcloud als Snap-Paket installiert. Damit reduziert sich die Installation auf einige wenige Kommandos und Nextcloud ist direkt einsatzbereit und fertig konfiguriert.

Nextcloud als Snap-Paket installieren

Mit folgendem Befehl wird Nextcloud installiert.

sudo snap install nextcloud

Die Installation von Nextcloud ist damit abgeschlossen. Die Benutzeroberfläche kann über die IP-Adresse des Homeservers bereits von jedem Computer im Heimnetz aufgerufen werden. In diesem Beispiel über http://192.168.30.153.

Allerdings sollte man Nextcloud noch nicht einsetzen, sondern zuerst weitere Konfigurationen vornehmen.

Übrigens: Die Nextcloud-Installation aus dem Snap-Paket befindet sich unter /var/snap/nextcloud/current.

Nextcloud konfigurieren

Bevor man Nextcloud im Browser aufrufen und verwenden kann, müssen ein paar zusätzliche Konfigurationen vorgenommen werden.

Datenverzeichnis von Nextcloud auf das RAID verschieben

Wenn wir nun anfangen Nextcloud zu verwenden, werden alle Daten auf der Systemplatte gespeichert. Dies ist natürlich nicht gewollt, da die Daten bei einem Festplattenausfall verloren wären. Stattdessen muss Nextcloud nun vor der ersten Nutzung so konfiguriert werden, dass das Datenverzeichnis auf dem RAID gespeichert wird.

Snaps werden in einer gesicherten Umgebung ausgeführt und dürfen aus Sicherheitsgründen nur auf bestimmte Verzeichnisse zugreifen. Sie können jedoch so konfiguriert werden, dass sie auch auf Daten in /media und /mnt zugreifen können, da hier normalerweise Wechseldatenträger eingebunden werden. Damit Nextcloud überhaupt auf das RAID-System unter /mnt/storage Zugriff bekommt, muss folgender Befehl ausgeführt werden. Zugriff auf alle anderen Order auf der Festplatte wird weiterhin vom System verhindert.

sudo snap connect nextcloud:removable-media

Zuerst wird das Datenverzeichnis auf dem RAID angelegt und die korrekten Benutzerrechte gesetzt.

sudo mkdir -p /mnt/storage/nextcloud/data

sudo chown -R root:root /mnt/storage/nextcloud/data

sudo chmod 0770 /mnt/storage/nextcloud/data

Nun wird die Konfigurationsdatei angepasst, in welcher steht, wo Nextcloud das Datenverzeichnis einrichten soll.

sudo nano /var/snap/nextcloud/current/nextcloud/config/autoconfig.php

Hier wird die Zeile mit „directory“ angepasst und der Pfad zum Datenverzeichnis auf dem RAID eingetragen.

 // ...
 'directory' => '/mnt/storage/nextcloud/data',
 // ...

Jetzt wird der PHP-Service neu gestartet, damit Nextcloud die geänderten Daten übernimmt.

sudo snap restart nextcloud.php-fpm

Nextcloud verwenden

Die eigene Nextcloud auf dem Homeserver kann nun von jedem beliebigen Browser aufgerufen werden, indem man http:// gefolgt von der IP-Adresse des Homeservers im Browser eingibt. Beispielsweise http://192.168.30.153.

Zuerst wird man aufgefordert einen Administratoraccount für Nextcloud einzurichten. Hier kann ein beliebiger Benutzername und Passwort vergeben werden. Außerdem bietet Nextcloud an, beliebte Apps und Zusatzfunktionen wie Kalender und Kontakte gleich automatisch mitzuinstallieren. Ich empfehle, diesen Haken zu setzen. Stellt sich heraus, dass man manche Funktionen nicht benötigt, können die dazugehörigen Apps später mit einem Klick wieder deinstalliert werden.

Nextcloud im Webbrowser aufrufen

Nachdem die Installation abgeschlossen ist, kann Nextcloud grundsätzlich bereits genutzt werden. Allerdings ist der Aufruf bisher nur über eine unverschlüsselte Verbindung möglich. Dadurch ist eine sichere Nutzung über das Internet natürlich nicht möglich. Aus diesem Grund wird als Nächstes die Verschlüsselung eingerichtet.

Vertrauenswürdige Domain hinzufügen

Damit Nextcloud sowohl über die IP-Adresse, als auch über die in der Grundkonfiguration festgelegte DynDNS-Domain aufgerufen werden kann, muss diese noch als vertrauenswürdige Domain zu Nextcloud hinzugefügt werden. Dies geschieht mit folgendem Befehl, wobei der Domainname natürlich an das eigene Setup angepasst werden muss.

sudo snap run nextcloud.occ config:system:set trusted_domains 1 --value=mimashome.ddns.net

Verschlüsselungszertifikat erstellen

Um problemlos eine verschlüsselte Verbindung über das Internet zu ermöglichen, wird ein kostenloses Verschlüsselungszertifikat von Let’s Encrypt eingerichtet. Auch dies ist mit dem Snap-Paket mit einem Befehl erledigt.

Achtung: Bei diesem Schritt überprüft ein externer Server von Let’s Encrypt, ob die Nextcloud Installation auch wirklich über die angegebene Domain erreichbar ist. Nur wenn dies der Fall ist, wird das Verschlüsselungszertifikat ausgestellt. Der Homeserver muss also unbedingt über Port 80 und 443 aus dem Internet erreichbar sein, wie in der Grundkonfiguration beschrieben.

sudo /snap/bin/nextcloud.enable-https lets-encrypt

Im ersten Schritt weist das Tool nochmal auf die genannten Voraussetzungen hin. Außerdem wird auf die Nutzungsbedingungen von Let’s Encrypt hingewiesen, die man akzeptieren muss, wenn man das Zertifikat erstellen und nutzen möchte.

Wenn alle Voraussetzungen erfüllt sind und man die Bedingungen akzeptiert, bestätigt man dies, indem man „y“ eingibt und Enter drückt.

Anschließend wird man nach einer E-Mail-Adresse gefragt. An diese Adresse wird z.B. ein Hinweis gesendet, wenn das Zertifikat abläuft, weil die automatische Erneuerung nicht funktioniert hat.

Nun muss der Domainname eingegeben werden, für den das Zertifikat erzeugt werden soll. In diesem Fall also die DynDNS-Adresse.

Damit sind alle benötigten Eingaben gemacht. Mit der Entertaste werden die Eingaben bestätigt, anschließend versucht Let’s Encrypt über die angegebene Internetadresse eine Verbindung zum Homeserver aufzubauen, um sicherzustellen, dass man auch wirklich über die Rechte an der Domain verfügt. Wenn dies funktioniert, wird das Verschlüsselungszertifikat ausgestellt und automatisch eingerichtet.

Let's Encrypt Zertifikat einrichten

Wenn alles geklappt hat, lässt sich Nextcloud nun über eine verschlüsselte Verbindung aufrufen, indem man https:// vor der DynDNS-Adresse im Browser eingibt. Der Webbrowser zeigt dann ein verschlossenen Schloss vor der Domain an.

Verschlüsselte Verbindung zu Nextcloud eingerichtet

Updates für Nextcloud einspielen

Wenn Updates für Nextcloud verfügbar sind, muss das Snap-Paket aktualisiert und Nextcloud neu gestartet werden. Dies geschieht mit folgenden Kommandos.

sudo sudo snap refresh nextcloud
sudo nextcloud.occ upgrade

sudo snap restart nextcloud

Samba-Freigaben in Nextcloud einbinden

Damit man über Nextcloud auch auf die Dateien zugreifen kann, die über die lokalen Netzwerkfreigaben auf dem Homeserver gespeichert wurden, müssen diese Ordner noch in Nextcloud eingebunden werden.

Das Problem dabei ist, dass Nextcloud und Samba mit unterschiedlichen Systembenutzern laufen, was zu Berechtigungsproblemen führt. Aus diesem Grund kann man nicht einfach die Nextcloud-Datenverzeichnisse der einzelnen Benutzer über Samba freigeben. Der Snap-Dienst, der Nextcloud ausführt, läuft als Rootuser, was unter Windows dem Administratoraccount entspricht. Samba läuft mit einem eigenen Systembenutzer, mit sehr viel weniger Rechten, sodass Samba gar keinen Zugriff auf die Daten in Nextcloud hat.

Den Samba-Server als Root laufen zu lassen wäre eine Lösung, allerdings ein sicherheitstechnisches Desaster, weshalb man dies auf keinen Fall in Erwägung ziehen sollte. Das Nextcloud hier als Root ausgeführt wird ist hingegen nicht vergleichbar. Denn tatsächlich läuft nur der Snap-Dienst als Root, der die einzelnen Snap-Pakete in einer vom restlichen System abgeschotteten Umgebung ausführt.

Einbinden von Samba-Freigaben mit dem External-Storage-Plugin (funktioniert derzeit nicht)

Die bisherige Lösung mit einer klassischen Nextcloud-Installation war das External-Storage-Plugin von Nextcloud. Dies bietet auch eine Schnittstelle für Samba Freigaben an. Damit greift Nextcloud quasi wie jeder andere Computer auf die Freigaben zu, sodass hier keine Berechtigungsprobleme entstehen. Eine einfache wie elegante Lösung.

Leider funktioniert das Einbinden von Samba-Freigaben über das External-Storage-Plugin nicht, wenn man Nextcloud als Snap-Paket einsetzt. Ein entsprechender Bugreport ist schon seit Längerem vorhanden. Allerdings ist das Problem entweder schwer zu lösen, oder es ist den Entwicklern nicht wichtig genug. So oder so, derzeit scheidet diese Lösung leider aus.

Trotzdem möchte ich an dieser Stelle auf diese Möglichkeit hinweisen, falls sich die Situation in Zukunft ändert.

Samba-Freigaben mit Bindfs in Nextcloud einbinden

Als Alternative werden die Samba-Freigaben mittels Bindfs in Nextcloud eingebunden. Bindfs ermöglicht es, Ordner an zusätzlichen Stellen im Dateisystem mit anderen Benutzerrechten einzubinden.

Man kann damit beispielsweise die Samba-Freigabe „Tom“ in das Datenverzeichnis des Nextcloud-Users „Tom“ verlinken. Aus Sicht von Nextcloud sieht es dabei so aus, als ob die Dateien Root gehören, also dem Systemuser, der Snaps und damit auch Nextcloud ausführt. Tatsächlich werden die Daten jedoch mit dem Benutzer smb geschrieben, also dem Systembenutzer von Samba.

Das Problem dabei ist, dass jedes Mal, wenn eine Datei über die Samba-Freigaben hinzugefügt oder geändert wurde mit Nextcloud ein Filsystem-Scan durchgeführt werden muss. Ansonsten bekommt Nextcloud von der neuen Datei nichts mit und die Datei wird in Nextcloud nicht angezeigt. Dieses Problem kann man vermeiden, indem man den mit Bindfs erstellten Ordner wiederum mit dem External-Storage-Plugin in Nextcloud einbindet.

In diesem Beispiel passiert also folgendes:

  • Der Order mit der Samba-Freigabe /mnt/storage/shares/tom wird mit Bindfs nach /mnt/storage/nextcloud-bindfs/heimnetz-tom verlinkt.
  • Wenn nun Nextcloud Dateien nach /mnt/storage/nextcloud-bindfs/heimnetz-tom schreibt, werden diese tatsächlich mit dem Systemuser smb nach /mnt/storage/shares/tom geschrieben. Davon merkt Nextcloud aber nichts.
  • Der Ordner /mnt/storage/nextcloud-bindfs/heimnetz-tom wird über das Nextcloud-Plugin „External Storage“ in den Nextcloud-Account von Tom eingebunden.

Damit ist die Samba-Freigabe „Tom“ auch über Nextcloud nutzbar. Änderungen werden immer mit demselben Systemnutzer auf die Festplatte geschrieben, sodass es nicht zu Berechtigungsproblemen kommt. Außerdem sind Änderungen an Dateien immer sofort in Nextcloud, als auch in den Samba-Freigaben sichtbar.

Bindfs installieren und Ordner mit anderen Benutzerrechten mounten

Zunächst einmal wird Bindfs installiert.

sudo apt install bindfs

Dann muss man für jede einzelne Samba-Freigabe die mit Nextcloud verbunden werden soll eine Zeile in die Datei /etc/fstab einfügen. In diesem Beispiel wird die Nextcloud-Freigabe „Tom“ zur Nextcloud von Tom hinzugefügt.

Zuerst wird der Ordner angelegt, in welchem die Samba-Freigabe mit den Benutzerrechten von Root eingebunden wird.

sudo mkdir -p /mnt/storage/nextcloud-bindfs/heimnetz-tom

Dann wird die Datei /etc/fstab im Texteditor geöffnet.

sudo nano /etc/fstab

Hier wird folgende Zeile eingefügt. Achtung: Es handelt sich um eine, sehr lange Zeile, die ohne Zeilenumbruch in die Konfigurationsdatei eingefügt werden muss.

bindfs#/mnt/storage/shares/tom /mnt/storage/nextcloud-bindfs/heimnetz-tom fuse force-user=root,force-group=root,create-for-user=smb,create-for-group=smb,chgrp-ignore,chown-ignore,chmod-ignore 0 0
Ordner mit Bindfs mounten

Für jede Samba-Freigabe, die man in einen Nextcloud-Benutzeraccount einbinden will, muss dieser Vorgang wiederholt werden. Für die Freigabe Media muss also der Ordner /mnt/storage/nextcloud-bindfs/heimnetz-media angelegt werden.

Dann wird eine weitere Zeile in die /etc/fstab eingefügt. Dort wird /mnt/storage/shares/tom durch /mnt/storage/shares/media ersetzt und /mnt/storage/nextcloud-bindfs/heimnetz-tom wird durch /mnt/storage/nextcloud-bindfs/heimnetz-media ersetzt.

Um die Konfiguration zu aktivieren wird folgender Befehl ausgeführt.

sudo mount -a

Ordner in Nextcloud einbinden

Um die soeben erstellten Ordner in Nextcloud verfügbar zu machen, wird nun das External-Storage-Plugin installiert. Hierzu loggt man sich mit dem bei der Installation erstellten Administratoraccount in Nextcloud ein.

Dann klickt man oben rechts auf das Icon mit dem Anfangsbuchstaben des Benutzernamens und anschließend auf „+ Apps„.

Hier findet man nun bei den deaktivierten Apps die App „External Storage Support“ die mit einem Klick auf Aktivieren installiert wird.

External-Storage-Support-Plugin aktivieren

Zum Einbinden der Ordner in Nextcloud klickt man wieder auf das Icon oben rechts und anschließend auf Einstellungen. Im linken Bereich findet man verwirrender Weise zwei Punkte mit dem Namen „Externe Speicher„. In diesem Fall wird der untere benötigt.

  • Ordnername: Mit diesem Namen erscheint die Samba-Freigabe in Nextcloud. Es kann ein beliebiger Name vergeben werden.
  • Externer Speicher: Lokal
  • Authentifizierung: Keine
  • Konfiguration: /mnt/storage/nextcloud-bindfs/heimnetz-tom
  • Verfügbar für: Alle Nextcloud-Benutzernamen, die auf diese Freigabe zugreifen dürfen.

Mit einem Klick auf den Haken wird der Ordner in Nextcloud aktiviert.

Ordner mit dem External-Storage-Plugin in Nextcloud einbinden

Sicherheitshinweis: Wenn der Haken bei „Benutzern erlauben, externen Speicher einzubinden“, darf jeder Nextcloudnutzer Ordner außerhalb seines Nextcloud-Accounts selbständig einbinden. Das bedeutet, wenn Lena den Pfad /mnt/storage/nextcloud-bindfs/heimnetz-tom kennt, kann sie die eigentlich privaten Dateien von Tom einbinden.

Wenn man nun über das Ordner-Icon in der Menüleiste zu den Dateien in Nextcloud wechselt, findet man hier den neuen Ordner Heimnetz-Tom. Hierüber hat man nun Zugriff auf die Dateien aus der Samba-Freigabe.

Ordner mit dem External-Storage-Plugin in NExtcloud eingefügt.

Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5 ist ein Beitrag von techgrube.de.

Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Zur Organisation und Wiedergabe von Musik und Videos wird Plex verwendet. Plex besteht aus zwei Komponenten, dem Server und den Clients. Die Serverkomponente wird auf dem Homeserver installiert. Hier werden alle Audio- und Videodateien zentral verwaltet und der Mediaserver organisiert.

Die Clients sind die Wiedergabegeräte. Dies kann ein Mediacenter-PC, ein iPhone, ein Android-Smartphone oder ein Fernseher mit Amazon FireTV oder Google Chromecast sein. Diese verbinden sich mit dem Server. Anschließend kann die komplette Mediathek auf dem Client wiedergegeben werden.

Plex ist in einer kostenlosen und in einer kostenpflichtigen Version erhältlich. Vorteil der kostenpflichtigen Version ist vor allem, dass Inhalte auch auf das Smartphone heruntergeladen werden können, um diese offline zu konsumieren. Die Unterschiede zwischen kostenloser und kostenpflichtiger Version werden auf der Homepage von Plex erklärt.

Die Installation und Einrichtung von Plex ist dank der fertigen Installationspakete relativ schnell erledigt.

Um Plex zu nutzen, muss man sich zuerst einen kostenlosen Account auf der plex.tv anlegen.

Plex Mediaserver installieren

Auch der Plex Mediaserver ist als Snap-Paket für Ubuntu verfügbar. Da die Nutzung dieser Version sowohl die Einrichtung vereinfacht, als auch die Sicherheit verbessert, wird in dieser Anleitung der Plex Mediaserver als Snap-Paket installiert. Dies geschieht mit folgendem Befehl.

sudo snap install plexmediaserver

SSL-Zertifikat für den Mediaserver erstellen

Damit die Verbindung zum Plex-Mediaserver über das Internet verschlüsselt erfolgt, muss auch hier ein Verschlüsselungszertifikat eingerichtet werden. Hierfür kann das Zertifikat verwendet werden, dass bereits für Nextcloud erstellt wurde.

Allerdings liegt dieses bisher in einer Form vor, die der Plexserver nicht versteht. Das Zertifikat muss also umgewandelt werden. Außerdem muss auch dieser Umwandlungsprozess automatisiert werden, da das Zertifikat ansonsten nach drei Monaten abläuft und nicht mehr funktioniert.

Als Erstes wird das vorhandene Zertifikat in ein anderes Format konvertiert, das Plex verarbeiten kann. Hier muss jeweils der eigene DynDNS Name angepasst werden und ein Passwort vergeben werden. Der erste Befehl legt einen Ordner an, in welchem das Zertifikat für Plex gespeichert wird. Anschließend wird das bereits vorhandene Zertifikat umgewandelt und im gerade erstellten Ordner gespeichert.

Wichtig: Es handelt sich um einen langen Befehl, der in einer Zeile eingegeben werden muss.

sudo mkdir -p /mnt/storage/plexmediaserver/cert
sudo openssl pkcs12 -export -nodes -out /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx -inkey /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/privkey.pem -in /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/cert.pem -certfile /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/chain.pem -passout pass:meinpasswort

Let’s Encrypt Zertifikate sind immer nur drei Monate gültig, dann muss ein neues Zertifikat ausgestellt werden. Für Nextcloud geschieht dies automatisch. Die Umwandlung des Zertifikats für Plex muss jedoch manuell konfiguriert werden. Zum Glück sieht Certbot, das Programm welches die Zertifikate erzeugt, solche Fälle vor und verarbeitet nach dem Erstellen eines Zertifikats alle Skripte, die unter /var/snap/nextcloud/current/certs/certbot/config/renewal-hooks/ gespeichert sind.

In diesem Schritt wird also ein Skript erstellt, dass die Konvertierung des Zertifikats vornimmt. Das Skript wird in einem Ordner im Homeverzeichnis des aktuellen Users gespeichert. In diesem Ordner wird später auch das Skript für das Backup untergebracht. Anschließend wird das Skript in einen speziellen Ordner von Certbot verlinkt, wodurch es immer dann ausgeführt wird, wenn Certbot ein neues Zertifikat über Let’s Encrypt erzeugt hat.

mkdir ~/skripte

touch ~/skripte/plexcert.sh

chmod +x ~/skripte/plexcert.sh

sudo ln -s ~/skripte/plexcert.sh /var/snap/nextcloud/current/certs/certbot/config/renewal-hooks/post/

Achtung: Es kann sein, dass bei einer Aktualisierung des Nextcloud-Snap-Pakets diese Verknüpfung gelöscht wird. Dann wird das Zertifikat nicht mehr automatisch für Plex erstellt. Daher sollte man nach einem Update des Nextcloud-Snap-Pakets den letzten Befehl erneut ausführen.

Dann wird die Datei mit einem Texteditor geöffnet und folgender Inhalt in die Datei geschrieben. Hier muss wieder die eigene Domain und das gewählte Passwort angepasst werden.

nano ~/skripte/plexcert.sh
#!/bin/bash
sudo openssl pkcs12 -export -nodes -out /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx -inkey /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/privkey.pem -in /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/cert.pem -certfile /var/snap/nextcloud/current/certs/certbot/config/live/mimashome.ddns.net/chain.pem -passout pass:meinpasswort  && snap restart plexmediaserver

Mit Strg+O wird die Datei gespeichert und mit Strg+X der Texteditor wieder geschlossen. Auch hier muss bitte wieder beachtet werden, dass es sich um einen langen Befehl handelt, der nicht mit einem Zeilenumbruch unterbrochen werden darf. Der Inhalt der Datei muss also folgendermaßen aussehen.

Let's Encrypt Zertifikat für Plex automatisch konvertieren

Von nun an wird jedes mal, wenn ein neues Let’s Encrypt Zertifikat für Nextcloud erzeugt wird, automatisch auch eine Version für Plex erstellt.

Plex Mediaserver konfigurieren

Der Plex Mediaserver wird komplett über eine Konfigurationsoberfläche im Webbrowser eingerichtet. Für die Erstkonfiguration wird diese über die lokale IP-Adresse aufgerufen. Später funktioniert auch der Aufruf über die Domain.

http://192.168.30.114:32400/web

Achtung: Da die Verwendung des SSL-Verschlüsselungszertifikats noch nicht im Mediaserver konfiguriert ist, erfolgt die Verbindung noch unverschlüsselt. Bis die Konfiguration abgeschlossen ist, sollte man den Mediaserver nur im eigenen Heimnetzwerk verwenden.

Als Erstes muss man sich mit seinem Plex-Account einloggen. Nach dem Login wird man auf den kostenpflichtigen Plex-Pass hingewiesen, der einige Zusatzfeatures bietet. Das Fenster kann über das „X“ in der Ecke geschlossen werden.

In Schritt 1 muss ein beliebiger Name für den Server vergeben werden. Ich bleibe in diesem Beispiel bei Mimas.

In Schritt 2 werden Mediatheken hinzugefügt. Dies kann auch später noch geändert oder ergänzt werden. Wir legen in diesem Beispiel zwei Mediatheken an. Eine für unsere Audio- und eine für die Videodateien. Entsprechend wird der Typ Filme/Serien oder „Andere Videos“ gewählt.

  • Für die Audiodateien wählen wir Musik.
  • Als Ordner für die Mediathek wird der Pfad zu den eigenen Audiodateien gewählt. Beispielsweise /mnt/storage/shares/media/audio gewählt.
  • Unter Optionen steht uns nur die Möglichkeit eine einfache Musik-Mediathek erstellen zur Verfügung. Für die Premium-Mediathek ist ein kostenpflichtiger Plexpass nötig.
  • Die Einstellungen unter Erweitert können unverändert bleiben.

Die Mediathek wird nun erstellt, die Dateien durchsucht und in die Datenbank des Mediaservers eingetragen. Diese Schritte müssen nun wiederholt werden für alle Medien die über Plex eingebunden und gestreamt werden sollen. Also Audiodateien, Videodateien und Bilder.

In Schritt 3 folgt ein Hinweis auf die zur Verfügung stehenden Apps, die zum Abspielen auf dem Smartphone oder dem Fernseher benötigt werden. Mit einem Klick auf Fertig ist der erste Teil der Konfiguration abgeschlossen.

Nun wird man auf die normale Benutzer- und Konfigurationsoberfkäche von Plex weitergeleitet. Grundsätzlich kann der Mediaserver bereits genutzt werden. Als letzter Schritt sollte nun aber noch die verschlüsselte Verbindung konfiguriert werden.

Dazu geht man in die Servereinstellungen, welche man über das Werkzeugsymbol in der rechten oberen Ecke erreicht. Anschließend wählt man in der linken Seitenleiste den Menüpunkt „Netzwerk“ aus.. Eventuell muss man mit einem Klick auf erweiterte Optionen weitere Felder freischalten. Nun werden folgende Eintragungen vorgenommen.

  • Sichere Verbindung: Bevorzugt, wenn alles funktioniert sollte dies auf Erforderlich umgestellt werden.
  • Eigener Zertifikatsspeicherort: /mnt/storage/plexmediaserver/cert/mimashome.ddns.net.pfx
  • Eigener Zertifikatsschlüssel: Das Passwort welches für das Zertifikat vergeben wurde
  • Eigene Zertifikatsdomain: Die DynDNS Adresse. Hier mimashome.ddns.net

Die weiteren Felder müssen nicht ausgefüllt, bzw. verändert werden. Ganz unten auf der Seite findet man den Button zum Speichern der Einstellungen.

SSL Zertifikat in Plex konfiguriert

Unter dem Punkt Fernzugriff muss nun noch der Zugriff aus dem Internet erlaubt werden und der entsprechende Port angegeben werden. Dazu einen Haken bei „Öffentlichen Port manuell definieren“ setzen und den Port 32400 angeben.

Anschließend auf „erneut versuchen“ klicken. Nach einem kurzen Moment sollte die rote Warnmeldung verschwinden und durch eine grüne Erfolgsmeldung ersetzt werden. Wichtig ist hierzu, dass die entsprechende Portweiterleitung im Router korrekt gesetzt ist.

Plex Fernzugriff konfigurieren

Damit Plex die Änderungen übernimmt und das Zertifikat einliest, muss der Plexserver neu gestartet werden. Dies geschieht mit folgendem Befehl.

sudo snap restart plexmediaserver

Damit ist der Plex Mediaserver auf unserem selbstgebauten NAS bzw. Homeserver auch über das Internet erreichbar.

In die Plexapp, oder den Webbrowser muss ab jetzt folgende Adresse eingegeben werden, um den eigenen Streamingserver zu erreichen

https://mimashome.ddns.net:32400

Wichtig ist das https. Damit wird eine sichere, verschlüsselte Verbindung zum Mediaserver über das Internet aufgebaut.


Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6 ist ein Beitrag von techgrube.de.