Remote-Server mit eigenen Händen

Remote-Server mit eigenen Händen
N. Levitsky
Genres: Programmierung, Systemadministration
Jahr der Veröffentlichung: 2021
Jahr der Lektüre: 2025
Meine Bewertung: Höchste
Anzahl der Lesevorgänge: 1
Gesamtseitenzahl: 402
Zusammenfassung (Seiten): 41
Originalsprache der Veröffentlichung: Russisch
Übersetzungen in andere Sprachen: Keine Übersetzungen in andere Sprachen gefunden

Installation und Konfiguration von Linux auf einem Server

Das Buch beginnt schrittweise mit der Installation des Betriebssystems und steigert sich von Kapitel zu Kapitel in der Komplexität. Das erste Kapitel ist der Installation von Linux gewidmet. Dieses Thema ist so vertraut und die Durchführung so häufig, dass ich aus diesem Kapitel keine zusätzlichen Notizen gemacht habe. Die Installation wird am Beispiel von Astra und Ubuntu betrachtet.

Es folgen mehrere Kapitel, die sich mit der Einführung in Linux anhand des Systemzugriffs befassen. Es wird wenig Aufmerksamkeit auf grafische Oberflächen, Dark Mode und andere visuelle Aspekte gelegt. Übrigens wird viel Wert auf die Anpassung des Erscheinungsbildes des Betriebssystems im Stil von macOS gelegt: Installation von Bildschirmschonern, Änderung des Designs von Schaltflächen, Symbolen, Cursorn, Menüs und anderen Elementen. Es wird auch der Unterschied zwischen den Modi Ruhezustand und Schlafmodus, das Herunterfahren und Neustarten über die Konsole sowie das geplante Herunterfahren erwähnt. Der Autor zeigt, wie man Audio- und Video-Codecs installiert, Pakete verwaltet und das System aktualisiert.

Kapitel 4 ist der Kommandozeile und grundlegenden Befehlen gewidmet, wie z.B.: Anzeige des Inhalts einer Datei, Umleitung der Ausgabe, Erstellung, Kopierung und Verschiebung von Dateien und Verzeichnissen, Dateisuche, Vergleich, Ersetzung, Formatierung. Es gibt viele Befehle, einige davon waren mir unbekannt und ich konnte sie mir nicht merken. Sie werden hauptsächlich aufgelistet, ohne tiefere Erklärungen, daher ist es besser, für Details auf andere Quellen zurückzugreifen. Der Autor erwähnte in einem vorherigen Kapitel grafische Schnittstellen, aber nicht die verschiedenen Arten von Kommandozeilen-Shells. Wie in jedem Linux-Buch wird hier der Unterschied zwischen normalen Benutzern und dem Superuser, die Symbole Raute und Dollar, behandelt. Ein kleiner Teil des Kapitels ist auch grafischen Editoren gewidmet – sowohl eingebauten als auch solchen, die separat installiert werden müssen.

Kapitel 5 befasst sich mit der Konfiguration von Netzwerkschnittstellen. Hier geht es hauptsächlich um die physische Konfiguration: Adapter, Switches, Twisted-Pair-Kabel, RJ-45-Stecker. Der Autor vergisst auch nicht das Werkzeug zum Crimpen von Twisted-Pair-Kabeln. Ein Schaltplan zum Crimpen wird bereitgestellt. Aus der Theorie gibt es ein paar Worte zum Befehl ifconfig und zum DHCP-Server, über den später ausführlicher gesprochen wird.

Grundkonfiguration des Servers

Kapitel 6 behandelt Routing und Firewall-Konfiguration. Ich muss gestehen, dass mir Routing-Tabellen, die Befehle zu ihrer Konfiguration und die Arbeit mit Paketen nicht gut im Gedächtnis geblieben sind. Wahrscheinlich, weil ich kein Systemadministrator bin und im Backend oder Frontend nicht direkt damit konfrontiert werde. Die Firewall wird am Beispiel von iptables und ufw betrachtet.

