6 Dez 2019

Windows, Linux, Cloud, Virtualisierung IV

Submitted by Bernd

Manchmal muß man sich selber loben; wenn kein Anderer das macht. Dass ich einen voll funktionsfähigen Linux-Server aufbauen und verwalten kann, das habe ich vor gut einem Jahr lediglich gehofft. Nun ist es Wirklichkeit geworden.


Vorab vielleicht, gar etwas zum Schmunzeln: diese Meldung  zum Supportende von Windows 7; wie Microsoft als faktischer Monopolist sich daraus gar eine Art Lizenz zum Gelddrucken generiert. Und von wegen Windows 7 ... so munkelt man, dass in der Berliner Verwaltung, im Kammergericht und bis zum kürzlich erfolgten, trojanerbedingten Crash gar noch Windows XP im Einsatz war.

Nun denn, hier soll es jetzt um die wirklich eigene Cloud gehen, vollkommen ohne Microsoft, mit quelloffener Software unter Linux realisiert. Die Vorgeschichte nebst der Anforderungen und notwendigen Rahmenbedingungen wurde in den ersten drei Teilen dieser Serie, wurde hier  und hier  und hier  ein Stück weit abgesteckt.

Ein Server unter Linux (LAMP, SAMBA) ist aus heutiger, aus meiner Sicht leichter zu bauen und einfacher zu pflegen, als eine Desktop-Landschaft; letztere gar im Multiuser-Umfeld eingesetzt. Hardwareseitig sind bei einem Server weder die Grafik noch die Soundtreiber wichtig und auch der (lokale) Drucker/Scanner- Support nebst anderer Komponenten benötigt bestenfalls eine rudimentäre Anpassung. Ähnliches gilt softwareseitig für die ansonsten bei einem Desktop notwendigen Anwendungsprogramme. Außer einer guten Netzanbindung und möglichst viel Haupt- und Festplattenspeicher braucht so ein Server eigentlich wenig.

Für den von mir geplanten Einsatz konnte ich auf zwei identische, wegen zwischenzeitlich erworbener besserer Hardware nicht mehr benötigte, bereits in die Jahre gekommene Barebones (Zotac ID18) zurückgreifen, welche nun als Prodiktiv- bzw. als Reservesystem fungieren. Letzteres wurde bislang lediglich verschiedenen Tests unterzogen, da das produktive System auch nach mehr als einem Jahr im Dauerbetrieb noch keinen Ausfall hatte. Wer etwas mehr über das Innenleben des Teils wissen will, dem sei dieses Video  empfohlen.

- - - - -


Damit zur eingesetzten Hardware. Aus struktureller Sicht -meine Erfahrung- sollte man das System in drei Bereiche gliedern. Ein Basissystem für Linux und weitere Systemprogramme, ein weiteres System für die Webanwendung(en) und ein externes, erweiterbares Speichersystem. Die ersten beiden Systeme und einschließlich dem Linux-Swap liegen auf der kleinen, internen SSD, sind als komplettes Image leicht einem Backup/Restore zu unterziehen. Das wichtigste und natürlich auch den größten Umfang einnehmend, das sind die Daten; bei so einem kleinen Barebone und auch sehr grundsätzlich auf einer oder mehreren separaten Festplatten angeordnet.

Klar, der damals im Jahr 2014 eingesetze Hauptspeicher (4 GB) und die interne, mechanische Festplatte (64 GB) sind für einen Server heute nicht mehr zeitgemäß. Im Laufe der letzten zwei Jahre wurde daher der Hauptspeicher beider Maschinen auf 16 GB (zwei Bänke zu je 8 GB) erweitert und die interne Festplatte durch eine kleinere SSD mit 128 GB ersetzt. Extern und via USB3 angeschlossen, kommen aktuell eine mechanische HD mit vier TB  und eine SSD mit einem TB  zum Einsatz. Auf der externen SSD werden die Cloud-Daten gespeichert und die große, externe HD fungiert als Filesysten für das lokale Netz, außerdem als Backup für die Clouddaten.

Während die Platten/Speicherkapazität für die nächsten Jahre wohl reichen sollte,  so kann es bei stärkerer Nutzung der Cloud im Familien- und Freundeskreis für den guten, alten Zotac durchaus eng werden, er an seine Leistungsgrenzen kommen. Habe daher schon mal über den Zaun geschaut, bin natürlich bei Zotac geblieben. Der CI640  scheint mir vom Preis/Leistungsverhältnis aktuell das System der Wahl. Passiv gekühlt fällt dann sogar der Lüfter als bislang einzige mechanische Komponente weg, ist der Quadcore I5 wohl Stand der Dinge und lässt sich das Teil gar mit 32 GB Hauptspeicher bestücken. Ok, mal schaun, ob im Laufe des nächsten Jahres, im Herbst vielleicht die dafür notwendigen knapp 600,- Euro zur Verfügung stehen.

