Open Source-Software findet in immer mehr Unternehmen und Behörden ihren Einsatz. Im Juli widmet IT-Administrator daher seinen Heftschwerpunkt der quelloffenen ... (mehr)

GNU komplettiert Linux

Ein Kernel macht aber noch kein Betriebssystem und so gibt es sogenannte Distributoren, die den Betriebssystemkern mit einem Boot-System und einer Vielzahl von Programmen (nicht zuletzt aus dem GNU-Projekt) bündeln, damit erst einmal ein brauchbares System entsteht. Zu den Pionieren gehören hier Red Hat und Suse, die sowohl Community-Versionen wie auch Enterprise-Distributionen anbieten. Selbst Red Hat Enterprise Linux steht komplett im Quellcode unter einer freien Lizenz zur Verfügung, aber Updates für das System bleiben zahlenden Kunden vorbehalten. Zudem unterbindet Red Hat mit seiner Handelsmarke die Verbreitung eines gleichnamigen Systems. Was aber Community-Projekte wie CentOS und sogar Mitbewerber wie Oracle nicht daran hindert, die Quellcode-Pakete von Red Hat zu nehmen, alle Erwähnungen des Firmennamens zu entfernen und als eigene Distribution zu vertreiben.

Der Lizenz folgend ist auch das Oracle Linux Freie Software, aber die Firma betreibt für Kunden ein Update-Netzwerk, das zusätzlich zu Aktualisierungen auch einige "Enterprise"-Pakete anbietet, wie etwa das Tracing-Framework DTrace, das Live-Patching-Modul KSplice und einen optimierten Kernel namens "Unbreakable Linux". Gemäß der GPL-Lizenz, die dem Linux-Kernel zugrunde liegt, müssen Oracles Änderungen wieder offengelegt werden, aber je nach Bereitschaft einer Firma, sich an die Spielregeln zu halten, gibt es hier mehr oder weniger brauchbare Optionen, den eigenen Code für andere verdaulich zu machen.

Auch Red Hat, das alle Software als Open Source verfügbar macht, bietet Kunden natürlich Programme etwas komfortabler paketiert an. So gibt es das Management-Tool Satellite als ein Sammlung von Paketen in Red Hat Enterprise Linux. Die gleiche Funktion kann auch realisieren, wer die entsprechenden Open Source-Pakete installiert, allerdings sind diese oft auf mehreren Websites verteilt und die Installation erfordert ungleich mehr Handarbeit.

Als die Ubuntu-Distribution vor knapp zehn Jahren von der Firma Canonical vorgestellt wurde, gab es erst mal einen Aufschrei in der Community, weil Ubuntu sich von dem Urgestein der Freien Linux-Distributionen namens Debian mit einer riesigen Sammlung von Paketen versorgte. Mittlerweile hat sich die Aufregung größtenteils gelegt, auch wenn Ubuntu respektive Canonical noch gelegentlich der Vorwurf trifft, zu wenig zur Entwicklung des Linux-Kernels beizutragen. Und Debian geht weiterhin unbeirrbar seinen Weg als eine der letzten Distributionen, die noch die reine Lehre der Freien Software pflegen. Das geht soweit, dass manche Pakete aus Debian ausgeschlossen werden, weil sie etwa Firmware enthalten, die nur binär, also nicht im Quellcode verfügbar sind. Dennoch gibt es auch einige kommerzielle Projekte und Systemintegratoren, die auf Debian als stabile Basis setzen, etwa die Virtualisierungslösung Proxmox VE oder der Univention Corporate Server.

Möglichkeiten, mit Linux loszulegen, gibt es also viele. Wer ein Red-Hat-artiges System probieren möchte, sollte einen Blick auf CentOS werfen, das technisch dem Red Hat Enterprise Linux entspricht und in einer bewährten stabilen Version 6.x sowie dem aktuellen Release 7 verfügbar ist. Für eine Debian-artige Distribution bietet sich eben Debian selbst an, das aber selbst mit dem eben veröffentlichten Release 8 "Jessie" nicht immmer die neuesten Pakete bietet, oder eine Ubuntu-Distribution, vorzugsweise mit Long Term Support, also derzeit die Version 14.04.

