Vorbesprechung


  • Die eigene Cloud schützt die Privatsphäre und reduziert die Abhängigkeit von großen Monopolisten
  • Der Kurs begleitet Sie vom Linux Betriebssystem über die Grundkonfiguration des Servers bis hin zur Installation und Konfiguration des eigenen Cloudservers im Docker Container
  • Sie müssen jede Woche Selbstlernmaterial durcharbeiten, auf ILIAS einen Test durchführen und die praktischen Aufgaben absolvieren
  • Am Ende des Kurses müssen Sie noch einen Abschlussbericht verfassen
  • Für den Kurs erhalten Sie 3 ECTS-Punkte

Betriebssystem und LinuxgrundlagenDie Hard- und Software


  • Die Wahl der richtigen Hard- und Software erfolgt ganz am Anfang und muss auf den Einsatzzweck abgestimmt sein und untereinander komptibel sein.
  • In diesem Kurs wird auf einem virtuellen Server mit Linux-Betriebssystem die Cloud-Software Nextcloud als Docker-Container installiert.
  • Das Dateisystem unter Linux hat nur einen Verzeichnisbaum, unter welchem alle Festplatten eingebunden sind
  • Software wird unter Linux in einer zentralen Paketverwaltung organisiert
  • Linux-Server-Systeme werden mit der Kommandozeile verwaltet

Remote Access: das SSH-Protokoll


  • das SSH-Protokoll erlaubt den Zugriff auf die Kommandozeile entfernter Computer

  • zur Erhöhung der Sicherheit empfiehlt sich die Nutzung eines Schlüsselpaares anstatt eines Passworts

  • zur Reduzierung der Angriffsfläche sollte die Konfiguration des SSH-Servers angepasst werden

  • ein privater (SSH-)Schlüssel darf niemals das eigene Gerät verlassen

  • der Aufbau der SSH-Verbindung geschieht wie folgt: ssh -p <Portnummer> -i <Pfad-zum-privaten-Schlüssel> <user>@<server>

Sicherheit 1: Benutzer und Dateirechte


  • der root-Account ist der Administrator des Systems

  • Mitglieder der sudo-Gruppe haben administrative Rechte, welche sie mit dem sudo-Kommando nutzen können

  • Dateien und Ordner sind immer einem Benutzer und einer Gruppe zugeordnet. Die Besitzverhältnisse können mit chown geändert werden.

  • Dateien und Ordner haben einen mode, welcher die Rechte von Besitzer und besitzender Gruppe steuert, er kann mit chmod geändert werden

Sicherheit 2: Firewall und Fail2Ban


  • Computer kommunizieren im Netzwerk nach Standards, das OSI-Schichten-Modell stellt einen Leitrahmen für diese Standards dar

  • Versendete Daten im Netzwerk haben immer einen Absender- und einen Empfänger (in Form von MAC-Adresse, Netzwerk-ID, IP-Adresse und Port)

  • Mit einer Firewall können Ports geöffnet und geschlossen werden

  • Mit Fail2Ban können fehlerhafte Loginversuche festgestellt und blockiert werden

Grundlegendes zu Docker


  • durch Virtualisierung können Ressourcen effektiver genutzt werden
  • Container bieten eine performante Virtualisierungslösung an
  • mit Docker können verschiedene Anwendungen in isolierten Umgebungen (Containern) auf demselben System betrieben werden
  • Mit Docker Netzwerken kann die Kommunikation zwischen Containern und dem Host gesteuert werden

Docker compose


  • Mit Docker Compose können Dockercontainer effektiver verwaltet werden

  • Docker Compose benötigt die compose.yaml-Konfigurationsdatei

  • Diese compose.yaml-Datei verwendet den YAML-Syntax

  • die Steuerung erfolgt mit dem Befehl docker compose

Webserver mit Docker Compose


  • Webserver sind die Kommunikationszentrale zwischen Client und Webapplikation

  • Um den Webserver per Domain zu erreichen, kann bei einem DDNS-Dienst eine dynamische Domain beantragt werden

  • Zur Absicherung der Kommunikation zwischen Server und Client muss ein TLS-Zertifikat beantragt und eingerichtet werden

  • Mit Docker Compose kann der Apache-Webserver zusammen mit Certbot für das HTTPS-Protokoll eingerichtet werden

Proxysrever mit docker compose


  • Mit dem NGINX-Proxy Manager besteht eine vereinfachte Möglichkeit für den Erhalt von TLS-Zertifikaten

  • Mit einem Reverse Proxy können mehrere Webapplikationen parallel betrieben werden

  • Mit korrekter Docker Netzwerkkonfiguration ist die Kommunikation zwischen Containern schnell hergestellt

Nextcloud mit Docker installieren


  • Die Nextcloud-Software-Suite ist eine Open Source Alternative für Datensychronistaion und Kollaboration im Team

  • Nextcloud auf dem eigenen Server installiert werden

  • Eine Installationsvariante für einen schnellen Start ist das All-in-One Dockerimage

Nextcloud AIO: Konfiguration


  • Nach der Installation von Nextcloud AIO erfolgt die Konfiguration

  • Wichtig: kümmern Sie sich um ein ordentliches Backup

  • Nextcloud AIO bringt mit BorgBackup eine anpassbare Backup-Lösung mit

Knowledge-und Notizmanagement mit Joplin


  • Ist Docker einmal installiert und ein Reverse Proxy eingerichtet, können schnell weitere Dienste gehostet werden

  • Mit Joplin können die eigenen Notizen (und ggf. die des Teams) auf dem eigenen Server gespeichert werden

  • Joplin kann mit dem Joplin Server oder anderen Dateidiensten betrieben werden

  • Der Joplin Server kann mit Docker Compose installiert werden

Mehr Docker


  • Dockerimages könne mit Dockerfiles angepasst werden

  • ein Dockerfile ist die Bauanleitung für ein Dockerimage

  • Dockerimages müssen regelmäßig aktualisiert werden

  • Portainer bietet eine Weboberfläche zur Verwaltung von Docker