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önnenDateien und Ordner sind immer einem Benutzer und einer Gruppe zugeordnet. Die Besitzverhältnisse können mit
chowngeändert werden.Dateien und Ordner haben einen mode, welcher die Rechte von Besitzer und besitzender Gruppe steuert, er kann mit
chmodgeä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