Debian 9 mit Cockpit Webinterface verwalten

Ein Linux Betriebssystem kann sehr vielfältig verwaltet werden. Wir haben in der Vergangenheit z.B. das Verwaltungstool Webmin vorgestellt, welches einen sehr großen Funktionsumfang bietet. Als Alternative bietet sich aber auch das recht schlanke Tool Cockpit an, welches sich hervorragend auch auf mehrere Server skalieren lässt.

Dabei installiert sich Cockpit als Systemd-Dienst, der einen eigenen Webserver startet und so die Webbedienung des Servers via HTTPS ermöglicht. Mit fremden Servern verbindet sich Cockpit über SSH, benötigt allerdings auf jedem verwalteten Server die Cockpit-Installation. Cockpit selbst lässt sich bequem über die Backport-Repos von Debian installieren.

Debian 9 als Betriebssystem (Schritt-für-Schritt)


Für unseren Test nutzen wir die aktuelle Debian 9.3, die wir hier als 64Bit Netinst-ISO heruntergeladen haben.

Die Installation von Debian ist denkbar einfach: die ISO-Datei wird entweder mit einem Tool wie dem Win32DiskImager auf einen USB-Stick kopiert oder kann in einer VM als Bootmedium genutzt werden.

Der grafisch einfach gehaltene Installationsassistent hilft beim Konfigurieren der folgenden Punkte:


  • Spracheinstellungen

  • Netzwerkeinstellungen

  • Anlegen des root-Benutzers (Administrator)

  • Anlegen des normalen Benutzers (Standardbenutzer)

  • Paritionieren der Festplatte(n)

  • Updates und Module und Proxy-Einstellung

  • Installation SSH-Server für späteren Fernzugriff

Bilder werden geladen ...

Neben dem Root-Benutzer erstellt der Debian-Installationsassistent einen zusätzlichen Benutzer mit Standard-Benutzerrechten. Über diesen Benutzer sollte dann gearbeitet werden. Der Root-Benutzer bzw. das Root-Passwort werden nur benötigt um den Server später zu konfigurieren oder um Software nachträglich zu installieren.

Bilder werden geladen ...

Nach der Partitionierung der Festplatte kann dann zusätzliche Software installiert werden. Spätestens ab hier benötigt die NetInst-ISO eine Internetverbindung. Debian 9 lässt sich natürlich auch ohne Internetverbindung installieren, hier muss dann aber ein deutlich größeres Installationsimage heruntergeladen werden. Wir interessieren uns vor allem für den SSH-Server, den man hier direkt mit installieren sollte.

Anschließend wird noch der Bootloader installiert, dann ist Debian auch schon einsatzbereit. Wer hier keine Desktopumgebung benötigt, sollte unbedingt den Punkt Debian Desktop Environment abwählen, der das System ansonsten unnötig aufbläht.

Bilder werden geladen ...

Cockpit bequem über das Backports-Repository installieren


Nach der Installation kann z.B. über eine SSH-Session (ich verwende den Bitvise SSH Client) Cockpit installiert werden. Dafür füge ich zuerst das jeweilige Backports-Repo zur Liste des Paketmanagers hinzu.

Über SSH authentifiziert man sich zunächst über den Standardbenutzer (in meinem Fall stefan). Anschließend verschafft man sich mittels su die Benötigten Rootrechte.

Debian 9 (Stretch)
su Um Rootrechte zu erlangen (Root-Passwort eingeben)

echo "deb http://deb.debian.org/debian stretch-backports main" >
/etc/apt/sources.list.d/backports.list
apt-get update apt-get install cockpit

Debian 8 (Jessie)
su Um Rootrechte zu erlangen (Root-Passwort eingeben)

echo "deb http://deb.debian.org/debian jessie-backports-sloppy main" > \
/etc/apt/sources.list.d/backports.list
apt-get update apt-get install cockpit

Cockpit über einen beliebigen Browser benutzen


Über den Browser (Rechnername / IP-Adresse mit dem Port 9090) lässt sich Cockpit über HTTPS (SSL-Verschlüsselt) aufrufen. Wer sich daran stört, dass der Browser eine Zertifikatswarnung ausgibt (die man einfach ignorieren kann), der kann ein selbstsigniertes Zertifikat erstellen.

