After setting up Virtualmin, the next step is to create your first website. This guide shows how to add a new domain in Virtualmin by creating a virtual server, which acts as the foundation for hosting your site.
Table of Contents
What Is a Virtual Server in Virtualmin?
In Virtualmin, a virtual server represents a complete website environment.
It includes:
- Domain name
- Web root directory
- Database
- Email settings (optional)
- SSL configuration
So when you “add a domain,” you’re actually creating a full hosting environment for that website.
This is part of our VPS Setup series. See more in Web Server Setup.
Before You Start
Make sure:
- Virtualmin is installed and configured
- Your server is accessible via browser
- Your domain is purchased
Most importantly:
Your domain must point to your server IP (DNS A record)
If you haven’t completed setup yet:
- Follow How to Install Virtualmin + Nginx on Ubuntu 24.04
- Complete Virtualmin Post-Installation Configuration
Open Virtualmin Dashboard
Go to:
https://your-server-ip:10000
Login using: root or your sudo user
Create a New Virtual Server
In the left menu:
Virtualmin → Create Virtual Server
You will see the main form.

Fill in Domain Details

Enter:
Domain name: example.com
Description: Optional, for your reference
Administration password: Set a strong password for this virtual server
Enable Required Features
Make sure these are enabled:
- Web server
- MySQL database
- DNS domain (if using Virtualmin DNS)
You can disable mail features if you are not hosting email.
Configure Server Options (Important)
Expand advanced options if needed.
Key settings:
- SSL enabled → Recommended
- Nginx website enabled → Should be active
- PHP execution mode → PHP-FPM (default if configured earlier)
These settings ensure your site works correctly with your VPS stack.
Create the Virtual Server
Click: Create Server
Virtualmin will:
- Create web directory
- Configure Nginx
- Create database
- Apply PHP settings
This usually takes a few seconds.
Verify Your Website
Open your domain:
http://yourdomain.com
If DNS is configured correctly, you should see:
• Default Virtualmin page
OR
• Empty site ready for deployment
Verify SSL
Open:
https://example.com
If SSL is not active yet:
• It may take a few minutes
• Or you may need to request Let’s Encrypt manually
We’ll cover SSL setup in a dedicated guide.
Common Issues When Adding a Domain
Domain not loading
• DNS not pointed to VPS
• A record missing
Virtualmin accessible but site not working
• Nginx not running
• Firewall blocking ports 80/443
SSL not working
• Domain not fully propagated
• Let’s Encrypt not issued yet
What You Just Created
You now have:
- A working domain on your VPS
- Dedicated web directory
- Database-ready environment
- PHP-FPM configured
This is your foundation for hosting any application.
What to Do Next
Now that your domain is ready:
• Install WordPress
• Add subdomains
• Configure SSL properly
Next step:
👉 How to Add a Subdomain in Virtualmin
Need Help Fixing Your VPS?
If you’re stuck with server issues and need a reliable fix, I troubleshoot real VPS problems daily — from Nginx errors and SMTP failures to DNS and performance issues.
Instead of guessing, get a proven fix based on real experience.
- Fix Nginx, Apache, and 502/504 errors
- Resolve SMTP, email, and SES issues
- Debug DNS, SSL, and domain problems
- Optimize performance (CPU, RAM, slow sites)
Conclusion
Adding a domain in Virtualmin creates a complete hosting environment for your website. Once this is set up correctly, you can deploy applications, configure SSL, and expand your setup with subdomains and additional services.
If you run into issues, start troubleshooting here: VPS Troubleshooting




Hi tharindu! please , please help me i have tried all steps but i get this error
Creating MySQL login ..
.. MySQL database failed! : mysql::execute_sql_logged failed : SQL insert into user (host, user, ssl_type, ssl_cipher, x509_issuer, x509_subject, plugin, authentication_string) values (‘localhost’, ‘announcingweb’, ”, ”, ”, ”, ‘mysql_native_password’, password(‘mkZ3gt19E18d3Av’)) failed : Your password does not satisfy the current policy requirements at ../web-lib-funcs.pl line 1433.
Updating Webmin user ..
.. done
Updating Webmin user ..
.. done
Saving server details ..
.. done
Re-loading Webmin ..
.. done
You need to disable MySQL password validation. You might have opted for it during MySQL secure installation. Search google for more information. Create a thread on our server administration forums if you can’t find how to disable it.
hy ,please help me to host django website on virtualmin gpl.i bought a vps server and a domain on hostinger.And i am trying to access my dajngo website uploaded on virtualmin panle.But i can’t access my django website.It shows page not found error.Please help me to find out what changes needed to access my website.
Did you follow this tutorial to add your domain to Virtualmin?
How to add dkim, spf & dkim to new added domains?
Virtualmin should automatically add them if you configure domain specific emails.
How to add additional domains to virtualmin with DKIM and all??