System Administration

    Deploying Webmin on RamNode VPS

    Webmin is a powerful web-based system administration interface for Unix-like systems. It provides an intuitive graphical interface for managing users, services, packages, and system configuration without requiring extensive command-line knowledge. Combined with RamNode's reliable VPS hosting, you get complete server control from your browser.

    Ubuntu 22.04/24.04
    Debian 11/12
    ⏱️ 10-15 minutes

    What Webmin Provides

    Web-based system administration interface
    User and group management
    Package and software management
    Service start/stop/restart control
    Scheduled cron job management
    Firewall and network configuration
    File system and disk management
    Extensible with additional modules

    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
    2

    Update Your System

    Connect to your RamNode VPS via SSH and update the system packages:

    Connect via SSH
    ssh root@your-server-ip
    Update System Packages
    sudo apt update && sudo apt upgrade -y
    3

    Install Required Dependencies

    Webmin requires several packages to function properly:

    Install Dependencies
    sudo apt install -y software-properties-common apt-transport-https wget curl gnupg2
    4

    Add the Webmin Repository

    Add the official Webmin repository to ensure you get the latest stable version:

    Add Webmin GPG Key
    curl -fsSL https://download.webmin.com/jcameron-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpg
    Add Repository
    echo "deb [signed-by=/usr/share/keyrings/webmin.gpg] https://download.webmin.com/download/repository sarge contrib" | sudo tee /etc/apt/sources.list.d/webmin.list
    5

    Install Webmin

    Update the package list and install Webmin:

    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.

    6

    Configure the Firewall

    Allow access to Webmin's port through your firewall:

    For UFW (Uncomplicated Firewall):

    UFW Commands
    sudo ufw allow 10000/tcp
    sudo ufw reload

    For iptables:

    iptables Commands
    sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
    sudo iptables-save > /etc/iptables/rules.v4
    7

    Access Webmin

    Open your web browser and navigate to your server's IP address on port 10000:

    Webmin URL
    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.

    8

    Security Hardening

    After installation, implement these security best practices:

    Change the Default Port

    Changing the default port reduces automated attacks targeting port 10000:

    Edit Webmin Configuration
    sudo nano /etc/webmin/miniserv.conf
    Change Port Line
    # Change the line:
    port=10000
    
    # To a custom port (e.g., 12321):
    port=12321
    Restart Webmin
    sudo systemctl restart webmin

    ⚠️ Remember to update your firewall rules to allow the new port!

    9

    Install Let's Encrypt SSL Certificate

    Replace the self-signed certificate with a trusted Let's Encrypt certificate:

    Option 1: Via Webmin Interface

    1. Log into Webmin and navigate to Webmin → Webmin Configuration → SSL Encryption
    2. Click on the "Let's Encrypt" tab
    3. Enter your domain name in the "Hostname" field
    4. Click "Request Certificate"

    Option 2: Using Certbot

    Install Certbot and Get Certificate
    sudo apt install -y certbot
    sudo certbot certonly --standalone -d webmin.yourdomain.com
    Link Certificates in Webmin Config
    sudo nano /etc/webmin/miniserv.conf
    Add Certificate Paths
    keyfile=/etc/letsencrypt/live/webmin.yourdomain.com/privkey.pem
    certfile=/etc/letsencrypt/live/webmin.yourdomain.com/fullchain.pem
    Restart Webmin
    sudo systemctl restart webmin
    10

    Restrict Access by IP Address

    Limit Webmin access to specific IP addresses for enhanced security:

    Edit Webmin Configuration
    sudo nano /etc/webmin/miniserv.conf
    Add IP Restrictions
    # Add these lines (replace with your IP):
    allow=192.168.1.100 10.0.0.0/24

    Alternatively, configure IP restrictions through the Webmin interface at Webmin → Webmin Configuration → IP Access Control.

    11

    Enable Two-Factor Authentication

    Add an extra layer of security with TOTP-based two-factor authentication:

    1. In Webmin, go to Webmin → Webmin Configuration → Two-Factor Authentication
    2. Select "Google Authenticator" as the provider
    3. Click "Enroll For Two-Factor Authentication"
    4. Scan the QR code with your authenticator app
    12

    Common Webmin Tasks

    Here are some essential tasks you can perform with Webmin:

    13

    Installing Additional Modules

    Webmin's functionality can be extended with additional modules:

    ModuleDescription
    VirtualminFull-featured web hosting control panel
    CloudminCloud computing and VM management
    UserminUser-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.

    14

    Troubleshooting

    15

    Keeping Webmin Updated

    Webmin receives regular updates with security patches and new features:

    Update via Command Line
    sudo apt update && sudo apt upgrade webmin

    Or 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.