Webmin
# Webmin

Webmin (Kunstwort aus Web-Administration) ist ein freies Programmpaket zur Fernverwaltung eines Computers mit einem Unix-artigen Betriebssystem.

## Grundlegende Funktionsweise

Webmin 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.

## Implementierung in Distributionen

Webmin war ca. bis Mitte 2005 Bestandteil der GNU/Linux-Distribution Debian und somit auch Teil von dessen Abkömmlingen wie zum Beispiel Ubuntu, wurde dann jedoch aus den offiziellen Repositories entfernt, da die Art, wie Webmin die Konfigurationsdateien der Systeme veränderte, nicht mit diesen Systemen kompatibel war und es zu unerwarteten Komplikationen auf den Systemen kam. Unabhängig davon werden jedoch weiterhin auf der Webseite des Webmin-Projekts entsprechende Pakete für Debian zum Download für eine eigenständige, manuelle Installation angeboten.

## 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 macOS geeignet.

## Windows-Unterstützung

Mittlerweile wurde damit begonnen, Webmin-relevante Teile für die Administration der Windows-Versionen beispielsweise von Apache oder auch MySQL für Windows-Versionen ab Windows 2000 umzuschreiben. Die Unterstützung ist jedoch rudimentär, allerdings muss auf diese Weise vorab keine Cygwin-Installation mehr erfolgen. Es reicht die Installation einer Portierung von Perl auf Windows (ActivePerl).

## 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.