- - - - -


Nun zur Software, welche sich bei einem Server und wie bereits weiter oben geschrieben primär bis ausschließlich auf Systemfunktionen bezieht, sogenannte Dienste zur Verfügung stellt. Obwohl mittlerweile relativ vertraut mit dem Terminal bzw. der Kommandozeile, so habe ich mich dennoch für ein Linux mit grafischer Oberfläche entschieden. Das macht die Konfiguration und den Support dann doch etwas bequemer.

Beim Aufbau des Servers vor gut einem Jahr war Linux Mint  in der Version 19.1 verfügbar, aktuell ist derzeit 19.2 und noch vor dem Jahresende soll 19.3 erscheinen. Gerade für die kommende Version 19.3 ist ein LTS (Long Time Support) angekündigt; was für den Server nicht unwichtig ist. Werde daher in den nächsten Wochen die bereits verfügbare Beta-Version schon mal testen, dann irgendwann den Server aktualisieren, sprich: neu aufbauen.

Nun etwas mehr auf die Details geschaut. Die interne SSD ist in drei Bereiche bzw. Partitionen aufgeteilt. Auf der ersten Partition (24 GB) liegt das Linux selbst inclusive der zusätzlich installierten Systemprogramme. Apache, MySQL (incl. PhpMyAdmin) und PHP bilden die Basis des Webservers. Für den Zugriff auf Dateien und Verzeichnisse, für das Rechtemanagement nutze ich primär ein Tool namens "krusader" und für das Editieren von Scriptdateien den Editor "gedit". Da dieser Server (auch bei mir) ohne Bedienungselemente, ohne Bildschirm, Tastatur und Maus einfach seine Arbeit verrichtet, so ist ein bereits beim Booten aktiver Remoteserver (hier: x11vnc) unabdingbar.

Die zweite Partition, bei der Größe des Hauptspeichers eher kaum genutzt, ist als Swap bzw. als Auslagerungsdatei (8 GB) konfiguriert und der große Rest steht als dritte Partition der Webanwendung, primär der Cloud (hier Programm-Module und Konfigurationen wohlgemerkt, nicht der Daten) zur Verfügung. Die Größe für individuelle Benutzerdaten ist auf diesem Bereich auf ein GB begrenzt, haben die Cloud-Anwender und wie weiter unten beschrieben ganz andere, erweiterte Möglichkeiten.

Entscheidend ist, die dritte Partion bereits bei der Installation mit dem Einhängepunkt "/home" zu definieren. Unter diesem  "/home" liegen bei Linux die Benutzerdaten, bei meinem Server nur der Administrator. Und parallel zur Admin-Struktur ist das Web-Verzeichnis "/html" auf dieser dritten Partition angelegt. Eigentlich liegt dies auf "/var/www/html" im Linux-System auf der ersten Partition, was dann jedoch keine nach meinem Dafürhalten notwendige Trennung ergibt. So wird also das "/html" unter "/var/www" auf der ersten Partition als symbolischer Link konfiguriert, der dann auf das physikalische "/html" auf der dritten Partition verweist. Überhaupt sind symbolische Links ein wesentliches Element zur Struktur von Verzeichnissen und deren Inhalten.

- - - - -


In diesem "/html" auf der dritten Partition liegt nun die Webanwendung, die Cloud. Ein Aufruf von "termiten.net" führt genau dort hin, wird über die normalerweise bei Apache hinterlegte Indexdatei die Anwendung gestartet; soweit der Server nicht gerade "down" ist; soll zumindest für Wartungsarbeiten schon mal vorkommen ...

Die Cloud selbst ist auf der Basis des quelloffenen Systems Nextcloud  realisiert, welches ausschließlich auf ein Linux mit den entsprechenden Serverkomponenten (Apache, MySql, Php) aufsetzt. Ein Betrieb unter Windows, lokal beispielsweise mit dem gern genutzten XAMPP für Windows ist nicht möglich. Damit wird einmal mehr verständlich, warum es ohne die intensive Beschäftigung mit Linux einfach nicht geht. Nach Installation und Konfiguration der Cloud ist es möglich, ja gar empfehlenswert, die Sicherheit zu überprüfen. Nextcloud bietet dafür ein separates Tool an.

In dieser Website  als URL einfach mal termiten.net  eingeben und dann auf "Scan" klicken..


