"Webmin is a web-based interface for system administration for Unix."
Webmin provides a web-based interface with modules that communicate directley with standard programs and services on your Linux machine. Essentially, Webmin allows you to manage your network and machine services remotely or locally from a browser.
Webmin is a large collection of CGI scripts. It runs its own web server on a port that you specify (default 10000) during installation. The full list of supported distros is on their website, but just to name a few: Red Hat, Solaris, Debian, *BSD, HP-UX, IRIX, AIX, DEC, SCO and Mac OS X.
Every service or program is connected through a set of modules. If the app you want to control from Webmin is not supported you can build a new mod. Webmin is distributed under the BSD license but if you build mods for it then the modules can be distributed under any license you choose. This keeps the tool open to the Open Source community while allowing it to maintain its commercial viability.
Installation is straigt forward; go to http://www.webmin.com/webmin and download either the RPM or the tar. If you use the tarball be sure to unpack the files want them to reside. After you install Webmin do not remove the Webmin directory or it wont work. An uninstall script is to remove the initial directory as well as Webmin.
After you have Webmin installed, open a web browser and go to the IP address and port that you configured . The default is 10000. After login, you will notice several tabs that house the Webmin modules. The 'System' tab manages tasks within the computer or server environment; including disk quota, NIS, PAM, syslog, adding users, managing cron, managing NFS and changing boot services, processes and rebooting the machine.
The Servers group allows you to manage Apache, BIND, DHCP, sendmail, Squid and many other services. The Networking group allows quick, painless environment for setting ipchains, and managing permissions of other network utilities including ping, traceroute, whois and dig. The Hardware group, of course, handles things that are directly hardware-related. This is where you will find information about your disk partitions, system time, network interface configurations, LILO and even software RAID.
There are other groups and features that you should explore. My favorite is Custom Commands. The Custom Commands module allows you to build an interface to run any command you write. Useful for telling Webmin to do something specific not needing a full module.
Webmin offers some security features. First, there is ID/password authentication independent of /etc/passwd. You can give access to Webmin without allowing any other system privileges. Webmin supports SSL. If Perl SSL mod is installed, your Webmin sessions can be encrypted to reduce or eliminate the possibilty of sniffing sytem admin processes and settings. You can grant users control over the DNS server without giving access to Apache config, you can also limit users to the domains they or their group own in the DNS module. The ability to limit and distribute control is helful for delegating tasks to other administrators.Another feature I get use out of is the ability to log all changes made via the interface.
Webmin interfaces directly with system config files, as a result there is no database or that stores information that can be hacked. The httpd.conf file can be edited for Apache by hand without causing problems for Webmin. Also, Webmin can be installed on a server and then be inherited by someone else seemlessly. If there are problems the sytem can be troubleshooted remotely and there is no need to have to track down a database entry that correspondes to the ailing module -- that is cool because it reduces the slope of the learning curve. Everything you know about Linux can be used in Webmin -- there are no changes except to make life easier.
Newbie Linux administrators or users will love Webmin because it can control most features that are important on a Linux box from one location --you don't have to memorize or write down all those long file paths, one of the number one detractors for a newbie running linux. Webmin's standard modules cover all of the basic administartive duties and many more advanced operations. The beauty is that these modules interface with almost every feature and function of the service or program they support. This is a benefit for newbie and the old breed alike because you can add config options you may not know existed. Also, as mentioned above, new modules can be built. There is plenty of documentation and examples to get started if you are interested. That may be a future topic of a tutorial on hackerthreads.org.
We also have used Webmin as our interface for web based email. Since you can configure which modules users with Webmin priveleges see we have given our basic users only access to email modules. And since the program interfaces directly with their mail box there is no discontinuity when they access the box directly from a command line or other email client. Webmin thus provides an SSL secure, easy to administer, easy to access webmail solution for free! If you have questions about how to implement this first Read The Webmin Manual, then if you still get it email me and I will try to help. But please, only email direct questions....not where do I start.
A Final Note
Webmin may not be for absolute beginners. If you do not know basics like what a nameserver is, Webmin is not useful. Webmin only provides an interface for the underlying Linux config files, so you get flexibility and power, but it does not substitute the need for being knowledgable. Wbemin should be viewed as a useful tool not the total solution.