As a Linux Web site administrator, I’m always looking for ways to make life easier when it comes to configuring my Linux box. One of the easiest ways of administering my machine has come from a Web-based application known as Webmin. In this Daily Feature, I will examine this great tool and show you how you can make it work for your UNIX-based organization.

What is Webmin, anyhow?
Webmin at its simplest is a Web-based server administration tool. It has been built from the ground up to make server administration as simple as possible for novice to expert Linux/UNIX administrators. Users who are new to administering a UNIX-based environment will appreciate the easy navigation and simple interface, while seasoned pros will appreciate the easy configuration of servers, module installation, and the other great utilities available.

Figure A
Webmin users will appreciate a simple interface that allows advanced server configurations.

What can Webmin do?
The real question here should be what can’t Webmin do. Here are a few examples of services available through Webmin:

  • System Folder: In the standard System folder, administrators can configure boot-up and shutdown options, add/delete users and groups, install/remove software packages, view system logs, and start/stop the running process.
  • Servers Folder: (See Figure A.) In the standard Servers folder, administrators have access to Apache configuration services, DNS configuration services, DHCP services, FTP Server configuration, MySQL configuration, Samba configuration (including SWAT), and Proxy services.
  • Hardware Folder: In the standard Hardware folder, admins have the option of configuring the Linux Bootup configuration, RAID devices, network configuration, partitions, and printer administration.
  • Others Folder: The Others folder contains services that don’t quite fit under the previous folder categories listed. In the standard configuration, you can find services such as a Java-based file manager, installation and configuration of Perl modules, and system/server statistics.

Information on specific services available
As a Web administrator, there are two tools that help me operate my Web server on a daily basis: Apache Server configuration and Users and Groups configuration.

Apache Web Server tool
The Apache Web Server tool is by far the best module available on Webmin, in my opinion. With this tool, I am able to start, stop, and restart my Apache Web server by simply clicking a link available in the configuration page.

I am also able to add virtual hosts on my Web server with little to no trouble at all. Without Webmin, if I wanted to add a new virtual host in my Apache server, I would have to physically edit my httpd.conf file and add the information line-by-line. With Webmin, I click on the Virtual Host link to add a new virtual host and enter the information in the available fields (see Figure B). When I am done, I simply click the Create button. That’s it; the new virtual host will be installed.

Figure B
By using the Create A New Virtual Server field, Web administrators are able to add new virtual hosts quickly and easily.

After creating a virtual server, you can directly configure options within that virtual server by clicking the Options link. Within the Options link, you can find the following default services:

  • Processes And Limits
  • Networking And Addressing
  • Log Files
  • Document Options
  • MIME Types
  • Error Handling
  • User And Group Administration
  • Aliases And Redirects
  • CGI Programs
  • Directory Indexing
  • Proxying
  • SSL Options
  • Server Configuration
  • Show Directives
  • Edit Directives

As you can see, there are many available options for editing and configuring even a single virtual host.

Users and Groups tool
Adding and removing users and groups with Webmin is a simple and efficient process when using the Users and Groups tool. When you first click on the link to add/remove a new user/group, you are presented with a list of current users and groups available on the server. To remove a user/group, all you must do is click on the hyperlinked name of the user/group. You will then be taken to a page where you can update the information on the user/group or delete the file.

To add a user is quite easy as well. At the bottom of each category, there is a button to either create a user or group. All you do is click on the link and you will be taken to an information page where you can register a new user and/or group.

Adding services to Webmin using modules
So what happens if you install Webmin, but there isn’t a section for the service you wish to configure? The answer lies with Webmin modules, a small file that can be downloaded and installed into Webmin to allow for services to be configured if they are installed on your Linux/UNIX machine. You can find many different modules at the Third Party Modules Web site.

But how can you install these new modules into Webmin? It’s actually quite simple. When you first log in to Webmin, under the Webmin folder there is a module called Web Configuration. If you click on the link, you will be taken into a configuration page specifically for the Webmin application. There, you will see a module listed as Webmin Modules.

Upon clicking this link, you will see an option that allows you to install a new module from a local file, an uploaded file (for those who aren’t physically located at the server hosting Webmin), or an installation via FTP or HTTP. Each of these options works well, and they all install the module into Webmin. Once this is completed, you will see a message stating that the module either has or hasn’t installed successfully. From this point, you simply browse Webmin until you find the module that you just installed.

Controlling other machines via Webmin
Perhaps one of the greatest uses for Webmin is the ability to configure a large group of servers from one place. If you have many different servers operating Webmin, you can use the Webmin Server Index, located in the Webmin folder, to add a link to other servers.

There are several options available to locate servers located on the network:

  • Broadcast For Servers: If you have other servers on your network running Webmin, you can send out a broadcast to locate those servers and add them to the Server Index.
  • Scan For Servers: If you don’t wish to scan the entire network for Webmin servers, you can scan a specific IP address instead.
  • Register A New Server: If you know the specific IP address of a server running Webmin, or if the server is outside of your internal network, you can register the machine manually.

Once you have your Server Index created, you can simply visit the index and select the Webmin server you wish to administer via its personal icon.

The Webmin tool has single-handedly brought Linux administration to a state of simplicity not heretofore known. Although there are numerous Linux administration tools, none of them come close to the ease of use and flexibility of Webmin.

But don’t think of Webmin as a server-only administration tool. Webmin is also very useful for remotely working with your desktop machine.