Recently, I am looking for an opensource control panel where I can manage my client. I tried VestaCP and Centos Web Panel, however, on my experience, I find the support hard to find considering you need to pay more for you to get better support from their team, which I do not find attractive at all.
So I came across with Virtualmin 5.0, which returns promising feature, so I tried to give it a go. If you wish to see more if the new feature Virtualmin 5.0 brings, visit their site virtualmin.com/virtualmin/whats-new-in-5.0
What is Virtualmin — is a powerful and flexible web hosting control panel for Linux and BSD systems. Available in an Open Source community-supported version, and a more feature-filled version with premium support. If you wish to check their documentation, visit virtualmin.com
Before you install Virtualmin on your VPS, make sure you have these details below:
- Start with a freshly installed, Grade A supported Operating System on your server. CentOS and Ubuntu LTS are very popular options for hosting and are a safe choice.
- Be sure to configure your system with a fully qualified domain name.
- Do not enable any third-party software repositories, as they can introduce problems during install and configuration.
What are the “Grade A supported Operating System” in Virtualmin?
- CentOS/RHEL 6 and 7 on i386 and x86_64
- Debian 8 and 9 on i386 and amd64
- Ubuntu 16.04 LTS and 18.04 LTS on i386 and amd64 (non-LTS releases are not supported)
In this tutorial, let us use Debian 9, and I will use $5 droplet in Digital Ocean. If you wish to try Digital Ocean platform, you may use my referral link below:
https://m.do.co/c/e3b40a8b20c9
You will get $50 in credit for over 30 days. This should be enough for you to play around with Digital Ocean.
Virtualmin installation.
SSH to your Droplet, using your SSH client. In my case, I will just use PuTTY, then run the command below:
wget http://software.virtualmin.com/gpl/scripts/install.sh && /bin/sh install.sh
Welcome to the Virtualmin GPL installer, version 6.0.19
This script must be run on a freshly installed supported OS. It does not
perform updates or upgrades (use your system package manager) or license
changes (use the "virtualmin change-license" command).
The systems currently supported by install.sh are:
CentOS/RHEL Linux 6 and 7 on x86_64
Debian 8 and 9 on i386 and amd64
Ubuntu 16.04 LTS and 18.04 LTS on i386 and amd64
If your OS/version/arch is not listed, installation will fail. More
details about the systems supported by the script can be found here:
https://www.virtualmin.com/os-support
The selected package bundle is LAMP and the size of install is
full. It will require up to 650 MB of disk space.
Exit and re-run this script with --help flag to see available options.
Continue? (y/n) y
Press Y to proceed. If your Droplet has a Swap file this should proceed as expected. However, in our case, Virtualmin will create a Swap file for us as shown below:
[ERROR] Memory is below 1024 MB. A full installation may not be possible.
Your system has less than 1024 MB of available memory and swap.
Installation is likely to fail, especially on Debian/Ubuntu systems (apt-get
grows very large when installing large lists of packages). You could exit
and re-install with the --minimal flag to install a more compact selection
of packages, or we can try to create a swap file for you. To create a swap
file, you'll need 263MB free disk space, in addition to 200-300MB
of free space for package installation.
Would you like to continue? If you continue, you will be given the option to
create a swap file. (y/n) y
Would you like for me to try to create a swap file? This will require at
least 263MB of free space, in addition to 200-300MB for the
installation. (y/n) y
Press Y to proceed. If your Droplet has a Swap file this should proceed as expected. However, in our case, Virtualmin will create a Swap file for us as shown below:
[ERROR] Memory is below 1024 MB. A full installation may not be possible.
Your system has less than 1024 MB of available memory and swap.
Installation is likely to fail, especially on Debian/Ubuntu systems (apt-get
grows very large when installing large lists of packages). You could exit
and re-install with the --minimal flag to install a more compact selection
of packages, or we can try to create a swap file for you. To create a swap
file, you'll need 263MB free disk space, in addition to 200-300MB
of free space for package installation.
Would you like to continue? If you continue, you will be given the option to
create a swap file. (y/n) y
Would you like for me to try to create a swap file? This will require at
least 263MB of free space, in addition to 200-300MB for the
installation. (y/n) y
Once the installation has been completed, you should have the message below:
[SUCCESS] Installation Complete!
[SUCCESS] If there were no errors above, Virtualmin should be ready
[SUCCESS] to configure at https://webcloud.kurtobando.com:10000 (or https://xxxx.xxxx.xxxx.xxxx:10000).
[SUCCESS] You'll receive a security warning in your browser on your first visit.
Test your Virtualmin Access.
I usually use the hostname address. In my case, I used https://webcloud.kurtobando.com:10000. If first visit your hostname address on port 10000, you will get a “Privacy Error” message by default.

From here, use your root credential to get access on your Virtualmin Dashboard. If you wish to browse Virtualmin Documentation, visit their site at virtualmin.com/download.html
You may be interested in these articles below:
Post-Installation Wizard in Virtualmin
Change swap file size in Virtualmin
Add SSL and change port to your Virtualmin Hostname