Webmin: Good for Guru and Newbie Alike
To quote their web site, “Webmin is a web-based interface for system administration for Unix.” I found Webmin a few years ago when I was looking to register the domain webmin.com. I had an idea for a cool control panel to help administer my Linux server farm, and I was annoyed that someone had gotten to the domain first, until I started looking at the software they had for downloading. After that I was hooked.
Webmin's goal of providing a web-based interface is not unique. A number of tools are out there, both open source and commercial, with the same goal. What makes Webmin stand out from the crowd is that it can be useful to both experienced and inexperienced Linux administrators. Before I explain how it fulfills such a difficult task, let's look at how you install the software and what you can do with it.
Before we delve into the feature set of Webmin, I should explain a little about its design. Webmin is basically a large collection of CGIs written in Perl. It runs its own web server on a port that you specify when you install it, allowing you to manage the security of Webmin separately from your real web server. The full list of supported platforms is on the site, and it includes Red Hat, Solaris, Debian, *BSD, HP-UX, IRIX, AIX, DEC, SCO and Mac OS X.
What makes Webmin unique is its modular design. Every service or feature is exposed through a set of modules. This means that if the application you would like to control from Webmin is not supported, you can use the Webmin API to build a new module that will allow Webmin to control it. Webmin ships with 50 standard modules and many more are available, so you have plenty of source code examples to help get you started. Although Webmin itself is distributed under the BSD license, the modules you build can be distributed under any license you choose. This keeps the tool open to submissions from both the Open Source community and commercial vendors.
Installation is a breeze; go to www.webmin.com/webmin and download either the RPM or the tarball. If you use the tarball, you will need to run the setup.sh once you have unpacked it. This program handles the installation for you. One tip if you use the tarball: make sure you unpack it where you want those files to live. After you have installed Webmin, do not delete the Webmin directory you just unpacked or Webmin will not work. If you want to uninstall Webmin later, an uninstall script is included that will remove the initial directory as well as all the other files Webmin puts on your drive.
Now that you have Webmin installed, you need to open a web browser and log in to the IP address/resolvable server name and port (typically 10,000) that you configured Webmin to use when you installed it (see Figure 1). Once you have logged in, you should be greeted by the index page of Webmin, including several category tabs in which the various Webmin modules are grouped (see Figure 2). For example, the “Webmin” tab is where all the configuration settings for general themes, users, modules, etc., are located (the default theme is used in these figures). Other tab groupings include System, Servers, Networking, Hardware and Others.
The System tab handles tasks that have to do with managing the computer or server itself. This includes setting disk quotas, setting up NIS, altering PAM, looking at the syslog, adding users, managing cron, setting up NFS and even modifying boot-time services or rebooting the server.
The Servers tab groups all the server service configuration modules together. This is where you will find Apache, BIND, DHCP, sendmail, Squid and a number of other related modules (see Figure 3).
The Networking tab is a new addition, and on Linux it offers a good GUI ipchains configuration module, as well as a subcategory of various network utilities such as ping, traceroute, whois and dig.
The Hardware tab, 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.
The last tab is a potpourri category that has a full Java-based ssh/Telnet client, Java-based file manager, special user-definable module called Custom Commands, system log viewer, Perl modules section, and web-based system and server-status monitoring module. The Custom Commands module lets you build a simple interface to Webmin that allows you to run any command you want. This can be very useful if you need Webmin to do something specific that does not require a full module to accomplish. Figure 4 shows some custom examples that were created quickly and easily.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Nice article, thanks for the
5 hours 38 min ago - I once had a better way I
11 hours 24 min ago - Not only you I too assumed
11 hours 42 min ago - another very interesting
13 hours 35 min ago - Reply to comment | Linux Journal
15 hours 28 min ago - Reply to comment | Linux Journal
22 hours 22 min ago - Reply to comment | Linux Journal
22 hours 38 min ago - Favorite (and easily brute-forced) pw's
1 day 29 min ago - Have you tried Boxen? It's a
1 day 6 hours ago - seo services in india
1 day 10 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?








Comments
Awesome post
Good work !
Webmin Rocks!!
I put together this pdf
http://t3.woodel.com/my-linux-how-to/debian_howto_start_to_finish_using_...
Use of bold etc.
Fine articles, but very difficult to read. I know it's an old article, but you could none-the-less consider using bold on headlines, bullets to make it more readable, etc.
School Project
I've asked a few people who have relations to Webmin for some help but they have not responded... if you read this please consider what I have to say.
Hi,
I was givin the task to setup a system at my school to allow students to sign up to a program, and then develop a website... having that website being allowed to be viewed on our network.
I found webmin and usermin and thought that I had the solution and I think there may be a way to get it to work (in the file manager students can just create a new file and then instert the html, though some kind of script to allow them to make a website like geocities or freewebs.com would be very NICE!)
I need help allowing users' files to be view in such a format as:
http://216.186.36.50:20000/username/file.html
I'm not sure HOW to allow this though.
Also if anyone knows of any scripts that I can use for free (I'm doing this for free) that would allow users to make a site on the server (It's running a version of linux redhat that I installed) that would be awesome!
Finally.. is there anyway to allow people to sign up for an account? So that I do not have to set up every single user...
Thanks!
Re: Webmin: Good for Guru and Newbie Alike
Your article is excellent. I use webadmin and it is great.
Would like to know more about your background as I am an Elmendorf as well, Jim Elmendorf, elmendorfjl@yahoo.com.
Look forward to hearing from you.
Jim