
Virtualmin is an open-source flexible web hosting control panel designed for Linux and UNIX systems. It allows you to manage multiple domains, email accounts, databases, DNS configurations, and applications using a single web-based interface. Virtualmin supports various web server, databases, and mail server applications to securely deliver services using virtual servers with advanced monitoring and alerting tools for server resources, performance, and website traffic.
This article explains how to install Virtualmin on a Ubuntu 24.04 server. You will create a new virtual host web application using Virtualmin and secure the website with a trusted Let's Encrypt TLS/SSL certificates.
2 GB RAM and 2 CPU cores.virtualmin.example.com.Virtualmin is not available in the default package repositories on Ubuntu 24.04. Follow the steps below to download the latest installation script and install Virtualmin on your server.
Set your domain as the new server hostname. For example, virtualmin.example.com.
Download and run the Virtualmin installation script. The command below installs the open source (GPL) edition of Virtualmin with the LAMP stack.
Enter Y to proceed with the installation.
Wait for at least 5 to 10 minutes for the installation to complete.
Follow the steps below to generate trusted Let's Encrypt SSL certificates and secure all network connections to the Virtualmin web administration interface.
Stop the Apache service to ensure Certbot can bind to port 80.
Install the Certbot package Let's Encrypt client to manage your SSL certificates.
Request a new SSL certificate using your domain. Replace virtualmin.example.com and virtualmin@example.com with your actual details.
Enter U and press the Enter when prompted key to update the default SSL key type to ECDSA and apply changes to the /etc/webmin/miniserv.conf configuration file.
Your output should look like the one below when the SSL certificate request is successful.
Restart the Webmin service to apply your configuration changes.
Start the Apache service.
Virtualmin uses the firewalld utility to manage firewall processes on your server. Follow the steps below to allow all necessary Virtualmin ports and other services through the firewall.
View the firewalld service status and verify that it's running.
Output:
View all allowed ports in the firewall configuration.
Output:
View all allowed services.
Output:
Virtualmin runs on the default TCP port 10000 by default. Follow the steos below to access the Virtualmin web administration interface and create a new virtual server.
Access your domain on port 10000 to open the Virtualmin control panel interface.
Enter your sudo user account details to log in to the Virtualmin interface.
Click Next within the Post-Installation Wizard to set up any additional configurations on your server.
Find and click Dashboard on the left navigation bar to access the system performance page.
2-factor authentication (2FA) adds an extra layer of security to password-based authentication. 2FA allows you to generate a one-time code on your mobile device to use when logging in to Virtualmin to verify your identity. Follow the steps below to protect Virtualmin login with 2FA using the Google Authenticator application.
Scroll down on the left navigation bar and click your username at the bottom of the page.
Expand the Security and limits options section.
Click Enable Two-Factor For User.
Click Enroll For Two-Factor Authentication.
Scan the displayed QR code on the page with your authenticator application.
Scroll down on the left navigation bar to log out of Virtualmin.
Log in with your non-root user credentials to test 2FA.
Verify that Virtualmin requires the 2FA token to log in.
Enter the 2FA token from the app.
Press Verify to log in to the Virtualmin web administration interface.
You have installed Virtualmin using the automatic installation script. You have learned to use the control panel to perform server operations and secure it by integrating 2-factor authentication. You have also created a new website, the web interface with automatic HTTPS setup through Let's Encrypt. You have also closed unnecessary ports for unused services and learned to use the Virtualmin firewall. For more information about Virtualmin, visit the official documentation.
0 Comments
Be the first to comment and share your perspective with the community.