Die Installation ist bei allen modernen Linux-Distributionen einfach und mit einem grafischen Installer möglich, der durch alle Schritte führt, von der Partitionierung der Festplatten bis hin zur Auswahl der Software-Pakete (Bild 1). Selbstverständlich ist auch die Installation in einer virtuellen Maschine möglich, die keine eigene Hardware erfordert. Für VirtualBox und Hyper-V beispielsweise gibt es paravirtualisierte Treiber, die das virtualisierte Linux in einer VM beschleunigen. Schließlich bieten auch Internet-Provider ihre Root- oder virtualisierten Server mit Linux-Betriebssystemen an. Diese Option ist vor allem dann interessant, wenn der Linux-Rechner sowieso einen Internet-Dienst anbieten soll und deshalb übers Internet erreichbar sein muss.

Weniger für den Einsteiger als für denjenigen gedacht, der ein Linux-System im Detail verstehen möchte, ist eine Distribution wie Arch Linux, die auf einen komfortablen Installer verzichtet und dem Anwender die Möglichkeit gibt, alle wichtigen Handgriffe manuell zu absolvieren. Noch einen Schritt weiter geht Linux From Scratch, das den Benutzer herausfordert, sich das komplette System selbst aufzubauen. Eine Alternative zu Linux sind übrigens diverse Varianten der BSD-basierten Unix-Systeme, die teilweise eine längere Geschichte als Linux vorweisen können und durch hohe Stabilität beeindrucken, die sie als Basis für kommerzielle Projekte wie Firewalls, NAS-Systeme und Router tauglich machen. Das populärste System ist FreeBSD, ein auf Sicherheit optimiertes BSD-Unix ist OpenBSD.

Linux im Internet

Das Internet und das Unix-Betriebssystem waren schon immer aufs Engste miteinander verbunden, und so ist es auch kein Wunder, dass Linux schon seit seinen Anfangszeiten als Internet-Server verwendet wurde. Der Kernel stellt die Infrastruktur mit einem getunten TCP/IP-Stack bereit, der sowohl IPv4 wie auch IPv6 beherrscht. Darauf basierend gibt es Server-Software für jedes erdenkliche Protokoll. Bei den Mailservern hat Postfix mittlerweile den Sendmail-Server aus Urzeiten abgelöst, der sehr schwierig zu konfigurieren ist. Als Alternative, vor allem für kleinere Websites (wobei das immer noch einige Tausend Benutzer sein können), bietet sich auch Exim an.

Ähnlich sieht es beim Abruf von E-Mail durch die Anwender aus. Hier gilt heute das IMAP-Protokoll als Standard, das beispielsweise von den Programmen Courier und Cyrus implementiert wird. Besonders populär, insbesondere im Gespann mit Postfix, ist aber heute der Dovecot-Server, der neben IMAP auch POP3 beherrscht und mit besonderem Augenmerk auf Sicherheit entwickelt wurde. Hier zeigt sich wieder ein typisches Merkmal der Open Source-Welt, nämlich dass es viele einzelne Systeme gibt, die der Administrator zu einem sinnvollen Ganzen kombinieren kann beziehungsweise muss. Gleichzeitig birgt diese Flexibilität aber auch die Komplexität, die dazu führt, dass es für jede Kombination eine Vielzahl von Möglichkeiten gibt, die die Konfiguration erschweren. Zum Beispiel gibt es für einen Postfix/Dovecot-Server mehrere Wege, Benutzer-Authentifizierung und Verschlüsselung zu implementieren, die sich je nach Linux-Distribution und Version noch einmal unterscheiden.