Kapitel 7 ist dem SSH-Protokoll gewidmet. Der Autor behandelt die von OpenSSH unterstützten Algorithmen (die in Linux verwendet werden): Blowfish, 3DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm) und RSA (Rivest-Shamir-Adleman Algorithm). Danach folgt eine Analyse der SSH-Konfigurationsdatei mit den verfügbaren Kommentaren. Es ist schwierig, sich alle Parameter zu merken, und wahrscheinlich ist es auch nicht notwendig. Das Kapitel endet mit Beispielen zum Kopieren von Dateien über SSH sowie mit Optimierungen und Leistungssteigerungen.

Kapitel 8 behandelt allgemeine Fragen der Webserver-Administration. Hier macht der Autor eine Pause von technischen Fragen und gibt etwas Theorie, die meiner Meinung nach wichtig und interessant ist. Er erklärt ausführlich den Unterschied zwischen physischen, virtuellen und dedizierten Servern sowie wann welche Option vorzuziehen ist. Spoiler: Wahrscheinlich benötigen Sie keinen physischen Server. Es werden die Vor- und Nachteile jedes Typs aufgeführt. Zum Beispiel erfordert ein physischer Server eine zweite Internetleitung, Raumlüftung und Sicherheitspersonal. Der zweite Teil des Kapitels ist den Kriterien für die Serverauswahl gewidmet. Hier einige Punkte aus der Liste:

  • Level der Tier-Zertifizierung
  • Vorhandensein von FSTEC-Lizenzen
  • Physische Platzierung der Server (FZ-152)
  • Grundlegende Geschwindigkeit des Internetkanals
  • Geschwindigkeit des Festplattensystems
  • Tarifierung und Zahlungen
  • Was ist der virtuelle Kern

Kapitel 9 behandelt die Arbeit mit FTP. Vor der Installation eines FTP-Servers muss die passende Option gewählt werden. Der Autor schlägt vor: wu-ftpd (altbewährt), vsftpd (leichtgewichtig), pure-ftpd (kompakt), proftpd (flexibel und vielseitig). Danach folgt die Installation von proftpd und die Analyse seiner Einstellungen. Am Ende – ein paar Worte zur Optimierung und Beschleunigung des FTP-Servers.

Kapitel 10 erklärt, wie DNS funktioniert. Danach konfiguriert der Autor einen zwischenspeichernden DNS-Server am Beispiel von BIND9 und unbound. Die Konfigurationsdateien werden mit Kommentaren analysiert.

Kapitel 11 geht detaillierter auf den DHCP-Server, seine Funktionen und Anwendungsbereiche ein.

Kapitel 12 ist der Integration von Linux in Windows-Infrastrukturen gewidmet. Da ich damit nicht arbeite, habe ich kaum etwas in meine Notizen aufgenommen.

Kapitel 13 – Datensicherung. Interessante Punkte: Der Autor beschreibt genau, was wann gesichert werden muss. Er erwähnt automatisierte Systeme (Amanda, Bacula), schlägt aber ein Skript vor, das eine Sicherung erstellt und sie per SSH versendet.

Kapitel 14 behandelt die Serversicherheit. Hier werden behandelt: lokale Sicherheit (Siegel, BIOS-Schutz), Schutz vor Netzwerkangriffen, Schutz von Diensten (am Beispiel: fail2ban), Datenverschlüsselung (am Beispiel von eCryptfs). Es werden auch Arten von DDoS-Angriffen (Smurf, ICMP-Flood, UDP-Flood) mit einer kurzen Geschichte ihrer Entstehung aufgelistet.

Dedizierter Webserver auf Linux-Basis

Kapitel 15 ist der Konfiguration des Webservers gewidmet. Nginx wird hier nicht behandelt, aber Apache wird besprochen. Neben Apache wird auch die Konfiguration der MySQL-Datenbank, PHP (mit allen wichtigen Bibliotheken) sowie als Beispiel die Installation von CMS Magento behandelt. Danach beginnt der interessanteste Teil: Der Autor unterteilt die Apache-Direktiven in Gruppen (insgesamt 11 Gruppen) und beschreibt kurz deren Zweck. Ich werde nur einige Gruppen als Beispiel auflisten:

  • Protokollierungs-Direktiven: ErrorLog, TransferLog, HostnameLookups.
  • Zugriffssteuerungs-Direktiven: AllowOverride, Options, Limit.
  • Leistungssteuerungs-Direktiven: StartServers, MaxSpareServers, MinSpareServers sowie die Direktive CacheNegotiatedDocs.
  • Direktiven zur Aufrechterhaltung der ständigen Verbindung zum Client: Timeout, KeepAlive, KeepAliveTimeout.

