Amid the cloud price wars and the falling prices for virtual private server (VPS) services around the world, the monthly fee for a relatively modest VPS is roughly the same as a cup of coffee from a café. Simply put, the raw underlying hardware and network connection is a commodity. However, the costs begin to increase dramatically with the addition of value-added management software, and those costs can eclipse the costs of the VPS alone.

Take, for example, the plans for an OpenVZ-based VPS in Atlanta with the hosting company QuickPacket. The middle-of-the-road option, OVZ1024, provides 1 GB of RAM and swap, 2 CPU cores, 100 GB of disk space, and 3 TB of bandwidth for $5.99 per month. Adding the high-end proprietary management script cPanel with the Softaculous program installation script adds another $12 per month to the subscription fee, making the total monthly cost triple what it would otherwise be to add the convenience of not having to manage your VPS from the command line (and the overhead for that management utility, which consumes a not insignificant amount of server resources). The less system intensive DirectAdmin is half the price at $6 with Softaculous or $5 as a standalone utility, but this still doubles the monthly cost relative to the price of the base hardware.

Fortunately, an open-source solution exists that does not require a monthly fee. That solution is Webmin, which, like competing closed-source products, allows users to configure and control various applications, such as the Apache HTTP Server, PHP, MySQL, Dovecot, SpamAssassin, ClamAV, and others, without needing to use command-line configuration of these disparate products.

Webmin is written Perl, and uses internal resources for the user management interface, making it rather insulated from the changes you make to the system. As such, stopping the web server won't sever the ability to continue using Webmin on your systems. Despite this, the overhead of the Webmin services isn't particularly high. On my production system, it uses 90 MB of RAM, and most of that usage is cached.

In contrast to cPanel and DirectAdmin, Virtualmin treats the user as being relatively technically competent, and does not obfuscate the function a component performs with the function itself. Webmin is the main platform used for configuring the Linux system environment, whereas Virtualmin is used for the creation of virtual servers with separate users, account rules, quotas, and instances of Apache httpd and other necessary programs.

Speaking from experience, if you are serving only static content and have no need for mysqld to be running on the server, stopping that process from executing at boot and removing it from the allowable components on a per-website basis is far easier on Virtualmin, whereas exerting that level of control on other administration platforms is somewhat more challenging.

Installing Webmin on your system

The process of installing Webmin is easy, though it does require simple command line usage. Using ssh from any Linux terminal, or PuTTY on Windows, you must log in as root and grab the automated installation script using the following command.

wget http://software.virtualmin.com/gpl/scripts/install.sh

Next, you will need to give yourself the ability to execute the script, and then run it, with these two commands.

chmod +x install.sh
./install.sh

This starts a process of downloading a variety of packages from webmin and the repository from your distribution, and then installing them. The official instructions indicate that this can take 30 minutes, but in the test installs I've performed, it is closer to 15; the time will depend on the strength of the server internet connection (likely better than your home connection) and the speed with which the server can install those packages. During this time, do not close the window, so the script can finish operating.

The script will ask you questions if it cannot determine the server configuration automatically. On my OpenVZ-based test installations, it cannot detect the primary network device, which is venet0.

A screenshot of my installation of the program on a production server.

Image: James Sanders/TechRepublic

What's your view?

Do you use Virtualmin/Webmin for your server, or a proprietary system such as cPanel, DirectAdmin, or Plesk? Or, are you a command-line guru who does not need the hand-holding of a GUI for server administration? Share your thoughts in the comments.