Install Virtualmin in Ubuntu 16.04

Reading Time: 5 minutes

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 Ubuntu 16.04, 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 over 30 days. This should be enough for you to play around with Digital Ocean.

Finally, I will register a free domain in freenom.com to get a fully qualified domain name.

Create a droplet in Digital Ocean.

If you have challenges, here are the screenshots below:

image-1024x370 Install Virtualmin in Ubuntu 16.04
Select Ubuntu 16.04 x64
image-1-1024x531 Install Virtualmin in Ubuntu 16.04
Select Standard > $5/ month Droplet
image-2-1024x353 Install Virtualmin in Ubuntu 16.04
Leave Backup un-check
image-3-1024x347 Install Virtualmin in Ubuntu 16.04
Choose the closest location on your region. In my case, I choose Singapore
image-4-1024x124 Install Virtualmin in Ubuntu 16.04
Enable Private Networking, IPv6,and Monitoring
image-5-1024x551 Install Virtualmin in Ubuntu 16.04
Enter your desired host name. In my case, I use “panel.kurtobando.tk”

After you click on Create, you will received a separate email that you have registered to Digital Ocean. This should contain your Droplet IP address and root credential.

Setup DNS records in Cloudflare.

The “panel.kurtobando.tk” DNS are hosted in Cloudflare, which is pointing to my newly created Droplet IP address. Here is a quick screenshot of my current DNS records hosted in Cloudflare below:

image-6 Install Virtualmin in Ubuntu 16.04
DNS records hosted in Cloudflare

Just to set your expectation, any DNS changes can take 2 to 4 hours. What I suggest, you could use a VPN or wait for the propagation period for your hostname to work.

If you wish to check the propagation period, you may use the link below:

https://toolbox.googleapps.com/apps/dig/#ANY/

Make sure to enter your hostname on the input field, this should return your Droplet IP address. For example:

image-7-1024x535 Install Virtualmin in Ubuntu 16.04
Hostname returns the Droplet IP address.

If all returns okay, let us install Virtualmin on your Droplet.

Virtualmin Installation.

SSH to your Droplet, using your SSH client. In my case, I will just use PuTTY, then run 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

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://panel.kurtobando.tk: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 use https://panel.kurtobando.tk:10000. If first visit your hostname address on port 10000, you will get a “Privacy Error” message by default, see the screenshot below:

image-8-1024x657 Install Virtualmin in Ubuntu 16.04

To go about this, Click on Advanced > Proceed to (URL). If successful, you should have Virtualmin login page as shown below:

image-9-1024x809 Install Virtualmin in Ubuntu 16.04
Virtualmin Login Page via port 10000

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

If you wish to take a quick tour to Virtualmin Post Installation, see the article below:

Post-Installation Wizard in Virtualmin

You might be interested with these articles below:

Setup own name server in Virtualmin

Change swap file size in Virtualmin

Add SSL and change port to your Virtualmin Hostname

Multiple PHP version on Virtualmin in Ubuntu 16.04

Add HTTP2 Support on Virtualmin in Ubuntu 16.04

Was this post helpful?

Leave a Reply