Zum Schluss – ein kleiner Abschnitt zur Absicherung des Apache-Servers. Der Abschnitt ist kurz, und es wurden nur wenige Informationen in die Notizen aufgenommen.

Kapitel 16 befasst sich mit SSL-Zertifikaten. Interessant sind die verschiedenen Arten von SSL-Zertifikaten, über die ich vorher nicht viel nachgedacht habe: DV (Domain Validation), OV (Organization Validation), EV (Extended Validation). Danach wird erklärt, was diese Zertifikate darstellen und in welchen Formaten sie gespeichert werden (PEM, DER, PKCS #7 / P7B usw.), sowie wie man sie von einem Format in ein anderes konvertiert. In diesem Kapitel wird auch Let’s Encrypt als einfachste Methode zur Erstellung von Zertifikaten behandelt.

Kapitel 17 behandelt die Auswahl und Installation eines Server-Management-Panels. Sowohl kostenpflichtige und beliebte Panels (cPanel, DirectAdmin, ISPManager, Plesk) als auch kostenlose (Webmin, VestaCP, ISPConfig, Ajenti) werden betrachtet. Webmin wird detaillierter und umfassender behandelt.

Kapitel 18 ist der Leistungssteigerung des Servers gewidmet. Hier gibt es eine klare Checkliste, die folgende Punkte umfasst (auf was man bei Leistungsproblemen zuerst achten sollte):

  • Anzahl der Clients und Serverkonfiguration
  • Apache-Einstellungen
  • PHP-Version
  • Direktive memory_limit
  • Direktive max_execution_time
  • Komprimierungs- und Caching-Einstellungen
  • Aktivierung von Serverseitigem Caching (Verwendung von Memcached)
  • CMS-Konfiguration

Jeder Punkt wird natürlich detaillierter behandelt.

Kapitel 19 befasst sich mit der Einrichtung der E-Mail auf dem Webserver. Der Autor installiert das Paket ssmtp, registriert eine E-Mail bei Gmail und konfiguriert den SMTP-Server.

Kapitel 20 ist der Lösung typischer Probleme gewidmet. Erstens empfiehlt der Autor, Zabbix oder zumindest Yandex.Metrica zu installieren, um die Statistiken zu verfolgen. Zweitens werden die häufigsten Fehler behandelt, darunter:

  • Vollständiger Festplattenspeicher/freie Inodes.
  • Ressourcenmangel (Speicher, Prozessor usw.).
  • Falsche Serverkonfiguration.

In diesem Kapitel werden auch Logs erwähnt und eine Liste von Tools zur Überwachung verschiedener Serverkennzahlen gegeben – von htop und atop bis apachetop und jnettop.

In den letzten beiden Kapiteln, abgesehen von den finanziellen Berechnungen des Autors und philosophischen Überlegungen darüber, was vorteilhafter ist – ein virtueller oder ein physischer Server – kann man wohl die Erstellung eines eigenen Zooms hervorheben (die Installation und Konfiguration der BigBlueButton-Anwendung für Online-Konferenzen).

Fazit

Gesamtkommentar: Das Buch hat mir auf jeden Fall sehr gefallen, es ist gut strukturiert und lässt sich ziemlich leicht lesen. Es enthält viele Abbildungen, Kommentare und Erklärungen. Es eignet sich sowohl für Backend- als auch für Frontend-Entwickler, die sich intensiver mit Systemadministration anhand von Linux beschäftigen möchten und mit dem Autor gemeinsam den Weg von der Installation des Betriebssystems bis zur Konfiguration und anschließenden Einstellung des Webservers und der zugehörigen Software gehen möchten. Als Nachteil kann man nur die große Menge an Informationen anmerken, die leider ohne Praxis nicht sofort vollständig im Gedächtnis bleibt.

Вверх