Neben Programmen wie Thunderbird gibt es zahlreiche webbasierte Frontends, um E-Mails zu lesen. Die Bandbreite reicht von kleinen Webmailern wie Squirrelmail über komfortablere Frontends wie Roundcube (Bild 2) bis zur ausgewachsenen Webgroupware wie Horde, Open-Xchange, SOGo, Zarafa, Zimbra, Kolab (vom Münchner Linux-Projekt favorisiert), GroupE oder Tine. Auch hier gilt allerdings oft die erwähnte Trennung in Open Source- versus Enterprise-Version, die mehr Features mitbringt. Wer in traditioneller Unix-Manier seine Mails auf der Kommandozeile lesen möchte, kann beispielsweise zu Mutt greifen, das in puncto Geschwindigkeit wohl alle GUI-Programme übertrifft.

Bild 2: Der Roundcube-Webmailer wird beispielsweise auch in der Kolab-Groupware verwendet.

Auch für den Webserver-Dienst stehen mehrere Wege offen. Noch dominiert der gute alte Apache-Webserver, aber immer mehr Anwender setzen auf Nginx, der weniger Ballast mitbringt und hohe Performance bietet. Jenseits des Mainstreams gibt es noch ein halbes Dutzend weiterer Server wie etwa Monkey und Hiawatha, die durchaus brauchbar sind, aber nur wenig verwendet werden, und schließlich ist nicht zuletzt auch die Größe der Benutzer-Community ein wichtiges Argument bei der Auswahl einer Software. Ein weiterer bedeutender Faktor für die Auswahl der Serversoftware ist, wie gut sich Webanwendungen in diversen Skriptsprachen einbinden lassen. Beispielsweise bietet der Apache-Webserver für PHP-Anwendungen ein eigenes Modul, während Nginx dafür die FCGI-Schnittstelle vorsieht, die von vielen Anwendern aus Sicherheitsgründen ohnehin bevorzugt wird. Um Webanwendungen von mehreren Backends zu konsolidieren oder für Loadbalancing bieten Apache wie auch Nginx eigene Proxy-Module an, die sogar den HTML-Text von Webseiten umschreiben können, wenn dies nötig ist.

Wer für Loadbalancing und High Availability mehr Komfort oder mehr Performance haben möchte, sollte sich eines der dafür spezialisierten Open Source-Projekte ansehen, etwa Varnish (siehe Artikel auf Seite 52), Pound und HA-Proxy. Varnish ist in erster Linie dafür gedacht, Webanwendungen zu beschleunigen, indem er als Proxy zwischen Client und Server geschaltet statische Dateien im RAM speichert und somit künftige Anfragen schneller bedienen kann. Gleichzeitig kann Varnish aber auch mit mehreren Backends als Loadbalancer betrieben werden. Wer auch SSL/TLS-Verbindungen bedienen muss, sollte einen Blick auf Pound werfen, der als Proxy und Loadbalancer auch HTTPS beherrscht. Er lässt sich auch mit Varnish kombinieren. Eine weit verbreitete Alternative ist HAProxy (Bild 3), der in neueren Versionen ebenfalls SSL/TLS unterstützt und sich nicht nur als HTTP-, sondern auch als TCP-Loadbalancer betreiben lässt.

An der Textkonsole führt bei der Administration von Linux-Systemen kein Weg vorbei. Zwar bieten die Linux-Distributionen oft auch einige GUI-Programme zur Konfiguration einzelner Subsysteme wie Drucker oder Netzwerk an, aber oft fehlen Funktionen oder die Tools sind generell unausgegoren und stecken voller Fehler. Ein Vorteil dabei: Die Remote-Administration gestaltet sich per SSH (Secure Shell) einfach. Ein Terminalfenster verhält sich auf einem entfernten Rechner genauso wie lokal und Kommandos lassen sich einfach per Copy-and-Paste einfügen. Wer dennoch lieber einen Remotedesktop verwenden möchte, kann das am einfachsten über das VNC-Protokoll tun und beispielsweise den Tightvncserver verwenden.

Bild 3: Der Loadbalancer HAProxy zeigt die Verbindungsstatistiken im Browser.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023