Vorbesprechung
- Die eigene Cloud schützt die Privatsphäre und reduziert die Abhängigkeit von großen Monopolisten
- Der Kurs begleitet Sie vom Hardwaresetup und dem Linux Betriebssystem über die Grundkonfiguration des Servers bis hin zur Installation und Konfiguration des eigenen Cloudservers
- 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
Hardware und BetriebssystemDie Hard- und SoftwarePraktische UmsetzungWeitere Quellen
- Für viele Heimanwender und Kleinprojekte reichen Mini-PCs (SoC) aus.
- Für große Projekte wird spezialisierte Serverhardware benötigt
- In diesem Kurs wird auf einem Raspberry Pi mit Linux-Betriebssystem die Cloud-Software Nextcloud installiert.
- Die Installation des Betriebssystems erfolgt mit dem Raspberry Pi Imager
- Der Raspberry Pi mit dem Raspberry Pi OS kann sowohl wie ein herkömmlicher PC, als auch wie ein Server genutzt werden
Linux Schnellstart
Raspberry Pi OS ist das Linux-Betriebssystem unserer Wahl
Das Dateisystem unter Linux besteht aus einem einzigen Verzeichnisbaum. “/” ist dabei die oberste Ebene
Software wird unter Linux zentral verwaltet. Die Verwaltung erfolgt bei der Debian-Familie mit den Programmen apt-get oder apt
Ein Linux-Server wird i.d.R. über die Kommandozeile gesteuert. Dabei erfolgt die Arbeit ohne Maus. Programmsteuerung, Dateioperationen und die Dateierstellung werden per Tastatur erledigt.
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: Benutzer und Dateirechte
der root-Account ist der Adminstrator 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
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: 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
Installationsvorbereitung 1
Zur Sicherung des gesamten Systems kann die SD-Karte an einem zweiten PC geklont werden
Datenträger können unter Linux an einer beliebigen Stelle des Verzeichnisses Baumes eingehängt werden
Einmaliges mounten erfolgt mit dem
mount
-Befehl, dauerhaftes mounten durch Eintragung in der Datei/etc/fstab
Nextcloud bietet unterschiedliche Installationsvarianten- und Komponenten. In diesem Kurs wird die manuelle Installation mit MariaDB und Apache gewählt.
Installationsvorbereitung 2
Um den Raspberry Pi aus dem Internet zu erreichen müssen mehrere Schritte unternommen werden.
es muss eine DDNS-Domain reserveriert werden und ein DDNS-Dienst auf dem Raspberry Pi konfiguriert werden.
es muss eine Portweiterleitung auf dem Router des Heimnetzwerks eingerichtet werden. Dies muss vom Internetanbieter unterstützt werden.
die Firewall des Raspberry Pi muss angepasst werden.
Installationsvorbereitung 3
Nextcloud benötigt weitere Programme zur Funktion: PHP, Datenbank und Webserver
Mit MariaDB muss ein Datenbankuser und eine Datenbank für Nextcloud erstellt werden
Die heruntergeladenen Dateien müssen mittels Konfigurationsdatei durch Apache zur Verfügung gestellt werden
Installationsvorbereitung 4
Unverschlüsselte HTTP-Verbindungen müssen vermieden werden.
Für verschlüsselte HTTPS-Verbindungen wird ein TLS-Zertifikat benötigt.
Mit Certbot können kostenlose Zertifikate von Letsencrypt erhalten werden.
Für eine HTTPS-Verbindung müssen die Konfiguration des Webservers, der Firewall und des Routers angepasst werden.
Installation und Konfiguration
Die Installation von Nextcloud kann im Webbrowser erfolgen
Im Anschluss an die Installation muss das System auf Fehler überprüft werden
Die Konfiguration des Servers kann im Browser, mit dem occ-Programm oder mit der Konfigurationsdatei erfolgen
Für eine bessere Leistung empfiehlt sich die Implementierung eines Caching-Dienstes
Backup
inkrementelle Backups sind speicherplatz- und zeitsparend
besser ein mittelmäßiges Backup als gar kein Backup
Per Bash-Skript und cron-Job kann der Nextcloud-Server automatisch gesichert werden
Konfiguration 2
Die Aktualisierung kann mit dem Build-In Updater im Browser oder per CMD erfolgen
Nach Abschluss der Aktualisierung muss die Datenank migriert werden und ggf. weitere Schritte durchgeführt werden
Die Performance des Servers kann durch Konfigurationsänderungen in PHP verbessert werden
Die Sicherheit kann durch Änderungen an der Apache-Konfiguration, mit Fail2Ban und urandom erhöht werden