Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Geleitwort
17
Vorwort
19
Teil I Grundlagen
21
1 Die erste Begegnung mit einem Heimserver
23
1.1 Was müssen Sie mitbringen, und wie werden wir vorgehen?
23
1.2 Was ist ein Server?
25
1.3 Was kann Ihnen ein Heimserver bringen?
27
1.4 Was sind ein Raspberry Pi und ein Banana Pi?
29
1.5 Warum ist ein Raspberry Pi oder ein Banana Pi interessant für einen Heimserver?
32
1.6 Welchen Pi-Computer sollten Sie für Ihren Heimserver nehmen?
33
1.6.1 Der Raspberry Pi
33
1.6.2 Der Banana Pi
36
1.6.3 Die Qual der Wahl
40
1.7 Wie schnell ist ein Pi-Server, und was können Sie von ihm erwarten?
41
1.8 Gibt es denn auch leistungsfähigere Alternativen?
43
1.9 Was benötigen Sie an Einzelkomponenten für Ihren Pi-Server?
44
1.9.1 Der Pi-Computer und die Speicherkarte
44
1.9.2 Das Netzteil und das Gehäuse
46
1.9.3 Optionales Zubehör
47
1.9.4 USB-Sticks und externe Festplatten
49
1.10 Wie bauen Sie den Server zusammen?
50
1.11 Welches Betriebssystem bekommt Ihr Server?
51
2 Installation des Betriebssystems
53
2.1 Download für den Banana Pi
54
2.2 Download für den Raspberry Pi
56
2.3 Installation des Betriebssystems auf der Speicherkarte
58
2.3.1 Der Ablauf auf einem Windows-System
59
2.3.2 Der Ablauf auf einem OS X-Gerät
60
2.3.3 Der Ablauf auf einem Linux-Gerät
62
3 Erste Inbetriebnahme Ihres Servers
63
3.1 Erste Inbetriebnahme des Pi-Computers mit Tastatur und Monitor
63
3.2 Die Inbetriebnahme über das Netzwerk
66
3.3 Aufbauen der ersten SSH-Verbindung
71
3.4 Basiskonfiguration für den Banana Pi
75
3.5 Basiskonfiguration für den Raspberry Pi
82
3.6 Die ersten Schritte mit dem neuen System
88
3.6.1 Benutzer und ihre Rechte
88
3.6.2 Das System auf den aktuellen Stand bringen
89
3.6.3 Ein eigenes Benutzerkonto erstellen
92
3.6.4 Die Rechte eines normalen Benutzers im Unterschied zum Administrator
94
3.6.5 Aufräumarbeiten unter Raspbian
98
4 Grundlagen des Linux-Betriebssystems
99
4.1 Arbeiten mit dem Dateisystem: Ordner, Dateien und ihr Inhalt
99
4.2 Eine erste Berührung mit dem Thema Sicherheit
113
4.3 Die Rechte im Dateisystem
114
4.3.1 Die grundlegenden Dateirechte
114
4.3.2 Die Änderung der Zugriffsrechte
116
4.3.3 Die Änderung der Dateibesitzer
119
4.3.4 Sonderfälle bei den Dateirechten
120
4.4 Geht es nicht auch etwas kryptischer?
122
4.5 Informationen über den Speicherplatz erhalten
123
4.6 Die Verzeichnisse und ihre Bedeutung
124
4.7 Wichtige Befehle für den Alltag
128
4.7.1 Print Working Directory (»pwd«)
128
4.7.2 Who (»w«)
129
4.7.3 Der »lesende Taskmanager«: Table Of Processes (»top«)
129
4.7.4 Network Statistics (»netstat«)
132
4.7.5 Global/Regular Expression/Print (»grep«)
134
4.7.6 »awk«
135
4.8 Häufige Aufgaben und ihre Erledigung
137
4.8.1 Die SSH-Verbindung zum Server trennen
137
4.8.2 Den Server abschalten oder neu starten
137
4.8.3 Die Arbeit mit »tar«-Archiven
139
4.8.4 Das Passwort ändern
141
4.8.5 Einen neuen Benutzer anlegen
142
4.8.6 Einen Benutzer löschen
143
4.8.7 Einen Benutzer umbenennen
143
4.8.8 Einen Benutzer einer Benutzergruppe hinzufügen
144
4.8.9 Einen Benutzer aus einer Benutzergruppe löschen
144
4.8.10 Eine Benutzergruppe anlegen oder löschen
145
4.8.11 Den Hostnamen ändern
145
4.9 Einige Komfortfunktionen von »nano«
148
4.10 Einhängen eines externen Speichermediums in das Dateisystem
153
4.10.1 USB-Stick oder externe Festplatte? Und welche?
153
4.10.2 Was ist die beste Strategie?
155
4.10.3 Anschließen des USB-Speichers ... und dann? – Das Mounten
156
4.10.4 Den USB-Speicher wieder entfernen
161
4.10.5 Auf NTFS-formatierte Datenträger zugreifen
162
4.10.6 Auf exFAT-formatierte Datenträger zugreifen
163
4.10.7 Die Zugriffsrechte manuell festlegen
163
4.10.8 Grundsätzliches zum automatischen Mounten
166
4.10.9 Automatisierter Mount-Vorgang mit beliebigen USB-Speichermedien
167
4.10.10 Automatisierter Mount-Vorgang mit festem Verzeichnispfad
172
4.10.11 Die Option »sync« nutzen
182
4.10.12 Einen externen Datenträger mit einem Linux-Dateisystem formatieren
183
4.10.13 Der Banana Pi und sein SATA-Anschluss
185
5 Grundlagen des Netzwerks
187
5.1 Was ist ein Netzwerk?
187
5.2 Wie funktioniert die Verbindung der Geräte untereinander?
188
5.3 Wie funktioniert die Verbindung logisch?
191
5.4 Was sind weitere Komponenten eines Netzwerks?
193
5.5 Was für Geräte befinden sich im Netzwerk?
195
5.6 Statische und dynamische IP-Adressen im Heimnetz
196
5.7 Einrichten einer statischen IP-Adresse für Ihren Pi-Server
201
5.7.1 Die Konfiguration für den Banana Pi
202
5.7.2 Die Konfiguration für den Raspberry Pi
205
5.8 Aktivieren einer WLAN-Verbindung
207
5.8.1 Die Einrichtung für den Banana Pi
209
5.8.2 Die Einrichtung für den Raspberry Pi
212
6 Im Fehlerfall
215
6.1 Den betreffenden Dienst neu starten
216
6.2 Schritt für Schritt vorgehen
216
6.3 Beliebte Fehler: Tippfehler
217
6.4 Beliebte Fehler: die Rechtevergabe
218
6.5 Beliebte Fehler: Konfigurationsfehler
219
6.6 Zurück auf Null und von vorn beginnen
220
Teil II Serverprojekte
221
7 Dateien im Netzwerk freigeben: ein allgemeiner Fileserver mit Samba
223
7.1 Die Samba-Installation auf dem Pi-Server
224
7.2 Die grundlegende Konfiguration von Samba
227
7.3 Die grundlegende Rechtevergabe
235
7.4 Die erweiterte Konfiguration von Samba
239
7.5 Die Rechtevergabe im Detail für Sonderfälle
245
8 Medien per UPnP streamen: ein Medienserver mit MiniDLNA
249
8.1 Vorbereitung des Pi-Servers
250
8.2 Die Installation der benötigten Komponenten
252
8.3 Die grundlegende Konfiguration von MiniDLNA
254
8.4 Die Inbetriebnahme von MiniDLNA
255
8.5 Erweiterte Konfiguration mit Komfortfunktionen
257
8.6 Läuft nicht? Eine kleine Fehlersuche
260
9 Dateien per FTP übertragen: ein FTP-Server mit ProFTPD
263
9.1 Installation des FTP-Servers und Konfiguration von unverschlüsselten Verbindungen
264
9.2 Konfiguration für verschlüsselte Verbindungen
266
9.3 Die Benutzerrechte einschränken
272
9.3.1 Den Zugriff nur auf das jeweilige Home-Verzeichnis erlauben
272
9.3.2 Einen Gastzugang einrichten
274
9.3.3 Separate Zugriffsregeln für die Benutzer einstellen
279
9.4 Die Nutzung von FTP über das SSH-Protokoll – kurz SFTP
280
10 Statusinformationen per E-Mail erhalten: sSMTP als MTA
283
10.1 Die Installation auf dem Pi-Server
283
10.2 Die Konfiguration von sSMTP
284
10.3 Der Versand der ersten E-Mail
288
10.4 E-Mails empfangen, die an Systembenutzer adressiert werden
290
10.5 Absichern der Konfigurationsdatei
292
10.6 Ein paar Worte zu einem eigenen E-Mail-Server
294
11 Ein Drucker für alle: ein Printserver mit CUPS
295
11.1 Die Installation auf dem Pi-Server
296
11.2 Installation eines optionalen PDF-Druckers
297
11.3 Die Konfiguration von CUPS
298
11.4 Auf den Drucker über das Netzwerk zugreifen
305
11.5 Der Druckertreiber für den PDF-Drucker
312
11.6 Das Zielverzeichnis des PDF-Druckers anpassen
313
11.7 Kann ich schon zum Drucker gehen? Die Kontrolle mit dem RSS-Feed
314
12 Verwalten von Informationen und Anleitungen: ein eigenes Wiki mit DokuWiki
317
12.1 Die Installation auf dem Pi-Server
319
12.2 Die grundlegende Ersteinrichtung
327
12.3 Die Konfiguration des DokuWikis
329
12.4 Eine kleine Einführung in die Benutzung
333
12.5 Größere Dateien erlauben
336
13 Der eigene Blog mit Chyrp
339
13.1 Die Installation auf dem Pi-Server
340
13.2 Die Konfiguration von Chyrp
348
13.3 Eine kleine Einführung in die Benutzung von Chyrp
352
14 Die eigene Cloud mit ownCloud
359
14.1 Was ist eine Cloud überhaupt?
359
14.2 Vor- und Nachteile einer eigenen Cloud-Lösung
361
14.3 Die Installation der ownCloud auf dem Pi-Server
364
14.3.1 Grundlegende Komponenten
364
14.3.2 Vorbereitungen für die verschlüsselte TLS-gestützte Verbindung
365
14.3.3 Konfiguration des Webservers
367
14.3.4 Anpassung der PHP-Konfiguration
373
14.3.5 Installation der eigentlichen ownCloud
375
14.3.6 Der erste Aufruf im Browser
377
14.4 Die Konfiguration der ownCloud
379
14.5 Sichere Verzeichnisrechte vergeben
385
14.6 Ihre ownCloud aus dem Internet erreichbar machen
386
14.7 Backup der ownCloud-Installation
389
14.8 Konvertieren der Datenbank
391
14.9 Backup der MySQL-Datenbank einer ownCloud-Installation
395
15 VPN-Verbindungen mit OpenVPN
397
15.1 Eine Einführung in virtuelle private Netzwerke (kurz VPNs)
397
15.2 Vorbereitungen und Voraussetzungen
401
15.3 Installation des VPN-Server-Dienstes auf dem Pi-Server
404
15.4 Grundlagen der zertifikatsbasierten Authentifizierung und asymmetrischen Verschlüsselung
405
15.4.1 Erstellen der benötigten Zertifikate und Schlüsseldateien
408
15.4.2 Erstellen von Zertifikats- und Schlüsseldaten für mobile Endgeräte
415
15.4.3 Erstellen von Diffie-Hellman-Parametern
417
15.4.4 Prüfen der Zertifikats- und Schlüsseldateien auf Vollständigkeit
420
15.4.5 Die Erstellung eines HMAC-Schutzes
420
15.5 Basiskonfiguration des VPN-Servers
422
15.6 Kopieren der Zertifikats- und Schlüsseldateien
425
15.7 Installation der Clientanwendungen auf den VPN-Clients
426
15.8 Die Konfiguration der VPN-Clients
430
15.8.1 Die Dateipfade beim Betriebssystem Windows
433
15.8.2 Die Dateipfade bei den Betriebssystemen Linux und OS X
435
15.8.3 Die Dateipfade für Mobilgeräte mit dem Android-Betriebssystem
436
15.8.4 Die Dateipfade für Mobilgeräte mit dem iOS-Betriebssystem
436
15.9 Das Kopieren der benötigten Dateien auf die Clientrechner
437
15.9.1 Die benötigten Dateien für Desktop-Betriebssysteme
437
15.9.2 Die benötigten Dateien für mobile Endgeräte
439
15.10 Das Sichern der Zertifikatsdateien für die zukünftige Nutzung
443
15.11 Die erste Aktivierung des Servers
445
15.12 Die Konfiguration der Firewall und des Routers im Heimnetzwerk
446
15.13 Die erste Verbindung
448
15.13.1 Der Aufbau der Verbindung
449
15.13.2 Der erste Test der Verbindung
452
15.14 Über die VPN-Verbindung auf das gesamte Heimnetzwerk zugreifen
455
15.15 Über die VPN-Verbindung den heimischen Internetzugang verwenden
459
15.16 Die Konfiguration von Serverdiensten für die Nutzung im 10.8.0.0-Netzwerk
462
15.16.1 Die Konfiguration von ownCloud
462
15.16.2 Die Konfiguration von MPD
464
15.16.3 Über die Nutzung von Chyrp
465
15.16.4 Noch ein Wort zu Samba-Dateifreigaben
465
15.17 Nachteile dieser Art von VPN-Verbindungen
465
16 Ein eigener Radiosender
467
16.1 Streaming von Mikrofonsignalen mit Icecast und Ices
468
16.1.1 Die Installation von Icecast und Ices
469
16.1.2 Die Konfiguration von Icecast
470
16.1.3 Die Konfiguration von Ices
474
16.1.4 Der erste Start
477
16.1.5 Die erweiterte Konfiguration
480
16.1.6 Die Zugriffsrechte auf die Hardware
482
16.1.7 Die Lautstärke des Streams ändern: das Mischpult
484
16.1.8 Der automatische Start beim Bootvorgang des Servers
485
16.1.9 Der mobile Reporter
488
16.2 Fernsteuerbares Streaming von Audiodateien mit MPD
488
16.2.1 Die Installation und Konfiguration von MPD
489
16.2.2 Die Einrichtung der Clientanwendung
495
16.2.3 Die erweiterte Konfiguration mit »Sonderwünschen«
499
16.2.4 MPD als Konkurrenz zu Icecast?
501
17 Von jedem Computer aus Fernsehen gucken: TV-Streaming mit TVHeadend
505
17.1 Der richtige DVB-USB-Stick
506
17.2 Die Installation auf dem Pi-Server
508
17.3 Die Konfiguration von TVHeadend
511
17.4 Zusätzliche Optionen
519
17.5 Der Start der Übertragung
520
17.6 Zurück auf null: die Deinstallation von TVHeadend
523
18 Das Fenster nach Hause: Bilder per Webcam übertragen mit »fswebcam« und »motion«
525
18.1 Prüfen, ob die eigene Webcam geeignet ist
526
18.2 Die Problematik mit dem Kameramodul
528
18.3 Statische Bilder übertragen mit »fswebcam«
530
18.3.1 Die Installation auf dem Pi-Server
530
18.3.2 Die ersten Schritte mit »fswebcam«
531
18.3.3 Anpassen der Kameraeinstellungen
533
18.3.4 Sequentielle Fotoaufnahme
534
18.3.5 Das Hilfesystem von »fswebcam«
537
18.3.6 Eine Konfigurationsdatei erstellen
538
18.3.7 Die Zugriffsrechte auf die Videogeräte
540
18.3.8 »fswebcam« automatisch beim Systemstart ausführen
542
18.3.9 Eine einfache Webseite mit dem Kamerabild
543
18.4 Bewegte Bilder übertragen: Livestreaming und Bewegungserkennung mit »motion«
548
18.4.1 Video-Codecs und Hardwareanforderungen
548
18.4.2 Die Installation und Einrichtung von »motion« für einen Livestream
549
18.4.3 Der erste Start
554
18.4.4 Die Einrichtung der Bewegungserkennung
555
18.4.5 Zusätzliche Einstellungsoptionen
560
18.5 Kameramodule für die Anschlüsse auf der Platine
562
18.5.1 Für den Banana Pi
564
18.5.2 Für den Raspberry Pi
565
19 Ein eigener Chatserver mit Prosody
567
19.1 Installation
568
19.2 Konfiguration
569
19.2.1 Vorbereitungen für eine verschlüsselte Kommunikation
570
19.2.2 Konfiguration von Prosody
572
19.3 Grundlegende Benutzung
574
19.4 Erweiterung der Konfiguration: Gruppenchats
579
19.5 Erweiterung der Konfiguration: verschlüsselte Verbindungen
582
19.6 Konfiguration der Server-Erreichbarkeit: weltweit, abgeschlossen oder nur lokal?
583
19.6.1 Die ausschließlich netzinterne Kommunikation
583
19.6.2 Der geschlossene Teilnehmerkreis über das Internet
585
19.6.3 Die weltweite Kommunikation
586
19.7 Die Fernwartung des Servers
587
20 Die eigene Telefonanlage mit Asterisk
589
20.1 Die Installation von Asterisk
592
20.2 Welche Telefoniegeräte werden Sie benutzen?
593
20.3 Asterisk mit den verwendeten Endgeräten bekannt machen
594
20.4 Wahlregeln für die interne Telefonie erstellen
598
20.5 Die Konfiguration der Endgeräte (Telefone)
600
20.5.1 Die Einrichtung von PhonerLite auf einem Windows-PC
600
20.5.2 Die Einrichtung von CSipSimple auf einem Android-Smartphone
604
20.6 Der Anrufbeantworter
606
20.6.1 Die grundlegende Konfiguration
607
20.6.2 Wahregeln für den Anrufbeantworter
608
20.6.3 Die Absenderadresse von E-Mails konfigurieren
609
20.6.4 Angepasste E-Mail-Texte verwenden
609
20.7 Der Versand und Empfang von SMS-Nachrichten
610
20.8 Die Videotelefonie
612
20.9 Klarnamen verwenden und anonym anrufen
613
20.10 Die Ansagefunktion
615
20.11 Die Nutzung von Kurzwahlen
616
20.12 Externe Telefonate über einen VoIP-Provider
617
20.12.1 Die Konfiguration der SIP-Daten
618
20.12.2 Die Erstellung von Wahlregeln
619
Teil III Sicherheit und Wartung
623
21 Die Sicherheit Ihres Heimservers
625
21.1 Die Sicherheit durch die NAT-Funktion Ihres Routers
625
21.2 Die Sicherheit im Heimnetz
627
21.3 Was kann beim Zugriff aus dem Internet passieren?
628
21.4 Nur ich und sonst keiner: sichere Passwörter
632
21.5 Eine Firewall für Ihren Pi-Server?
634
21.5.1 Die Einrichtung der grundlegenden Filterregeln
636
21.5.2 Die Erweiterung mit eigenen Regeln
641
21.5.3 Die Firewall aktivieren und automatisch laden
643
21.6 Eine kleine Hilfe gegen ungebetene Gäste: »chkrootkit«
645
21.7 Keine Chance für Ratefüchse: Fail2ban
650
21.7.1 Die Installation von Fail2ban
651
21.7.2 Das Konzept der Überwachungsregeln und die grundlegende Konfiguration
652
21.7.3 Die Absicherung der SSH-Konsole
654
21.7.4 Die Aktivierung weiterer vorgefertigter Regeln
657
21.7.5 Die Erstellung eigener Überwachungsregeln
658
21.7.6 Die Konfiguration von Benachrichtigungen per E-Mail
659
21.7.7 Der erste Test der Überwachungsregeln
661
21.7.8 Die Einrichtung für das DokuWiki
662
21.7.9 Die Einrichtung für Chyrp
665
21.7.10 Die Einrichtung für ownCloud
666
21.7.11 Die Einrichtung für OpenVPN
667
21.8 »Sesam, öffne dich!« mit Port-Knocking
669
21.8.1 Welche Dienste eignen sich?
670
21.8.2 Die Installation und grundlegende Konfiguration
671
21.8.3 Die eigene Konfiguration erstellen
672
21.8.4 Der Anklopfvorgang auf der Clientseite
676
21.9 Wo war das noch mal? - Die Portverlegung
679
21.10 Wie mache ich denn nun endlich Dienste aus dem Internet erreichbar?
682
21.11 Die Deaktivierung des »root«-Kontos für den Fernzugriff
684
22 Wartung des Servers
687
22.1 Die Überprüfung des freien Speicherplatzes
687
22.2 Das Lesen von Logdateien
690
22.3 Weitere wichtige Kontrollschritte
692
22.4 Die Software aktuell halten
694
22.4.1 Automatische Information über verfügbare Updates
696
22.4.2 Vollautomatische Installation von Updates
698
22.5 Prüfen des Softwarebestands
700
22.6 Das Betriebssystem Bananian aktualisieren
703
23 Testen der Netzwerkgeschwindigkeit
705
24 Ein Backup erstellen
709
24.1 Das Backup der Speicherkarte mit einem externen Rechner
711
24.1.1 Backup mit Windows-Systemen
712
24.1.2 Backup mit einem OS X-Gerät
712
24.1.3 Backup mit einem Linux-Computer
713
24.2 Das Backup direkt mit dem Pi-Server
715
24.3 Die Automatisierung des Backups
717
24.4 Die Speicherkarte wechseln
720
24.5 Die Sicherung einzelner Verzeichnisse
720
Schlusswort
723
Index
725