Webmin (Kunstwort aus Web-Administration) ist ein freies Programmpaket zur Fernverwaltung eines Rechners mit einem Unix-artigen Betriebssystem. Es lauscht im Hintergrund auf Anfragen aus dem Internet oder dem lokalen Netz. Mit einem Webbrowser können die verschiedenen Server-Prozesse oder Daemonen administriert werden, die auf einem Unix-Rechner laufen.
Hierzu benötigt der administrierende Benutzer keinerlei Admin-Rechte, sondern lediglich Rechte für das Paket, das er administrieren soll. Diese Rechte werden vom Webmin-Administrator kontrolliert. So ist es beispielsweise möglich, einem Webmin-User nur die Administration von DNS zu erlauben, wofür er auf der Shell-Ebene Root-Rechte benötigen würde. (Hierfür gibt es allerdings auch ein spezielles Modul namens Usermin, das speziell auf die Bedürfnisse von Benutzern ausgerichtet ist, und eigenständig auf Port 20000 (Vorgabe) läuft – und systemkritische Komponenten schon von Haus aus außen vor lässt.)
Ein weiteres Modul namens Virtualmin erlaubt die einfache Konfiguration verschiedener Serverdienste wie beispielsweise Mailserver und MySQL. Mittlerweile ist Webmin nicht mehr Teil der Linux-Distribution Debian und somit auch nicht mehr Teil von dessen Abkömmlingen wie zum Beispiel Ubuntu. Pakete für den Debian Installer sind allerdings weiterhin auf der Webseite des Projekts erhältlich.
Webmin ist aus den offiziellen Paketquellen von Ubuntu komplett entfernt worden, da es das System beschädigen kann, im schlimmsten Fall bis zur Unbrauchbarkeit! Dies liegt u.a. daran, dass zentrale Konfigurationsdateien durch Webmin so verändert werden, dass diese nicht mehr Debian- bzw. Ubuntu-konform sind.
Programmierung und Serverumgebung
Webmin ist in Perl programmiert und stark modularisiert. Es kann somit leicht den jeweiligen Bedürfnissen angepasst werden, was auch zulässig ist, da es unter der BSD-Lizenz veröffentlicht ist. Im Gegensatz zu Verwaltungswerkzeugen, die für bestimmte Linux-Distributionen entwickelt wurden (z. B. YaST für Suse Linux), ist Webmin für alle Unix-artigen Systeme wie Linux, Solaris, FreeBSD, OpenBSD, NetBSD, AIX, HP-UX oder Mac OS X geeignet.
Arbeitsweise
Technisch gesehen bietet Webmin nur eine grafische Oberfläche für die Veränderung der unter Linux/Unix verwendeten Konfigurationsdateien der jeweiligen Dienste. Dieser native Ansatz ermöglicht, die Konfiguration weiterhin neben Webmin auch manuell vorzunehmen und auch entsprechend übersichtlich zu halten.
Als Web-Interface setzt Webmin auf einen kleinen Webserver (miniserv.pl), der von einem etwa vorhandenen Apache unabhängig arbeitet. Dadurch bleibt Webmin auch bei einer eventuellen Fehlkonfiguration des Apache zugänglich. Webmin ist modular aufgebaut und unterstützt fast jede wichtige Komponente auf Linux-Rechnern. Ob Apache-, Samba-, Datenbank-, Firewall-, Hardware-, Cronjobs- oder Backup-Konfiguration: Webmin stellt eine Konfigurationsschnittstelle bereit. Sogar der Zugriff auf die Konsole ist verschlüsselt über ein eingebautes Java-Applet möglich. Weil die Software fast komplett in Perl geschrieben ist, sollte sie auf jeder gängigen Linux-Distribution laufen.
Vorbereitung und Installation
Um Webmin auf Ihrem System laufen zu lassen, benötigen Sie einige Pakete, die eventuell in der Standardinstallation Ihrer Distribution nicht vorhanden sind. Mittels yum, apt und Konsorten ist es aber ein Leichtes, diese Packages nachzuziehen. Vor allen Dingen lösen yum und apt die Abhängigkeiten von selbst auf und installieren selbstständig alles Notwendige.
Es empfiehlt sich dringend, Webmin ausschließlich verschlüsselt über das https-Protokoll anzusprechen, da Sie sonst das Root-Passwort im Klartext über das Netzwerk schicken. Um dies zu realisieren, brauchen Sie einen Compiler, die OpenSSL-Sourcen und das OpenSSL-Perl-Paket. Für die Installation von Webmin sollten Sie als Superuser root eingeloggt sein. Der Kommandozeilenbefehl
yum install openssl-perl.i386 gcc.i386 gcc-c++.i386 openssl-devel.i386
erledigt dies zum Beispiel unter Fedora 7, das für diesen Test verwendet wurde. Fragt yum nach, ob es abhängige Pakete ebenfalls installieren soll, bejahen Sie dies bitte. Anschließend holen Sie sich das neueste Webmin-Paket. Mit
rpm -Uvh webmin-1.340-1.noarch.rpm
richten Sie Webmin auf dem System ein. Bei einigen Distributionen befindet sich das Webmin-Paket in den Repositories. Eventuell sparen Sie sich damit den zuletzt genannten Schritt. Danach sollte es Ihnen möglich sein, das Programm im Browser unter der URL http://127.0.0.1:10000 aufzurufen.
Installation von SSL
In der aktuellsten Webmin-Version ist die SSL-Verschlüsselung normalerweise bereits mit an Bord. Sollte dies nicht der Fall sein, fehlt vermutlich das Perl-Modul Net::SSLeay. Es gibt zwei Möglichkeiten, dieses nachzuinstallieren - zum einen mit dem Perl-Installer und der Kommandozeile:
perl -MCPAN -e ´install Net::SSLeay´
Die elegantere Methode ist es allerdings, das Perl-Modul von Webmin installieren zu lassen. Loggen Sie sich dazu als root in Webmin ein und klicken auf das Symbol "Webmin Configuration". Dort finden Sie den Button "SSL Encryption". Darin erklärt Ihnen die Software, dass sich Net::SSLeay nicht auf dem System befindet. Ein Klick auf "download and install" behebt diesen Missstand vollautomatisch. Nach nur einer weiteren Bestätigung erledigt Webmin für Sie das Herunterladen, Konfigurieren und Kompilieren des benötigten Perl-Moduls.
Ihr Server befindet sich hinter einer Firewall und die Verbindung ins Internet klappt nicht, so dass der Download fehlschlägt? Lesen Sie bitte im Abschnitt „Webmin Konfiguration“ die Modulbeschreibung zu "Proxy Servers" nach. Dort finden Sie die notwendigen Einstellungen beschrieben.
Jetzt fehlt nur noch ein Neustart von Webmin, und der verschlüsselte Zugriff stellt kein Problem mehr dar. Dies geschieht entweder über den Schalter "Webmin Restart" unter der "Webmin Configuration" oder durch den Kommandozeilenbefehl
/etc/init.d/webmin restart
Ab diesem Zeitpunkt können Sie das Systemkonfigurations-Tool über eine sichere Verbindung aufrufen.
Firewall anpassen
Beachten Sie bitte, dass möglicherweise eine Firewall den Zugriff von außen auf Port 10000 unterbindet. Die Firewall können Sie entweder über das jeweils vom System mitgelieferte Tool freischalten oder gleich über Webmin selbst. Eine Beschreibung dazu, wie Sie die Firewall über den Browser konfigurieren, finden Sie im dritten Teil des Workshops über die Networking-Module.
Überblick über die wichtigsten Webmin-Module
Befinden Sie sich in einem der Module und finden unterstrichene Wörter, handelt es sich dabei häufig um Links zu Hilfe-Dateien. Diese werden in einem neuen Fenster geöffnet und geben Ihnen eine kurze Erklärung, was dieser Parameter eigentlich genau verändert.
Bei Zweifeln ist ein Blick auf die schnell zu erreichende Hilfe durchaus empfehlenswert. Webmin ist sehr umfangreich und enthält dementsprechend viele Module. Unser Artikel beschäftigt sich daher nur mit denjenigen, die Sie wahrscheinlich am häufigsten benutzen. Die Module der Gruppe Hardware haben wir bewusst nicht behandelt, da sie komplett selbsterklärend sind.
Webmin Users
Unter der Kategorie „Webmin“ der Software finden Sie einen Schalter "Webmin Users". Hier legen Sie fest, wer überhaupt Zugriff auf Webmin haben soll und welche Module dem Benutzer zur Verfügung stehen. In der Default-Konfiguration ist root der einzige User, der Zugriff auf alle Module hat. Mit einem Klick auf "Create a new Webmin User" haben Sie die Möglichkeit, weitere Benutzer mit bestimmten Zugriffsrechten anzulegen. Wie bei allen User- und Rechtevergaben sollte dies gut überlegt geschehen. Für Webmin-Gruppen geschieht dies äquivalent im selben Modul.
Webmin Servers Index
Vielleicht haben Sie mehrere Rechner im Einsatz, die mit Webmin verwaltet werden. Dann wird Sie das Modul "Webmin Servers" interessieren. In diesem Bereich können Sie nach weiteren Webmin-Instanzen suchen lassen oder diese manuell hinzufügen. Des Weiteren ist es möglich, nur in bestimmten Adressbereichen des Netzwerks zu scannen. Diese Server hinterlegt das System als Link. Klicken Sie nun auf einen dieser Links, gelangen Sie auf dessen Login-Seite. Webmin bietet die Möglichkeit, Login und Passwort gleich mitzusenden. Nach einem Klick auf "edit" können Sie dies unter der Rubrik "Link type" einstellen.
Webmin Configuration
Das Menü "Webmin Configuration" kennen Sie bereits von der Installation des fehlenden Perl-Moduls. Es gibt in diesem Ordner aber noch andere interessante Konfigurationsmöglichkeiten. Hier lassen sich zum Beispiel Zugriffskontrollen, Sprache, Themes, Zertifikate, Logfiles und die zu benutzenden Module einstellen.
IP Access Control
Dieses Modul ist eigentlich selbsterklärend. Sie legen hier fest, von welchen IP-Adressen ein Zugriff auf Webmin überhaupt möglich ist. Dabei haben Sie drei Möglichkeiten. Sie erlauben grundsätzlich allen Rechnern den Zugriff, führen eine so genannte Whitelist oder regeln die Zugriffe über eine Blacklist. Eine Kombination der drei Möglichkeiten ist denkbar. Zum Beispiel: Erlaube Zugriff von allen Rechnern, außer jenen mit den konfigurierten IP-Adressen.
Authentication
In diesem Modul konfigurieren Sie die Authentisierungsmethode und Optionen für jede gestartete Session. Eine Default-Einstellung ist zum Beispiel: Blocke jeden Rechner für 60 Sekunden, der mehr als fünf falsche Anmeldungsversuche hat. Dies macht einen Brute-Force-Angriff auf das System so gut wie unmöglich. Die Werte lassen sich natürlich individuell anpassen.
Das Angebot, ein Login permanent zu speichern, ist eine weitere Einstellmöglichkeit, die Sie aber mit Bedacht wählen sollten. Hier können Sie weiterhin bestimmen, was mit Benutzern passieren soll, deren Passwort auf dem System abgelaufen ist: trotzdem ein Login erlauben, blocken oder anbieten, das abgelaufene Passwort zu ändern.
Proxy Servers and Downloads
Befindet sich Ihr Server hinter einer Firewall? Vielleicht sogar hinter einer, an der man sich mit Name und Passwort authentisieren muss, um ins Internet zu gelangen? Dann sind Sie in diesem Modul richtig. Solange dies nicht korrekt konfiguriert ist, wird Webmin keine Pakete aus dem Internet beziehen können. Dies betrifft unter anderem die automatische Installation von Usermin oder Net::SSLeay. Unter Download-Sites können Sie festlegen, welchen OSDN-Spiegel-Server die Software bevorzugt verwenden soll.
Fazit
Die Installation von Webmin samt Konfiguration ist mittlweile wirklich kein Hexenwerk mehr. Dafür erhält der User ein ebenso vielseitiges wie mächtiges Tool, mit dem man Linux-Systeme bequem per Webinterface steuern kann.
Beeindruckend ist vor allem, wie Webmin auch unbedarften Anwendern die Scheu vor Linux nehmen kann. Beinahe alle Optionen lassen sich in gut gestalteten Menüs regeln, notwendige Pakete werden bei Bedarf einfach und schnell nachinstalliert. Aber auch Profis können von der Oberfläche profitieren. Da in den meisten Modulen Hilfe-Pop-ups existieren, ersparen Sie sich eine Menge Suchanfragen in Google oder das Wälzen von man-pages. Sie können damit sogar Ressourcen auf den Servern einsparen, indem Sie auf die Installation von X und Desktopmanagern verzichten. Das wiederum belastet den Rechner hinsichtlich der Prozessorauslastung und des Speicherbedarfs weniger. Webmin ist mittlerweile beinahe komplett auf Deutsch verfügbar, allerdings hakt die Übersetzung an der einen oder anderen Stelle.
Video Tutorial: