How to Install Virtualmin on Ubuntu 20.04 LTS Servers without error

In this article, we’ll talk about How to Install Virtualmin on Ubuntu 20.04 LTS without error.

Virtualmin is an open-source hosting and cloud control panel. It is available to install on Linux with a script.

The Virtualmin application has shown to be capable of managing an internet server as easily as possible.

It allows access to the server via an SSL HTTP line.

It Provides a clear user interface. Almost all settings of the server.

We can optimize by this. No experience is require to set up VirtualMin.

A beginner can easily configure a server without any problem.

We don’t need to install XAMPP/ LAMP after installing VirtualMin.

Because Virtualmin automatically installs the apache server and MySQL during its installation.

Like Webmin, Virtualmin is completely free.

Virtualmin has a paid version also that includes more features and special support.

If you will install Virtualmin on your server, you will be able to manage your domain and website easily.

We know that it is very difficult to manage a website with a command line for a beginner.

A beginner can optimize his website easily with Virtualmin.

Now take the tour of install Virtualmin on ubuntu :

Install Virtualmin on Ubuntu 20.04 LTS

1. Run update command

First of all, I recommend you make sure that all of your existing packages are up-to-date.

sudo apt update

2. Download Virtualmin

Now, let’s download the script that will automatically install  Webmin and Virtualmin on our Ubuntu 20.04 LTS.

sudo apt install wget

3. Set Hostname

The domain that you wish to utilize and administer with Virtualmin must be configure as the hostname for the server where you intend to install Virtualmin. It might also be a subdomain. For example- we want to use and manage by Virtualmin. Thus, we set our system hostname to this.

Note: Substitute your domain or subdomain for Also, ensure that the server IP address where you are installing Virtualmin, the record of the domain is direct to it via your  DNS, which is generally available from where you purchase your Domain name or from your domain registrar.

sudo hostnamectl set-hostname

4. Change File permission to make Script executable

Because we now have the Virtualmin installation script on our Ubuntu 20.04 LTS server, let’s alter the permission so that we may run it on the system with root privileges to install various components.

chmod a+x

5. Run Virtualmin Installation Script on Ubuntu 20.04 LTS

If you use root, you don’t have to use Sudo with the next command, but you do have Sudo rights under ordinary users so that the installation procedure is automatic. Without involvement from you, everything will be set up from here.

Note: If the hostname of your domain did not resolve your specific Ip address, the setup might require you to manually re-enter the domain.

sudo ./

Now installation is complete.


6. Allow Firewall for Virtualmin on Ubuntu

You have to open Virtualmin port 10,000 in your firewall, if you use cloud platforms like Google, AWS, Digital Ocean, or any other. 
However, the command is available to people who utilize the Ubuntu built-in firewall:
sudo ufw allow 10000

7. Access Virtualmin Web Interface and log in

Now, you have to open your browser so that you can access the graphical user interface of the Webmin, and then refer to its IP address or domain that you select as a hostname for virtual min at port 10000.


Use your Default Virtualmin Username and Password to Login

As you see the login page, enter your server’s root username and its password. username– root password– the one you have set for the root user on your server.

8.  Dashboard of Virtualmin

Finally, the dashboard allows you to access the different settings and choices needed to begin hosting websites.

9. Post-Installation Wizard of Virtualmin Server

You may set Virtualmin ideally for your machine with this post-installation procedure. 
You may do selections based on your system’s RAM and CPU power depending on whether you wish to host Websites, E-Mails, or Databases.
Click the following button to continue. Click Cancel to save it and use the default settings.

Email Processing Settings:

Virtualmin can be tune to improve performance in its user interface and email processing but at the cost of increase memory use. The best choice depends on how your system will be used. Thus, as per your need select the options or leave the default as it is.

Enable virus scanning with ClamAV:

If your system will host domains that get many emails, it will produce a significant CPU load by scanning incoming malware messages. Since scanning is performed via the claim ClamAV scanning server, RAM is use even when the email is not process. You can stop virus scanning if you do not get your system email. Or allow it to be scan on request.

Run SpamAssassin server filter:

This is because of the use of the SpamAssassin mail filter by CPU that is spammed in the background when it is launched. It takes RAM  but lowers the CPU  load and speeds up mail processing.

Choose MySQL and PostgreSQL server for DataBase:

Virtualmin supports both the MySQL and PostgreSQL servers, but maybe you only want one on your machine. When operating, everyone uses RAM, even if not utilized. Depending on the websites you intend to host, MySQL runs might be sufficient solely because PostgreSQL is not support or necessary for most web applications. There is also no need to run if your system is just utilize for postal mail or DNS hosting.

Set Nameservers:

For Virtualmin-created  DNS  zones to be solved,  the primary nameserver record must be configured to something that can be resolved by other internet systems. Just press the  Next button and after confirming the availability of the same, Virtualmin will automatically set it.

Set Passwords Saving Options:

Virtualmin provides you the choice to save plain text passwords or just one-way encoded passwords (hashed). for virtual servers and mailboxes. Passwords in plain text are handier, but less secure if your system is affect.

Password recovery for virtual servers is not feasible anymore when hash passwords are use.
Moreover, the MySQL password is distinct and randomly created for new servers from the administrative password.

SSL certificate via Let’s Encrypt:

virtual server may be created by Virtualmin which serves web requests that don’t fit any other domain in your system also. It may also be used for Let’s Encrypt  SSL certificate for usage with  Virtualmin’s own user interface.

10. Upload files for the website

By default, the example HTML page will show as “Under Construction” to visit the domain in Virtualmin.
Now you can upload your website files.
  • You’ll locate the index.html file under Public HTML, click the file manager. 
  • Click File Menu and corresponding upload option to remove it and upload the WordPress file to this file. 
  • It’s done once. 
  • Build Webmin database. 
  • Your domain URL, showing the page Under construction, will be refreshed and you will see the setup page for WordPress, which will provide the necessary data also.


While it can be a bit difficult for WHM Cpanel customers to utilize Webmin and Virtualmin, if you’re not going to pay for Cpanel, then this alternative is excellent. C-Panel is a nice alternative.

Also read:

Cheapest Dedicated Server Hosting in India