Webmin: A web-based Linux management tool
[NOTE: There is a security vulnerability that you should patch as soon as possible or upgrade to the latest version of Webmin. Details.]
You're probably thinking, "Oh great, another tool to learn," but Webmin is different. It's a web-based Linux management tool that streamlines your Linux management tasks to a few clicks, dropdowns, and prompted fill-in-the-blank fields, which untangles the web of complexity associated with common applications such as Apache, Perl, and Sendmail. Webmin enables you to manage your Linux system's hardware and software, native and third-party applications, Webmin itself, and even log in with a web-based text terminal for those command-line purists.
My favorite thing about Webmin is that I don't have to learn every minute detail of an application to be able to administer it. And setting up and configuring databases, such as MySQL, is a snap.
It's easy to love Webmin because of its ease of installation, its well-organized layout, its extensive list of supported applications, and its support for more than 80 Linux distributions. I install it on every Linux system I manage and have for more than 20 years. My favorite thing about Webmin is that I don't have to learn every minute detail of an application to be able to administer it. And setting up and configuring databases, such as MySQL, is a snap. In fact, it's my favorite method of working with MySQL. And that's a testament to Webmin's beauty and power because I'm somewhat of a command-line bigot.
If you're a purist, you can download the tarball from webmin.com, but doing so doesn't give you that much extra control over options. You can choose where to place a few files, but save yourself the effort on RHEL, CentOS, and Fedora by installing the RPM:
$ wget https://www.webmin.com/download/rpm/webmin-current.rpm
$ sudo rpm -Uvh webmin-1.XXX-x.noarch.rpm
If your system doesn't have Perl, then you'll have to satisfy that dependency before installing Webmin. You might also have to install the
Encode::Detect Perl module before installing Webmin:
$ sudo yum install perl-Encode-Detect
Once installed, the installation script directs you to your new Webmin instance at
http://<servername>:10000. Log in with your system's root password.
You can change the port, username, and password on the Webmin Configuration option (discussed later). Please do make these changes to the username and password.
Webmin, by default, starts you out with the so-called "Authentic" theme, with the navigation frame on the left side of the page:
I much prefer the "Old Webmin Theme," but switching to it breaks the current version, which is 1.920 as of this writing.
Webmin not only provides system administrators with an abundant list of management tools, but it also comes with its own internal configuration and management options:
Selecting one of these links opens a number of editable options. For example, below I selected the Webmin Configuration option. As you can see, there are several Webmin behavioral and configuration options available:
Rather than showing screenshots of every selection from Webmin, I'll let you discover them on your own, but there is one worth taking a closer look at for this overview: Others. Believe it or not, this group of applets is one that I spend a lot of time in. Below, I've selected File Manager from the list to illustrate the depth and richness of these utilities. The volunteer developers have done an excellent job in creating tools that are useful to busy system administrators:
Other notable applets on the Others page are Command Shell, Perl Modules, System and Server Status, Text Login, and Upload and Download. The Command Shell option appears as a root login prompt in the upper left of your screen when selected, containing an interactive shell and not a single command at a time service.
With Perl Modules, you can install Perl modules from CPAN from multiple sources: CPAN itself, local files, URLs, and uploaded files. You can also see a list of your currently installed modules, and optionally install a list of suggested modules with a single click.
The System and Server page provides you with a snapshot of the current status of installed services. There is a drop-down from which you can select a new service to monitor on this screen.
Text Login is a valuable option that provides you with an interactive console terminal login screen. You must have Python installed for this feature to function properly. Also, you might have to create a symbolic link from python to your python executable because the configuration looks for python rather than python2. This is what I did:
$ sudo ln -s /usr/bin/python2 /usr/bin/python
This command satisfies the dependency for the applet.
NOTE: If you use Webmin with a Linux server that can be accessed from the internet, please protect this powerful resource by enabling SSL on the Webmin Configuration page, and also enabling multi-factor authentication if possible.
Telling a twice-told tale of Webmin success
One of the best testaments to Webmin's power and capabilities is a true story from almost 20 years ago. I had a friend who needed to configure Sendmail on about two dozen Linux systems for a client. He had no clue about Sendmail, so he called me. Rather than trying to walk him through configuring Sendmail over the phone, I walked him through installing Webmin on his first server and directed him to the Sendmail applet. There was a long pause on the phone when he looked at the configuration options and how easy it was going to be. I thought I'd lost the connection when he finally spoke and said, "Oh man, this is a lifesaver. Thank you so much. I have to go." He bought me a very expensive dinner the next time he came to town.
I won't tell you that Webmin is the ultimate system administration application, or that it solves every problem, but I will tell you that having it is far better than not having it. Webmin has saved me countless hours over the past 20 or so years. As with any application that gives you this much power, you have to take the time to secure it. Use multi-factor authentication, SSL, SELinux, a VPN, and caution, because Webmin gives you root-level access to everything. Remember that with great power comes great ability.
[Want to try out Red Hat Enterprise Linux? Download it now for free.]