Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
18
Vorwort
19
Teil I Grundlagen
21
1 Die erste Begegnung mit einem Home Server
23
1.1 Was müssen Sie mitbringen, und was können Sie von diesem Buch erwarten?
23
1.2 Was ist ein Server?
25
1.3 Was kann Ihnen ein Home Server bringen?
27
1.4 Welche Hardware bietet sich für einen Home Server an?
30
1.4.1 Der Raspberry Pi
30
1.4.2 Der Intel NUC
37
1.5 Ist so ein Server überhaupt schnell genug? Und wann entscheide ich mich für welches Modell?
45
1.6 Gibt es denn auch leistungsfähigere Alternativen?
48
1.7 Was benötigen Sie an Einzelkomponenten für Ihren Home Server?
49
1.7.1 Der Pi-Computer und die Speicherkarte
49
1.7.2 Das Netzteil und das Gehäuse
51
1.7.3 Optionales Zubehör
53
1.7.4 USB-Sticks und externe Festplatten
54
1.8 Wie bauen Sie den Server zusammen?
55
1.8.1 Der Zusammenbau des Raspberry Pi
55
1.8.2 Der Zusammenbau des Intel NUC
56
1.9 Welches Betriebssystem bekommt Ihr Server?
57
2 Installation des Betriebssystems
61
2.1 Die Installation des Betriebssystems für den Raspberry Pi
63
2.1.1 Der Download der nötigen Daten
63
2.1.2 Die Nutzung von Balena Etcher
67
2.1.3 Der Ablauf auf einem Windows-System
69
2.1.4 Der Ablauf auf einem macOS-Gerät
70
2.1.5 Der Ablauf auf einem Linux-Gerät
71
2.2 Die Installation des Betriebssystems für einen Intel NUC
72
2.2.1 Einen USB-Stick für die Installation erstellen
72
2.2.2 Das Betriebssystem auf dem Intel NUC installieren
76
3 Erste Inbetriebnahme Ihres Servers
85
3.1 Erste Inbetriebnahme des Home Servers mit Tastatur und Monitor
85
3.2 Basiskonfiguration für den Intel NUC
91
3.3 Basiskonfiguration für den Raspberry Pi
92
3.4 Aufbauen der ersten SSH-Verbindung
98
3.5 Die ersten Schritte mit dem neuen System
103
3.5.1 Benutzer und ihre Rechte
103
3.5.2 Ein eigenes Benutzerkonto erstellen
104
3.5.3 Die Rechte eines normalen Benutzers im Unterschied zum Administrator
107
3.5.4 Das System auf den aktuellen Stand bringen
110
3.5.5 Aufräumarbeiten am Raspberry Pi
113
4 Grundlagen des Linux-Betriebssystems
115
4.1 Arbeiten mit dem Dateisystem: Verzeichnisse, Dateien und ihr Inhalt
115
4.2 Eine erste Berührung mit dem Thema Sicherheit
129
4.3 Die Rechte im Dateisystem
130
4.3.1 Die grundlegenden Dateirechte
130
4.3.2 Die Änderung der Zugriffsrechte
132
4.3.3 Die Änderung der Dateibesitzer
135
4.3.4 Sonderfälle bei den Dateirechten
137
4.4 Geht es nicht auch etwas kryptischer?
138
4.5 Informationen über den Speicherplatz erhalten
139
4.6 Die Verzeichnisse und ihre Bedeutung
141
4.7 Wichtige Befehle für den Alltag
145
4.7.1 Print Working Directory (»pwd«)
145
4.7.2 Who (»w«)
146
4.7.3 Der »lesende Taskmanager«: Table Of Processes (»top«)
146
4.7.4 Network Statistics (»netstat«)
149
4.7.5 Global/Regular Expression/Print (»grep«)
151
4.7.6 »awk«
152
4.8 Häufige Aufgaben und wie Sie sie erledigen
154
4.8.1 Die SSH-Verbindung zum Server trennen
154
4.8.2 Den Server abschalten oder neu starten
155
4.8.3 Die Arbeit mit »tar«-Archiven
157
4.8.4 Das Passwort ändern
158
4.8.5 Einen neuen Benutzer anlegen
159
4.8.6 Einen Benutzer löschen
160
4.8.7 Einen Benutzer umbenennen
161
4.8.8 Einen Benutzer einer Benutzergruppe hinzufügen
161
4.8.9 Einen Benutzer aus einer Benutzergruppe löschen
161
4.8.10 Eine Benutzergruppe anlegen oder löschen
162
4.8.11 Den Hostnamen ändern
162
4.9 Einige Komfortfunktionen von »nano«
165
4.10 Einhängen eines externen Speichermediums in das Dateisystem
170
4.10.1 USB-Stick oder externe Festplatte? Und welche?
170
4.10.2 Was ist die beste Strategie?
172
4.10.3 Der USB-Speicher ist angeschlossen ... und dann? – Das Mounten
173
4.10.4 Den USB-Speicher wieder entfernen
178
4.10.5 Auf NTFS-formatierte Datenträger zugreifen
179
4.10.6 Auf exFAT-formatierte Datenträger zugreifen
179
4.10.7 Die Zugriffsrechte manuell festlegen
180
4.10.8 Grundsätzliches zum automatischen Mounten
182
4.10.9 Automatisierter Mount-Vorgang mit beliebigen USB-Speichermedien
183
4.10.10 Automatisierter Mount-Vorgang mit festem Verzeichnispfad
189
4.10.11 Die Option »sync« nutzen
200
4.10.12 Einen externen Datenträger mit einem Linux-Dateisystem formatieren
201
5 Grundlagen des Netzwerks
205
5.1 Was ist ein Netzwerk?
205
5.2 Wie funktioniert die Verbindung der Geräte untereinander?
206
5.3 Wie funktioniert die Verbindung logisch?
209
5.4 Was sind weitere Komponenten eines Netzwerks?
212
5.5 Was für Geräte befinden sich im Netzwerk?
214
5.6 Statische und dynamische IP-Adressen im Heimnetz
215
5.7 Eine statische IP-Adresse für Ihren Home Server vergeben
220
5.7.1 Die Konfiguration für den Intel NUC
220
5.7.2 Die Konfiguration für den Raspberry Pi
225
5.8 Aktivieren einer WLAN-Verbindung
227
5.8.1 Die Einrichtung für den Intel NUC
228
5.8.2 Die Einrichtung für den Raspberry Pi
231
6 Im Fehlerfall
235
6.1 Den betreffenden Dienst neu starten
236
6.2 Schritt für Schritt vorgehen
236
6.3 Beliebte Fehler: Tippfehler
237
6.4 Beliebte Fehler: die Rechtevergabe
238
6.5 Beliebte Fehler: Konfigurationsfehler
239
6.6 Zurück auf null und von vorn beginnen
240
Teil II Serverprojekte
241
7 Dateien im Netzwerk freigeben: ein Fileserver mit Samba
243
7.1 Die Samba-Installation auf dem Home Server
244
7.2 Die grundlegende Konfiguration von Samba
248
7.3 Die Freigabe des Home-Verzeichnisses
255
7.4 Die grundlegende Rechtevergabe
257
7.5 Die erweiterte Konfiguration von Samba
259
7.6 Die Rechtevergabe im Detail für Sonderfälle
265
8 Medien per UPnP streamen: ein Medienserver mit MiniDLNA
269
8.1 Vorbereitung des Home Servers
270
8.2 Die Installation der benötigten Komponenten
273
8.3 Die grundlegende Konfiguration von MiniDLNA
274
8.4 Die Inbetriebnahme von MiniDLNA
275
8.5 Erweiterte Konfiguration mit Komfortfunktionen
278
8.6 Läuft nicht? Eine kleine Fehlersuche
280
9 Dateien per FTP übertragen: ein FTP-Server mit ProFTPD
283
9.1 Installation des FTP-Servers und Konfiguration von unverschlüsselten Verbindungen
284
9.2 Konfiguration für verschlüsselte Verbindungen
286
9.3 Die Benutzerrechte einschränken
293
9.3.1 Den Zugriff nur auf das jeweilige Home-Verzeichnis erlauben
293
9.3.2 Einen Gastzugang einrichten
294
9.3.3 Separate Zugriffsregeln für die Benutzer einstellen
300
9.4 Die Nutzung von FTP über das SSH-Protokoll: SFTP
301
10 Statusinformationen per E-Mail erhalten: »msmtp« als MTA
305
10.1 Die Installation auf dem Home Server
305
10.2 Die Konfiguration von »msmtp«
306
10.3 Der Versand der ersten E-Mail
309
10.4 E-Mails empfangen, die an Systembenutzer adressiert werden
310
10.5 Absichern der Konfigurationsdatei
313
10.6 Ein paar Worte zu einem eigenen E-Mail-Server
314
11 Sprachkonferenzen für Spiele mit Mumble
317
11.1 Wozu ein Sprachkonferenzsystem?
317
11.2 Die Installation und Einrichtung des Serverdienstes auf dem Home Server
320
11.3 Die Nutzung des Servers über das Internet
325
11.4 Die Installation und Konfiguration von Clientanwendungen
326
11.5 Erhöhung der Sicherheit: die Registrierung beim Server
333
12 Verwalten von Informationen und Anleitungen: ein eigenes Wiki mit DokuWiki
335
12.1 Die Installation auf dem Home Server
337
12.2 Die grundlegende Ersteinrichtung
346
12.3 Die Konfiguration des DokuWikis
348
12.4 Eine kleine Einführung in die Benutzung
352
12.5 Größere Dateien erlauben
354
13 Die eigene Cloud mit Nextcloud
357
13.1 Was ist eine Cloud überhaupt?
357
13.2 Vor- und Nachteile einer eigenen Cloud-Lösung
359
13.3 Die Installation der Nextcloud auf dem Home Server
361
13.3.1 Grundlegende Komponenten
361
13.3.2 Vorbereitungen für die verschlüsselte TLS-gestützte Verbindung
365
13.3.3 Konfiguration des Webservers
367
13.3.4 Anpassung der PHP-Konfiguration
375
13.3.5 Installation der eigentlichen Nextcloud
377
13.3.6 Der erste Aufruf im Browser
380
13.4 Die Konfiguration der Nextcloud
382
13.5 Sichere Verzeichnisrechte vergeben
388
13.6 Ihre Nextcloud aus dem Internet erreichbar machen
389
13.7 Backup der Nextcloud-Installation
393
14 Blockieren von unerwünschten Inhalten beim Webzugriff mit Pi-Hole
397
14.1 Was ist Pi-Hole, was bietet es, und wie funktioniert es?
398
14.2 Die Installation von Pi-Hole auf dem Home Server
402
14.3 Die Konfiguration von Pi-Hole
414
14.3.1 Welche Möglichkeiten für den Einsatz gibt es?
416
14.4 Weitere Einstellungen und Komfortfunktionen
428
14.4.1 Versehentlich blockierte Inhalte per Whitelist freigeben
428
14.4.2 Die lokale Domain des Routers weiterhin nutzen
429
14.4.3 Weitere Filterlisten zu Pi-Hole hinzufügen
431
14.4.4 Pi-Hole vorübergehend deaktivieren
432
14.4.5 Pi-Hole aktualisieren
432
15 VPN-Verbindungen mit OpenVPN
435
15.1 Eine Einführung in virtuelle private Netzwerke (kurz VPNs)
435
15.2 Vorbereitungen und Voraussetzungen
439
15.3 Installation des VPN-Server-Dienstes auf dem Home Server
442
15.4 Grundlagen der zertifikatsbasierten Authentifizierung und asymmetrischen Verschlüsselung
443
15.4.1 Die benötigten Zertifikate und Schlüsseldateien erstellen
446
15.4.2 Zertifikats- und Schlüsseldaten für mobile Endgeräte erstellen
454
15.4.3 Diffie-Hellman-Parameter erstellen
455
15.4.4 Zertifikats- und Schlüsseldateien auf Vollständigkeit prüfen
457
15.4.5 HMAC-Schutz
459
15.5 Basiskonfiguration des VPN-Servers
460
15.6 Kopieren der Zertifikats- und Schlüsseldateien
464
15.7 Installation der Clientanwendungen auf den VPN-Clients
464
15.8 Die Konfiguration der VPN-Clients
469
15.8.1 Die Dateipfade beim Betriebssystem Windows
472
15.8.2 Die Dateipfade bei den Betriebssystemen Linux und macOS
473
15.8.3 Die Dateipfade für Mobilgeräte mit dem Android-Betriebssystem
475
15.8.4 Die Dateipfade für Mobilgeräte mit dem iOS-Betriebssystem
475
15.9 Das Kopieren der benötigten Dateien auf die Clientrechner
476
15.9.1 Die benötigten Dateien für Desktop-Betriebssysteme
476
15.9.2 Die benötigten Dateien für mobile Endgeräte
478
15.10 Das Sichern der Zertifikatsdateien für die zukünftige Nutzung
482
15.11 Die erste Aktivierung des Servers
484
15.12 Die Konfiguration der Firewall und des Routers im Heimnetzwerk
485
15.13 Die erste Verbindung
487
15.13.1 Der Aufbau der Verbindung
488
15.13.2 Der erste Test der Verbindung
490
15.14 Über die VPN-Verbindung auf das gesamte Heimnetzwerk zugreifen
494
15.15 Über die VPN-Verbindung den heimischen Internetzugang verwenden
499
15.16 Die Konfiguration von Serverdiensten für die Nutzung im 10.8.0.0-Netzwerk
501
15.16.1 Die Konfiguration von Nextcloud
501
15.16.2 Noch ein Wort zu Samba-Dateifreigaben
503
15.17 Nachteile dieser Art von VPN-Verbindungen
503
16 Daten synchronisieren und Backups erstellen mit »rsync«
505
16.1 Wozu dient »rsync«, und wobei kann es behilflich sein?
506
16.2 Wo hat »rsync« Nachteile, und wie unterscheidet es sich von anderen Backup-Systemen?
508
16.3 Die Installation von »rsync« auf dem Home Server
509
16.4 Ein erster Test direkt auf dem Home Server
510
16.5 Die Verwendung von »rsync« über das Netzwerk mit einem anderen Linux-Rechner
513
16.6 Die Nutzung von »rsync« auf einem Windows-Computer
517
16.7 Ein Backup mit Versionsgeschichte und harten Verknüpfungen anlegen
520
16.8 Ein Backup mit Rechteverwaltung für Sonderfälle
525
16.9 Das Backup automatisiert ausführen
531
16.10 Das Wiederherstellen von einzelnen Dateien und ganzen Verzeichnissen
543
17 Von jedem Computer aus fernsehen: TV-Streaming mit TVHeadend
545
17.1 Der richtige DVB-USB-Stick
546
17.2 Die Installation auf dem Home Server
548
17.3 Die automatische Konfiguration von TVHeadend
552
17.4 Die manuelle Einrichtung von TVHeadend
558
17.5 Zum ersten Mal mit TVHeadend fernsehen
563
17.6 Zusätzliche Optionen
565
17.7 Clientprogramme für TVHeadend
566
17.8 Zurück auf null: die Deinstallation von TVHeadend
569
18 Das Fenster nach Hause: Bilder per Webcam übertragen mit »fswebcam« und »motion«
571
18.1 Prüfen, ob die eigene Webcam geeignet ist
572
18.2 Die Problematik mit dem Kameramodul
574
18.3 Statische Bilder übertragen mit »fswebcam«
576
18.3.1 Die Installation auf dem Home Server
576
18.3.2 Die ersten Schritte mit »fswebcam«
576
18.3.3 Anpassen der Kameraeinstellungen
578
18.3.4 Sequentielle Fotoaufnahme
580
18.3.5 Das Hilfesystem von »fswebcam«
582
18.3.6 Eine Konfigurationsdatei erstellen
583
18.3.7 Die Zugriffsrechte auf die Videogeräte
586
18.3.8 »fswebcam« automatisch beim Systemstart ausführen
587
18.3.9 Eine einfache Webseite mit dem Kamerabild
589
18.4 Bewegte Bilder übertragen: Livestreaming und Bewegungserkennung mit »motion«
593
18.4.1 Video-Codecs und Hardwareanforderungen
594
18.4.2 Die Installation und Einrichtung von »motion« für einen Livestream
595
18.4.3 Der erste Start
600
18.4.4 Die Einrichtung der Bewegungserkennung
601
18.4.5 Zusätzliche Einstellungsoptionen
606
18.5 Kameramodule für die Anschlüsse auf der Platine
608
19 Ein eigener Chatserver mit Prosody
613
19.1 Installation
614
19.2 Konfiguration
615
19.2.1 Vorbereitungen für eine verschlüsselte Kommunikation
616
19.2.2 Konfiguration von Prosody
618
19.3 Grundlegende Benutzung
620
19.4 Erweiterung der Konfiguration: Gruppenchats
625
19.5 Erweiterung der Konfiguration: verschlüsselte Verbindungen
628
19.6 Konfiguration der Servererreichbarkeit: weltweit, abgeschlossen oder nur lokal?
629
19.6.1 Die ausschließlich netzinterne Kommunikation
629
19.6.2 Der geschlossene Teilnehmerkreis über das Internet
631
19.6.3 Die weltweite Kommunikation
632
19.7 Die Fernwartung des Servers
633
20 Die eigene Telefonanlage mit Asterisk
635
20.1 Die Installation von Asterisk
637
20.2 Welche Telefoniegeräte werden Sie benutzen?
638
20.3 Asterisk mit den verwendeten Endgeräten bekannt machen
640
20.4 Wahlregeln für die interne Telefonie erstellen
644
20.5 Die Konfiguration der Endgeräte (Telefone)
646
20.5.1 Die Einrichtung von PhonerLite auf einem Windows-PC
646
20.5.2 Die Einrichtung von Linphone auf einem Android-Smartphone
650
20.6 Der Anrufbeantworter
652
20.6.1 Die grundlegende Konfiguration
653
20.6.2 Wahregeln für den Anrufbeantworter
654
20.6.3 Angepasste E-Mail-Texte verwenden
655
20.7 Der Versand und Empfang von SMS-Nachrichten
656
20.8 Die Videotelefonie
658
20.9 Klarnamen verwenden und anonym anrufen
659
20.10 Die Ansagefunktion
661
20.11 Die Nutzung von Kurzwahlen
662
20.12 Externe Telefonate über einen VoIP-Provider
663
20.12.1 Die Konfiguration der SIP-Daten
664
20.12.2 Die Erstellung von Wahlregeln
666
Teil III Sicherheit und Wartung
671
21 Die (Daten-)Sicherheit Ihres Home Servers
673
21.1 Die Sicherheit durch die NAT-Funktion Ihres Routers
673
21.2 Die Sicherheit im Heimnetzwerk
675
21.3 Was kann beim Zugriff aus dem Internet passieren?
677
21.4 Nur ich und sonst keiner: sichere Passwörter
680
21.5 Eine Firewall für Ihren Home Server?
683
21.5.1 Die Einrichtung der grundlegenden Filterregeln
684
21.5.2 Die Erweiterung mit eigenen Regeln
690
21.5.3 Die Firewall aktivieren und automatisch laden
692
21.5.4 Mit der Firewall auch IPv6-Verbindungen absichern
694
21.6 Eine kleine Hilfe gegen ungebetene Gäste: »chkrootkit«
696
21.7 Keine Chance für Ratefüchse: Fail2ban
702
21.7.1 Fail2ban installieren
702
21.7.2 Das Konzept der Überwachungsregeln und die grundlegende Konfiguration
703
21.7.3 Die SSH-Konsole absichern
705
21.7.4 Vorgefertigte Regeln aktivieren
709
21.7.5 Eigene Überwachungsregeln erstellen
709
21.7.6 Benachrichtigungen per E-Mail konfigurieren
711
21.7.7 Der erste Test der Überwachungsregeln
713
21.7.8 Die Einrichtung für das DokuWiki
715
21.7.9 Die Einrichtung für Nextcloud
717
21.7.10 Die Einrichtung für OpenVPN
719
21.8 »Sesam, öffne dich!« mit Port-Knocking
720
21.8.1 Welche Dienste eignen sich?
721
21.8.2 Die Installation und grundlegende Konfiguration
722
21.8.3 Die eigene Konfiguration erstellen
724
21.8.4 Der Anklopfvorgang auf der Clientseite
728
21.9 Wo war das noch mal? – Die Portverlegung
730
21.10 Wie mache ich denn nun endlich Dienste aus dem Internet erreichbar?
733
21.11 Offizielle Zertifikate mit Let’s Encrypt erhalten
735
21.12 Das »root«-Konto für den Fernzugriff deaktivieren
742
22 Wartung des Servers
745
22.1 Die Überprüfung des freien Speicherplatzes
745
22.2 Das Lesen von Logdateien
748
22.3 Weitere wichtige Kontrollschritte
750
22.4 Die Software aktuell halten
753
22.4.1 Automatische Information über verfügbare Updates
756
22.4.2 Vollautomatische Installation von Updates
757
22.5 Prüfen des Softwarebestands
759
23 Testen der Netzwerkgeschwindigkeit
765
24 Das System sichern
771
24.1 Ein vollständiges Abbild des Speichermediums erstellen
773
24.1.1 Das Backup der Speicherkarte eines Raspberry Pi mit einem externen Rechner
775
24.1.2 Das Backup des zentralen Speichermediums im laufenden Betrieb
779
24.2 Die Automatisierung des Backups
782
24.3 Die Speicherkarte beim Raspberry Pi wechseln
785
24.4 Die Sicherung einzelner Verzeichnisse
786
Schlusswort
789
Index
791