Wednesday, August 17, 2011

Webmin: The Unsung Hero

Webmin is probably one of the best kept secrets of sysadmins around. Everybody uses it but rarely talks about it. Less still admit using it. Why? Because it makes the difficult config jobs point-and-click easy. It makes what seems to take countless command line commands into a few clicks of the mouse. That is probably why it's an open secret. It does take away some of the mystique of being a sysadmin. Managers, if they knew, would demand faster turnarounds. But it still needs you to know what you are doing.
Basically webmin is a web-based config front-end for your system. I recommend it all around. Even if you run your own personal Linux desktop, I recommend you installing it. Even if you are Mr. Security Conscious, install it and configure it so that you can only access if from localhost. Because it provides something more valuable beyond that what it does superficially. I'll get to that in a minute.
Webmin is a collection of server-side scripts, separated into modules, to run local commands to configure your system. It throws up webpages that recasts the various command line options for commands that configure one component of your system. Each module corresponds to a particular component of service. Some offer interactive tools, like access to a java-based file manager. It covers everything from booting up, boot services to server services like Samba and DNS.
It hides the nitty gritty and allows you to focus on the decisions both technical and managerial. I have used webmin for a long time, I think over a decade. I've seen it' growing pains. It's epic battles of configuration controls with SuSe (one of the reasons I stopped using SuSe regularly) was an example of how much respect developers should place upon users. Suse, at boot time, kept over-writing standard configuration files (which webmin modifies) with values from it's own config file. It chose to favor it's own config files over that which the user has chosen. It was the first step towards a registry-like model and users voted otherwise.
Some things still don't work great, like Samba. But other than that, are rock solid. It hides the nitty gritty so well, that I used it briefly to manager a Sun Server. I was thrust the responsibility when someone foolishly bought a Sun server because "It was what the vendor uses". The big deal was that it was to run a database (for which there was a linux version available). To Linux users, Sun is different and the same. It has different device naming conventions, slightly different service startup mechanism, to name a few . But it is the same because it is Unix.. So, I installed webmin for Solaris and was able to manage it even though I almost never went to the command line. Manage users, assign resources. Webmin did all I needed.
But the truly valuable service Webmin gives sysadmins is the time to plan and think. When pressed for a deadline or users breathing down your neck to fix a service, webmin offers an overall view of the command options and simplifies it to clicks, freeing you to come out with solutions and make decisions. Rather than focus on and getting tripped by command line options, you can focus on what is possible and choose what is best, knowing that Webmin won't let you send the wrong command options because of typos. Less time to worry on that, results in more time to think. And contrary to what some people think, thinking is a good thing.

No comments:

Post a Comment

Recently Popular