Linux + Webmin: The Perfect Server Combination


Back in March of this year, I did a tutorial on how to create a Windows-based home server. While I felt that this was an informative post at the time, I knew that there was one major weakness in it; it relied on Windows.  Many businesses who operate large-scale servers opt to use (at least in partial) Linux-based servers. What is Linux? In short, Linux is a type of open-source operating system that can serve a variety of tasks. For example, I have recently started to use Ubuntu Linux (a distribution of the general Linux operating system) on my personal computer.

Why do businesses and large companies choose Linux? For one, Linux-based operating systems are usually 100% free, and any “payments” for said operating systems are simply for enterprise-level support. Asides from this, businesses choose to use Linux because it’s stable and proven, and has a strong open-source community behind it. Lastly, Linux is chosen as a server OS because it is lightweight and has a very small footprint compared to Windows operating systems.

Being lightweight, there is one thing that most Linux server distributions do not include out of the box; a GUI (graphical user interface). What this means is that after one installs a Linux server distro, they are given nothing but a command line.

For the average user, this can be somewhat – if not entirely – confusing. This is where Webmin comes in. Essentially, Webmin allows the administrator of a Linux server to manage said server remotely via a web browser such as Google Chrome or Firefox. This is basically the best of both worlds, as the administrator doesn’t have to struggle with the command-line configuration of the server, and the server is still able to use significantly fewer resources.

Depending on your Linux distribution, installing Webmin can be as simple as downloading from the repository (“apt-get install webmin” on systems using APT, or “yum install webmin” on systems using YUM). However, if Webmin is not available in your repositories, you can simply download the package from Webmin’s site to install it manually. The Webmin community is great with assisting users who encounter difficulties in installing Webmin. One thing I recommend looking at if you are using a Ubuntu-based server is a post which explains how to install a missing dependency manually.

Once you have Webmin installed, accessing it is as simple as firing up your web browser and pointing it to https://server:10000. After logging in with administrative credentials (e.g. the root user), you will be able to monitor and configure your server.

Once in Webmin, you can perform tasks such as maintaining users and groups, adding and configring Samba file-shares, MySQL databases, etc. All of these are tasks that would be difficult for someone new to Linux, but are made insanely simple with the use of Webmin’s default modules.