What Webmin Provides
Prerequisites
Before starting, ensure you have:
System Requirements
- • Minimum: 512MB RAM, 10GB SSD, 1 vCPU
- • Recommended: 1GB+ RAM
- • Ubuntu 22.04/24.04 or Debian 11/12
- • Root or sudo access
Before You Begin
- • Fresh OS installation
- • Domain name (optional, for SSL)
- • Basic SSH and terminal knowledge
- • Access to SSH client
Update Your System
Connect to your RamNode VPS via SSH and update the system packages:
ssh root@your-server-ipsudo apt update && sudo apt upgrade -yInstall Required Dependencies
Webmin requires several packages to function properly:
sudo apt install -y software-properties-common apt-transport-https wget curl gnupg2Add the Webmin Repository
Add the official Webmin repository to ensure you get the latest stable version:
curl -fsSL https://download.webmin.com/jcameron-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpgecho "deb [signed-by=/usr/share/keyrings/webmin.gpg] https://download.webmin.com/download/repository sarge contrib" | sudo tee /etc/apt/sources.list.d/webmin.listInstall Webmin
Update the package list and install Webmin:
sudo apt update
sudo apt install -y webmin✓ The installation process will automatically start the Webmin service and configure it to run on port 10000.
Configure the Firewall
Allow access to Webmin's port through your firewall:
For UFW (Uncomplicated Firewall):
sudo ufw allow 10000/tcp
sudo ufw reloadFor iptables:
sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4Access Webmin
Open your web browser and navigate to your server's IP address on port 10000:
https://your-server-ip:10000⚠️ You may see a security warning about the self-signed certificate. This is expected for the initial setup. Click through the warning to proceed.
Log in using your system's root credentials or any sudo-enabled user account.
Security Hardening
After installation, implement these security best practices:
Change the Default Port
Changing the default port reduces automated attacks targeting port 10000:
sudo nano /etc/webmin/miniserv.conf# Change the line:
port=10000
# To a custom port (e.g., 12321):
port=12321sudo systemctl restart webmin⚠️ Remember to update your firewall rules to allow the new port!
Install Let's Encrypt SSL Certificate
Replace the self-signed certificate with a trusted Let's Encrypt certificate:
Option 1: Via Webmin Interface
- Log into Webmin and navigate to Webmin → Webmin Configuration → SSL Encryption
- Click on the "Let's Encrypt" tab
- Enter your domain name in the "Hostname" field
- Click "Request Certificate"
Option 2: Using Certbot
sudo apt install -y certbot
sudo certbot certonly --standalone -d webmin.yourdomain.comsudo nano /etc/webmin/miniserv.confkeyfile=/etc/letsencrypt/live/webmin.yourdomain.com/privkey.pem
certfile=/etc/letsencrypt/live/webmin.yourdomain.com/fullchain.pemsudo systemctl restart webminRestrict Access by IP Address
Limit Webmin access to specific IP addresses for enhanced security:
sudo nano /etc/webmin/miniserv.conf# Add these lines (replace with your IP):
allow=192.168.1.100 10.0.0.0/24Alternatively, configure IP restrictions through the Webmin interface at Webmin → Webmin Configuration → IP Access Control.
Enable Two-Factor Authentication
Add an extra layer of security with TOTP-based two-factor authentication:
- In Webmin, go to Webmin → Webmin Configuration → Two-Factor Authentication
- Select "Google Authenticator" as the provider
- Click "Enroll For Two-Factor Authentication"
- Scan the QR code with your authenticator app
Common Webmin Tasks
Here are some essential tasks you can perform with Webmin:
Installing Additional Modules
Webmin's functionality can be extended with additional modules:
| Module | Description |
|---|---|
| Virtualmin | Full-featured web hosting control panel |
| Cloudmin | Cloud computing and VM management |
| Usermin | User-level interface for email and files |
To install a module, go to Webmin → Webmin Configuration → Webmin Modules and either install from the official repository or upload a .wbm file.
Troubleshooting
Keeping Webmin Updated
Webmin receives regular updates with security patches and new features:
sudo apt update && sudo apt upgrade webminOr within Webmin, navigate to Webmin → Webmin Configuration → Upgrade Webmin.
Webmin Successfully Deployed!
You've successfully deployed Webmin on your RamNode VPS. With proper security hardening in place, you now have a powerful web-based administration interface for managing your server. Webmin simplifies complex system administration tasks while giving you full control over your VPS.
For more advanced configurations, consider installing Virtualmin for web hosting management or explore the extensive Webmin module library to extend functionality based on your specific needs.
