When I first started managing websites, I had no idea how to keep things organized. I thought managing a web server would be super hard. Turns out, it doesn’t have to be. One tool that helped me a lot is called Virtualmin. It’s a control panel that makes web hosting easier. With it, you can manage websites, email, databases, and more, all from one place.
In this guide, I’ll walk you through how to install Virtualmin step by step. If you’ve ever installed WordPress or played around with a server before, you’re ready for this. If not, that’s okay too. I’ll keep things simple.
What Is Virtualmin?
Virtualmin is a web hosting control panel. Think of it like the dashboard in your car. It gives you buttons and tools to control what your server does.
It sits on top of another tool called Webmin. Webmin helps you manage your server settings, and Virtualmin adds tools for website stuff, like:
- Hosting domains
- Creating email accounts
- Managing databases like MySQL
There are two versions of Virtualmin: the free version (GPL) and the paid one (Professional). I use the free one, and it works just fine.
What You Need First
Before you install Virtualmin, you need a few things ready. Here’s what I use:
- A fresh server (I use Ubuntu or CentOS)
- Root access (means you can run any command)
- A domain name (like example.com)
- Some patience (servers can be picky sometimes)
If you don’t have a server yet, you can rent one from a hosting provider. I personally like to start with a clean server, because it avoids conflicts later.
Server Requirements
Here are some basic needs for Virtualmin to run well:
- 1 GB of RAM (2 GB is better)
- At least 20 GB of free disk space
- A fast internet connection (no dial-up dinosaurs)
- A supported OS (Debian, Ubuntu, CentOS, AlmaLinux, or Rocky Linux)
Step-by-Step Installation Guide
Let’s jump into the setup. I’ll use Ubuntu in this example, but the steps are similar for other systems.
1. Connect to Your Server
Use SSH to log into your server.
ssh root@your-server-ip
Replace your-server-ip
with your actual IP address. You’ll need your root password or SSH key.
2. Update Your System
Before installing anything, update the server:
apt update && apt upgrade -y
If you’re using CentOS or a similar system, use:
yum update -y
3. Download the Virtualmin Install Script
Virtualmin gives us a script that does most of the work. Download it using this command:
wget https://software.virtualmin.com/gpl/scripts/install.sh
4. Make the Script Executable
Now allow it to run:
chmod +x install.sh
5. Run the Install Script
Here comes the magic:
./install.sh
The script will check your system and ask for confirmation. Just type y
when it asks if you want to continue.
Now, go make a sandwich. This part takes a few minutes.
After the Installation
When the script finishes, you should see a message saying Virtualmin is ready.
Open your browser and go to:
https://your-server-ip:10000
You might see a security warning. That’s normal because the SSL is self-signed. Just click “Advanced” and proceed.
Login using:
- Username: root
- Password: your root password
Boom. You’re in.
Post-Installation Wizard
When you first log in, Virtualmin runs a wizard. It helps you finish setting things up. Just follow the prompts. Here are a few tips:
- Use the recommended settings unless you know what you’re doing.
- Choose the database type you prefer (I stick with MySQL).
- Enable email if you plan to host email too.
This wizard helps get everything ready, like PHP, DNS, and mail.
Creating a Virtual Server
In Virtualmin, each website is called a “Virtual Server.”
To create one:
- Click Create Virtual Server.
- Fill in the domain name.
- Set the admin password.
- Click Create Server.
And just like that, your website has a home.
Why I Like Virtualmin
Here’s why I stuck with Virtualmin over the years:
- It’s free and open-source.
- It works with many Linux versions.
- It handles email, DNS, SSL, and more.
- It saves me time with automatic tasks.
Compared to other panels like cPanel or Plesk, Virtualmin is lighter. It uses fewer resources, and you keep full control of your server.
Some Common Tasks
Once you’re set up, here are some useful things you can do in Virtualmin:
- Install SSL certificates (Let’s Encrypt is built-in)
- Add or remove domains
- Manage FTP accounts and databases
- Set up automatic backups
I like that I don’t need to touch the command line much after setup.
A Few Gotchas to Watch Out For
- Firewalls: Make sure port 10000 is open so you can access the panel.
- DNS: You’ll need to point your domain’s DNS to your server.
- Email: If you plan to host email, configure SPF, DKIM, and DMARC. It helps your mail land in inboxes instead of spam.
Handy Tips for Using Virtualmin
Here are some things I learned the hard way:
- Don’t skip the wizard – it really helps.
- Keep backups – always.
- Update your system regularly – security matters.
Benefits of Using Virtualmin
- Saves time: No need to run dozens of commands.
- Simple interface: Everything is just a few clicks away.
- Secure: With SSL, firewall settings, and login options.
Three Quick Lists You Might Like
Tools Virtualmin Helps Manage:
- Websites (with Apache or Nginx)
- Databases (like MySQL, PostgreSQL)
- Email (with Postfix, Dovecot)
Good Habits After Installation:
- Regularly check for updates
- Monitor disk space and RAM
- Use strong passwords
Troubleshooting Steps:
- Check logs in
/var/log/
if something breaks - Restart services using Webmin > System > Bootup and Shutdown
- Ask in forums if you’re stuck (the community is helpful)
Final Thoughts
Installing Virtualmin might sound technical at first, but it’s really just following steps. I was nervous the first time, too. But now I use it to manage all my sites. It makes things simple, especially if you’re self-hosting.
You don’t need to be a server wizard. Just follow the guide, stay patient, and take notes as you go.
Remember, every server ninja started as a newbie.
If your server starts acting funky, don’t panic. Check your logs, reboot gently, and never feed your server after midnight. (Okay, that last one is a Gremlins joke, but still, keep it happy.)
Have you tried installing Virtualmin yet? What part did you find tricky?
Let me know — I’m still learning too.