Webmin: Good for Guru and Newbie Alike
As you can probably tell, I am a big fan of Webmin. I like that the license lets me get the source code and do what I want. I love the fact that the module system lets me build new things or add modules others have built. I currently am testing the LTSP module for Webmin to help manage some unruly I-Openers. The ability to transfer tasks to less experienced administrators (roommates) and know that they cannot deviate from the area I have provisioned for them, lightens my workload.
If that were all Webmin had to offer, I would be quite impressed. There is one final benefit of the Webmin architecture, however. Webmin works directly with all the files on the system to affect its changes, meaning it does not use a database or other means of storing information that is in any way nonstandard. I can therefore edit the httpd.conf for Apache by hand without worrying that it will cause problems for Webmin. From a support standpoint, this means I can install Webmin on a server and turn it over to someone else. If that person problems I still can use all of my scripts and vi knowledge to troubleshoot the problem.
The command-line friendliness and absence of a master back-end database that pushes the config out to the flat files are things that control panel designers all too often forget. They end up building a system requiring that everything be done via the control panel or it will break. Webmin allows me to mix-and-match administration styles at my convenience. For example, I tend to make my Apache configuration changes directly. BIND, however, is a different story. BIND is notoriously picky, so I use Webmin as a convenient front end to BIND. It offers me all the esoteric options and greatly lowers the risk that a typo will cause a resolve error. To me, the amazing thing is how well Webmin fits into my administration toolbox. I do not have to use it, but it is always there.
New administrators will come to like Webmin because of its depth of features. The point-and-click interface means that you do not have to keep everything in your head, which can prove to be a daunting task for someone new to administering a Linux server. Webmin's core modules expose almost every feature and function of the services they support. This means you easily can add configuration options that you did not previously know existed.
My only caveat to this is that although Webmin is well organized and feature-complete, it is not for absolute beginners. If you do not know what an A record for DNS is, then Webmin will not help you. Webmin maps the underlying Linux to a web interface, so sometimes when you get this much flexibility and power, you have to sacrifice ease of use. Once you know the fundamentals of the services, Webmin can be a great tool—just don't expect it to summarize the O'Reilly book on BIND for you.
Dirk J. Elmendorf is one of the cofounders of Rackspace Managed Hosting and serves as chief technology evangelist. He also serves as a research and development leader, helping to develop and evaluate the new products and services he promotes in his evangelical role.