Virtualmin is a web hosting panel for hosting websites, web applications, databases and mailboxes. It comes with two software packages, Webmin and Virtualmin. Webmin is a front-end server management tool, administrators can use it to manage and monitor their systems through simple click operations. On the other hand, Virtualmin is an advanced front-end virtual host management tool that can be used to create, modify and manage virtual hosts.
Virtualmin is a flexible tool with a large number of domain management utilities used by hosting service providers and domain owners. It contains plug-ins such as anti-virus and spam filtering mechanisms. It also provides a dashboard for monitoring user resource utilization and analysis functions.
Virtualmin runs on selected Linux environments (including CentOS 8). This guide will demonstrate how to install and configure Virtualmin on a newly installed Centos 8 machine.
Step 1: Update CentOS / RHEL system
Make sure you are running on the updated system and all packages are up to date.
sudo dnf update -y
Also make sure that your host has a fully qualified domain name (FQDN) and resolvable. For example, hosting.computingforgeeks.com
To change the host name, use the following command:
sudo hostnamectl set-hostname <your-hostname>
sudo hostnamectl set-hostname hosting.computingforgeeks.com
Step 2: Download the Virtualmin installation script
Download the script that will be used to install Virtualmin.
sudo dnf -y install wget wget http://software.virtualmin.com/gpl/scripts/install.sh
The script will be downloaded to your current working directory.
Step 3: Make the script executable and install Virtualmin
Make the script executable by running the following command.
chown a+x install.sh
Now execute the script with sudo permissions:
This will initiate the download of the necessary software packages and the installation of the application.
Welcome to the Virtualmin GPL installer, version 6.2.0 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 time required for installation depends on your Internet speed, but it usually takes 5 to 10 minutes.
The installation should complete and exit the shell with a message indicating that the installation was successful.
[SUCCESS] Installation Complete! [SUCCESS] If there were no errors above, Virtualmin should be ready [SUCCESS] to configure at https://hosting.computingforgeeks.com:10000 (or https://184.108.40.206:10000).
The message also indicates that the service is running and can be accessed via IP or host name (if it can be resolved via the Internet).
Step 4: Configure the firewall for Virtualmin on CentOS | RHEL 8
You will need to open port 10000, which we will use to access the Virtualmin web interface.
sudo firewall-cmd --zone=public --add-port=10000/tcp --permanent sudo firewall-cmd --reload
Step 5: Configure Virtualmin RHEL 8 on CentOS
Now, you have successfully installed Virtualmin and can now access it through a browser using IP/hostname and port 10000.
On the browser, navigate to
Provide the user name as root, and the password is the password of your host root user.
After successfully logging in, you will be provided with a post-installation wizard, which is used to configure and optimize the production system.
Click “Next” to start the configuration.
Allows pre-loading of the Virtualmin library to reduce UI and navigation slow issues.
You can also enable ClamAV virus scanning. However, this requires other utilities to be installed to support this setting. We will not use ClamAV in our setup.
If you will host many email domains, it is always best to enable the system to find spam activity. When using Virtualmin, SpamAssasin is a good tool.
You also need to select the database to be used in the hosting environment. We will use MariaDB in this setup.
Set the database password:
Choose the size of the database according to the size of the server. Memory is the biggest factor to consider at this time. However, you should also remember that the smaller the database, the less capacity it can handle.
Set up the DNS server that will be used in our hosting environment.
Complete the steps and click Finish. You should now be able to use your hosting platform.
You can access the dashboard, where you can use various tools to manage the hosting platform.
Create a domain on Virtualmin
After successfully installing and configuring Virtualmin, the next step is to try to set up the domain to test whether our hosting platform is ready.
In Virtualmin, the domain is called virtual server
On the dashboard, click Create Virtual Server. Then, you will need to provide the domain name and administrative password.
You can also create subdomains from the same interface. To do this, use “
Alias of <hostname>‘Label.
Then, finally click the “Create Server” button.
This will create an account with the domain name you created, which can now be used as a web server. Ideally, this would create a virtual host in the background and allocate its own catalog and database.
You can navigate the file system of the newly created domain by clicking the “File Manager” tab on the left.This provides a file system similar to cPanel, where index files should be placed in
Public_html table of Contents.
In the “Services” tab, you can configure the website and provide a series of options, including file indexing, permission management, PHP version editing, etc.
You can also preview the website from the “Services” menu.
We have successfully installed Virtualmin and deployed a working domain on CentOS 8.
Virtualmin is a simple front-end domain management tool, very convenient for system administrators who want to try open source alternatives.
Using its simple but powerful web tool, it has all the features needed for domain hosting.