In this tutorial, you’ll learn how to install the Vitrualmin control panel on Debian. Because Debian is so closely related to Ubuntu, these steps should also work for Ubuntu installations. As a bonus, this tutorial will also install Webmin alongside of Virtualmin.
Vitrualmin System Requirements
Although Virtualmin suggests installing on a system with 1 GB RAM or more, I ran into the following when trying to install it on a Linode VPS with 1 GB of RAM.
In that case, I suggest you use a server with at least 2 GB of RAM.
At the time of this writing, the following operating systems are supported by Virtualmin.
- CentOS/RHEL 6 on i386 and x86_64 and, 7 and 8 on x86_64
- Debian 9 and 10 on i386 and amd64
- Ubuntu 16.04 LTS, 18.04 LTS and 20.04 LTS on i386 and amd64 (non-LTS releases are not supported)
Please see the Virtualmin OS Support page for the latest compatible operating systems.
Virtualmin DNS Settings
While it’s not required, it’s a good idea to point your DNS A records to the IP address where you will be installing Virtualmin. This way, when you want to install an application like WordPress, you can associate the website with a domain name.
If you will be installing a free Let’s Encrypt SSL certificate through Virtualmin, the default subdomains that are created for a new server instance are as follows:
- www
- admin
- webmail
Add these subdomains as A records to your DNS settings as well.
Virtualmin and Webmin Installation
Installing Virtualmin is a very automated process. Simply download the installer script with wget and execute it like this.
wget http://software.virtualmin.com/gpl/scripts/install.sh /bin/sh install.sh
After confirming that you want to proceed with the installation and entering your hostname (if it’s not already set), the installation will take approximately 5 minutes to complete.
When the installation finishes, you can access your Virtualmin dashboard with a web browser. The default port for Virtualmin is 10000.
You can use your Debian username and password to log in to the Virtualmin dashboard.
Configuring Virtualmin
If you are interested in a basic overview, deploying a server, or installing WordPress on Virtualmin, please take a look at the following video tutorial.
If you have any questions about installing or configuring Virtualmin, please let me know in the comments below.
7 Responses
Hi.
Thank you so much for all the great tutorials. I am not a programmer so don’t know/understand much. I was trying to do it with windows, and only got as far as 5 minutes and 1 second of the video. Till the part: Permanently added blah blah (ECDSA) to the list of known hosts.
But that’s it, it doesn’t show the rest of the lines like it does on your screen: The programs included with the Debian/Linux systems are free………..
Debian GNU/Linux comes with absolutely no warranty….
None of these things show, what should I do? Please advice, awaiting for your kind response.
Best regards,
Abrar
So this seems like you are at the point where you are installing logging into the server via SSH. This step is even before we begin to install Virtualmin. You will need to talk to the administrator of the server for help with logging in.
Hi,
I follow your tutorial and install virtualmin successfully, but i can not understand about subdomains. how to set A records to work default subdomains like mail.domain.com, http://www.domain.com etc.
Please explain in detail or show any video if you have.
Thanks,
Hi Ashfaq, I will have a video about subdomains in Google Domains in a few days on March 9th on my YouTube channel. Please stay tuned for that.
If you don’t need all the features Apache provides (just hosting a WordPress blog) then you can run this command to use LEMP instead of LAMP:
/bin/sh install.sh –bundle LEMP
Hey Tony,
Please can you tell me how to fix this.
The procmail command in the Postfix configuration does not exist.
I got this error when I pressed check configurations.
Thanks for the demo (don’t forget to verify port 10000 is listening on your VPS to access webmin)
But you don’t show how to activate https on Webmin/Virtualmin Panel himself on port 10000.
Pretty confusing for me.