Cockpit besitzt neben verschiedenen Überwachungsfunktionen auch eine Benutzerverwaltung. Netzwerkkarten des Servers lassen sich direkt über Cockpit zu Gruppen bündeln, die dann als Failover oder Load-Balancing genutzt werden können.

Über die Weboberfläche lässt sich zudem ein RAID-Verbund erstellen und konfigurieren. Es können Partitionen erstellt und eingehängt werden. Zudem ist es möglich Cronjobs, also zeit- oder eventgesteuerte Aktionen (Systemstart oder Herunterfahren) zu verwalten.

Bilder werden geladen ...

Die RAID-Verwaltung unterstützt die RAID-Modi (0, 1, 4, 5, 6 sowie 10). Dafür muss zwingend das mdadm Paket installiert sein. Dieses lässt sich über SSH oder das in Cockpit enthaltene Terminal installiert werden.

apt-get install mdadm

Installiert man dieses Paket nicht, zeigt Cockpit eine nicht ganz einfach zu interpretierende Meldung (Bild 2) an.

Bilder werden geladen ...

Das Terminal eignet sich auch perfekt, wenn der SSH-Dienst einmal nicht erreichbar sein sollte oder man diesen aus Sicherheitsgründen nicht nach außen hin öffnen möchte.

RAID-Erstellung


Die Erstellung eines RAID-Verbundes ist einfach und sollte auch Anfänger nicht vor große Probleme stellen. Nach der Auswahl des RAID-Modis und der Datenfestplatten kann der RAID-Verbund partitioniert werden. Ich habe mich hier für eine GPT-Partition entschieden.

Formatiert wird diese Partition dann mit dem ext4 Dateisystem, es gibt hier aber eine große Auswahl, die bis zu mit LUKS verschlüsselten ext-Volumes reicht. Nachdem die Partition formatiert wurde, kann diese über die Weboberfläche eingehängt werden.

Bilder werden geladen ...

Über SSH bzw. das Terminal lässt sich die Struktur aller Festplatten und RAIDs anzeigen:

lsblk
df -h

Zukunftsmusik: Virtualisierung mit oVirt-Plugin und VDSM


VDSM ist aktuell nur in Fedora, RHEL und CentOS verfügbar, an einer Umsetzung für Debian wird aktuell gearbeitet. Da das oVirt-Plugin für Cockpit VDSM zwingend benötigt, lässt sich dieses Plugin aktuell unter Debian nicht nutzen. Über das oVirt-Plugin lassen sich virtuelle Maschinen direkt über die Weboberfläche erstellen und verwalten.

Fazit


Eine wirkliche Alternative zu Webmin ist Cockpit aktuell nur, wenn der Systemverwalter nur einen Basis-Linux Server (oder mehrere) verwalten muss. Webmin bietet u.a. die Möglichkeit Nachrichten bei einer Fehlfunktion des RAIDs an den Administrator zu versenden. Diese Funktionalität fehlt aktuell in Cockpit noch.

Auch die Anzahl der unterstützen Software ist unter Webmin deutlich größer, so unterstützt Cockpit z.B. nicht die Konfiguration des Apache 2 Webservers. Doch auch hier gilt: weniger ist manchmal mehr - zumindest dann wenn man die von Webmin zusätzlich vorhandenen Funktionen gar nicht nutzen möchte.

Die Weboberfläche von Cockpit ist schnell und einfach aufgebaut, teilweise ist der volle Funktionsumfang eines Moduls aber nicht auf den ersten Blick ersichtlich, z.B. dann wenn eine zusätzliche Funktion nicht über einen Button sondern über einen simplen Hyperlink realisiert ist. Auch sind manche Buttons erst dann sichtbar, wenn die Voraussetzungen seitens der Hardware dafür stimmen.

Geniale Funktionen wie die VM-Verwaltung sind aufgrund der VSDM-Abhängigkeit aktuell nur unter Fedora, RHEL sowie CentOS nutzbar. Dies ist natürlich nicht die Schuld der Cockpit-Entwickler, vermindert aber den Funktionsumfang unter Debian und Ubuntu erheblich.