Innerhalb der Cloud können dann vom Cloud-Admin die einzelnen Benutzer, ggf. auch Gruppen angelegt und mit spezifischen Rechten versehen werden. Jeder Benutzer kann auf das für alle zugängliche Archiv (siehe weiter unten)  zugreifen, aber auch auf einen persönlichen Bereich. Im Archiv bzw. im allgemeinen Bereich stehen die Inhalte nur lesend zur Verfügung (werden vom Admin gepflegt), während im persönlichen Bereich das Lesen als auch das Schreiben möglich ist, können darüber hinaus Verzeichnisstrukturen angelegt und verwaltet werden. Die dabei zulässigen Größenordnungen (Dateigrößen etc.) sind entweder systembedingt oder werden vom Admin festgelegt.

Grundsätzlich sollte man verstehen, dass diese Cloud primär als passives System, als Backup zur Verfügung steht. Sie ist lediglich dafür gedacht, im Familien- und Freundeskreis und  im zulässigen Rahmen ihre Dienste bereitzustellen. Man kann Inhalte (Dateien) hoch- oder runterladen bzw. verwalten und die eigenen Dateien selektiv für andere Nutzer der Cloud freigeben. Es gibt innerhalb der Cloud eher rudimentäre Funktionen für die Bild- und Videobetrachtung, des Abspielens von Audiodateien und einer simplen Textverarbeitung. Praktisch und faktisch sollte man das alles jedoch auf dem lokalen PC oder Notebook, ggf. Smartphone/Tablet erledigen.

Über das sogenannte WebDav-Protokoll ist die Cloud (der allgemein zugängliche, wie auch der persönliche Bereich) sehr bequem in die lokale Umgebung zu integrieren. Man kann sich -beispielsweise unter Windows- einfach einen neuen Laufwerksbuchstaben anlegen, der dann mit der Cloud verbunden wird. Je nach Geschwindigkeit der persönlichen Netzanbindung, insbesondere des möglichen Uploads ist so ein relativ komfortables Arbeiten mit den Daten in der Cloud möglich. Meine Empfehlung dabei wäre ein 50.000er dSL im Download mit einem 10.000er Upload.

- - - - -


Abschließend sei noch etwas zu den bereits aktuellen (und den geplanten) Inhalten dieser Cloud gesagt. Es sind im Grunde drei Arten von Inhalten, welche in der Cloud gespeichert und in der Regel für das Runterladen (Backup) zur Verfügung gestellt werden:

1. Für Nutzer, primär aus dem Familienumfeld ist eine jeweils private Verzeichnisstruktur hinterlegt und es sind Berechtigungen vergeben, welche das automatische Sichern der Mediendaten (Bilder, Videos etc.) aus Smartphone und/oder Tablet zulassen. Unter Android steht dafür beispielsweise die App "Foldersync" zur Verfügung, mittels derer (Prinzip: WebDav)  nach individuell zu definierenden Kriterien eben diese Daten vom Smartphone in die Cloud übertragen, mit dieser synchronisiert werden können.

2. Alle zugelassenen Nutzer haben einen privaten Bereich, auf den sie Dateien hoch- und runterladen können, primär ebenfalls als Backup, aber auch für den Zugriff aus anderen Standorten und von anderen Geräten. Die Größe der einzelnen Datei ist systembedingt auf 128 MB begrenzt, während die Gesamtgröße aller Dateien für den einzelnen Nutzer wegen der SSD von einem Terrabyte (TB) zur Zeit noch nicht beschränkt ist.

3. Der umfangreichste und rein administrativ gepflegte Bereich, von den Nutzern nur lesend erreichbar (natürlich auch für den Download) ist derjenige, welcher Inhalte Dritter enthält, ist primär als Archiv angelegt und wird zukünftig wohl noch stark wachsen. Da die Cloud nicht öffentlich ist, lediglich von einer handverlesenen Zahl an Nutzern aus dem Familien- und Freundeskreis nutzbar ist, so greift hier das nach wie vor geltende Recht der Privatkopie, werden urheberrechtlich geschützte Inhalte eben nicht öffentlich angeboten und verbreitet.

Die Auswahl der Archivinhalte reflektiert natürlich weitgehend die Befindlichkeit und das Interesse der Administration, insbesondere was die hinterlegten CD's und DVD's angeht. Dazu kommt, dass die Halbwertzeit der auf (beispielsweise) Youtube zur Verfügung gestellten Inhalte immer begrenzter wird. Waren es früher primär die Rechteinhaber (via der Gema), welche das Löschen veranlassten, so werden Youtube&Co. bei politisch nicht genehmen Personen, bei politisch nicht korrekten Inhalten heute oft selbst aktiv, sind Gründe des Urheberrechts -falls überhaupt noch angegeben- mittlerweile eher selten.

Klar, ein privater Anbieter wie eben Youtube genießt Hausrecht auf seinen Seiten ...