Webmin
Web-based control panel for Unix-like systems

Webmin is a web-based server management control panel for Unix-like systems. Webmin allows the user to configure operating system internals, such as users, disk quotas, services and configuration files, as well as modify and control open-source apps, such as BIND, Apache HTTP Server, PHP, and MySQL.
01History
Webmin, developed by Jamie Cameron, was first released as version 0.1 in October 1997. It was initially created while Cameron was administering a DNS server and needed a user-friendly interface that would allow users to modify DNS records without granting them root access to the server. Over time, various themes, a dashboard that displays CPU, RAM, and disk space usage with visual gauges, and a sidebar with a search function were also added.
Financial support for the Webmin project came from the Linux distribution companies Caldera and MSC Linux, as well as many user contributions of code patches, hundreds of modules, language translations, and user suggestions.
In 2019, a backdoor was discovered (CVE-2019-15231) which would allow a remote attacker to execute malicious commands with root privileges on the machine running Webmin. This backdoor exploit was present on versions 1.882-1.921, when a network admin would enable the password expiration policy. the problem was rectified in August 2019.
Since its release, the Webmin user interface, its appearance, and its many features have changed dramatically using code that has been completely rewritten over the subsequent versions. This includes the overhaul brought by Webmin 2.0, which enforced strict HTTP Strict Transport Security policy for SSL, and gave options to users upgrading from older versions.

02General description
Webmin is largely based on Perl, running as its own process and web server. It defaults to TCP port 10000 for communicating, and can be configured to use SSL if OpenSSL is installed with additional required Perl modules. Webmin is built around over 110 standard modules, which have an interface to the configuration files and the Webmin server, which makes it simple to add new functionality. Due to Webmin's modular design, it is possible for anyone who is interested to write plugins for desktop configuration. Webmin allows for controlling many machines through a single interface, or seamless login on other Webmin hosts on the same subnet or LAN.
Webmin is released under the BSD license.
If a plugin for certain tasks is not available, it is possible to open a terminal and perform various tasks through a command line interface (CLI). This is especially useful if using SSH (or similar) is not an option.

03Inclusion in distributions
While Webmin was included in the official repositories of some Linux distributions (Debian and Ubuntu), it was removed from those because Webmin was not compatible with the way that the distributions' packages handled configuration files and caused unexpected issues with systems. Instead webmin run its own repository.

Sources and credits
This article is adapted from the Wikipedia article “Webmin”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- Webmin Logo.svg by Iliajie, CC BY-SA 4.0
- Webmin 2.010 - Dashboard.png by Iliajie, CC BY-SA 4.0
- Webmin 2.010 - Terminal.png by Iliajie, CC BY-SA 4.0
- Webmin 2.010 - File Manager.png by Iliajie, CC BY-SA 4.0
- Webmin 2.010 - BIND Config Editor.png by Iliajie, CC BY-SA 4.0
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.
