Quick 2-Minute Installation (Instant Method)
For those who are already familiar with Ubuntu and want to skip the lengthy explanations, here is the set of commands I typically use to quickly set up new VPS instances from providers like DigitalOcean or Linode.
# Update the system
sudo apt update && sudo apt upgrade -y
# Download the automatic installation script from Webmin
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
# Install Webmin
sudo apt install webmin --install-recommends -y
Once finished, open your browser and go to: https://Your-IP-Address:10000. Use the root account or a user with sudo privileges to log in directly.
Why I Still Use Webmin After 6 Months in Production
When managing a fleet of 20 VPS running Ubuntu 22.04, staring at a dark Terminal screen for 8 hours can be exhausting. Webmin isn’t as flashy as cPanel; it’s more like a “master control panel” that lets you dive deep into the Linux kernel without needing to memorize every command.
Here are the practical benefits I’ve experienced:
- File Manager: Copy and edit config files directly in the browser. It’s significantly faster than using
viornanowhen you just need to tweak a few lines of code. - Cron Jobs Configuration: The intuitive interface helps me avoid silly syntax errors with those asterisks (* * * * *).
- Resource Dashboard: Real-time CPU, RAM, and Disk charts. One glance tells you exactly which service is consuming unusual amounts of resources.
- Flexible Modules: Out-of-the-box support for everything from Nginx and Samba to Fail2ban without needing complex plugins.
Detailed Installation Steps
1. Set Up the Official Repository
Instead of manually downloading a .deb file, I always use the setup-repos.sh script. This automatically adds the GPG key and repository to sources.list.d. This way, whenever there’s a new patch, you just need to run apt upgrade and Webmin will update itself.
# Install curl if not already present
sudo apt install curl -y
# Run the configuration script
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
2. Proceed with Installation
Webmin is written in Perl, so it will pull in a few dependencies. Don’t worry; the total size is only about 100MB and won’t bloat your server.
sudo apt install webmin -y
3. Open the Firewall Port (Mandatory)
The default port for Webmin is 10000. If you use UFW and forget to open this port, your browser will spin and time out immediately.
sudo ufw allow 10000/tcp
sudo ufw reload
Note: If you are using AWS or Google Cloud, remember to open port 10000 in the Security Group section of their management dashboard as well.
3 Essential Security Settings for Production Environments
Leaving Webmin exposed to the Internet with default settings is a critical mistake. I always perform these three steps immediately after installation:
Change the Default Port
Port 10000 is a prime target for automated bots. I usually change it to a random port like 28394 to reduce brute-force attacks by 90%.
- Go to Webmin -> Webmin Configuration.
- Select Ports and Addresses.
- Change 10000 to your new port.
- Click Save (Remember to open the new port on UFW before saving).
Install Let’s Encrypt SSL
By default, Webmin uses a self-signed SSL certificate, which causes browsers to show an “Insecure” warning. To be more professional and secure, use the built-in Let’s Encrypt module. Just point your domain to the server IP, go to SSL Encryption, and click Request Certificate. Everything happens automatically in under 30 seconds.
Restrict Access by IP (Whitelisting)
If you work from a fixed office location, only allow your office IP to access Webmin. This is the strongest layer of security. Under IP Access Control, select “Only allow from listed addresses” and enter your static IP.
Performance Optimization Tips
View Logs Without Commands: Instead of typing tail -f /var/log/nginx/error.log, you can go to System -> System Logs. Webmin allows for real-time log viewing, which is extremely helpful for debugging website errors in the middle of the night.
One-Click Software Updates: The Software Package Updates section lists all packages that need patching. You can choose to update automatically and receive email notifications whenever the server has a new update, keeping your system in its most secure state.
Conclusion
Webmin doesn’t completely replace the Terminal, but it is a powerful “right hand” that helps reduce the pressure of server administration. If you’re new to Linux, this tool will help you feel less intimidated by command lines and more confident in operating your server. Just remember to prioritize security—don’t let convenience become a gateway for hackers.

