How to Install Webmin with Free Let’s Encrypt SSL on Windows VPS
Author: | Windows VPS
Webmin is a powerful web-based interface for system administration on Unix-like systems. This guide, authored by , provides instructions for installing Webmin (current version 2.402 as of August 2025) on Rocky Linux 8, FreeBSD, Ubuntu, Debian, or AlmaLinux 12 using manual setup, Docker, Ansible, Kubernetes, and Terraform, with Let’s Encrypt SSL via Nginx reverse proxy. For reliable VPS hosting, explore Netcloud24.
Power Your Webmin with Netcloud24
Host Webmin on a high-performance Windows VPS from Netcloud24, recommended by . Explore our services:
Prerequisites
- VPS running Rocky Linux 8, FreeBSD, Ubuntu, Debian, or AlmaLinux 12 (e.g., from Netcloud24)
- SSH access with root or sudo privileges
- A registered domain name
- Basic knowledge of Linux/FreeBSD commands
Method 1: Manual Setup
Step 1: Update System and Install Dependencies
Rocky Linux 8 / AlmaLinux 12:
sudo dnf update -y sudo dnf install -y wget perl nginx
Ubuntu / Debian:
sudo apt update && sudo apt upgrade -y sudo apt install -y wget perl nginx
FreeBSD:
sudo pkg update && sudo pkg upgrade -y sudo pkg install -y wget perl5 nginx
Step 2: Install Webmin
Rocky Linux 8 / AlmaLinux 12:
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh sh webmin-setup-repo.sh sudo dnf install webmin
Ubuntu / Debian:
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh sh webmin-setup-repo.sh sudo apt-get install webmin --install-recommends
FreeBSD:
cd /tmp wget https://download.webmin.com/download/webmin-current.tar.gz gunzip webmin-current.tar.gz tar xf webmin-current.tar cd webmin-* ./setup.sh /usr/local/webmin
Step 3: Configure Nginx as Reverse Proxy
Create the configuration file:
Rocky Linux 8 / AlmaLinux 12 / Ubuntu / Debian:
sudo nano /etc/nginx/conf.d/webmin.conf
FreeBSD:
sudo nano /usr/local/etc/nginx/webmin.conf
Add the following:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass https://localhost:10000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Restart Nginx:
sudo systemctl restart nginx # For Linux sudo service nginx restart # For FreeBSD
Step 4: Access Webmin
Access Webmin at http://yourdomain.com and log in with your system credentials.
Method 2: Docker Setup
Step 1: Install Docker
Rocky Linux 8 / AlmaLinux 12:
sudo dnf install -y docker sudo systemctl enable --now docker
Ubuntu / Debian:
sudo apt install -y docker.io sudo systemctl enable --now docker
FreeBSD:
sudo pkg install -y docker sudo sysrc docker_enable="YES" sudo service docker start
Step 2: Run Webmin with Docker
sudo docker run -d --name webmin -p 10000:10000 -v webmin-data:/etc/webmin webmin/webmin:latest
Configure Nginx reverse proxy as above, pointing to http://localhost:10000/ if needed.
Method 3: Ansible Setup
Step 1: Install Ansible
Rocky Linux 8 / AlmaLinux 12:
sudo dnf install -y ansible
Ubuntu / Debian:
sudo apt install -y ansible
FreeBSD:
sudo pkg install -y py39-ansible
Step 2: Create Ansible Playbook
mkdir webmin-ansible && cd webmin-ansible nano webmin.yml
Add to webmin.yml (adjust for OS):
---
- hosts: all
become: yes
tasks:
- name: Download setup script
get_url:
url: https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
dest: /tmp/webmin-setup-repo.sh
mode: '0755'
- name: Run setup script
command: sh /tmp/webmin-setup-repo.sh
- name: Install Webmin (RPM)
dnf:
name: webmin
state: present
when: ansible_distribution in ['Rocky', 'AlmaLinux']
- name: Install Webmin (DEB)
apt:
name: webmin
state: present
install_recommends: yes
when: ansible_distribution in ['Ubuntu', 'Debian']
For FreeBSD, adapt for tar installation.
Step 3: Run Playbook
ansible-playbook webmin.yml
Method 4: Kubernetes Setup
Step 1: Install Kubernetes
Install kubeadm or k3s as per OS.
Step 2: Deploy Webmin
kubectl apply -f - <
Method 5: Terraform Setup
Step 1: Install Terraform
Install as per OS.
Step 2: Create Configuration
mkdir webmin-terraform && cd webmin-terraform nano main.tf
Example for AWS:
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "webmin" {
ami = "ami-example" # Replace with appropriate AMI
instance_type = "t2.medium"
user_data = <<-EOF
#!/bin/bash
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sh webmin-setup-repo.sh
dnf install -y webmin
EOF
}
Step 3: Apply
terraform init terraform apply
Configuring Let’s Encrypt SSL
Step 1: Install Certbot
Rocky / AlmaLinux / Ubuntu / Debian:
sudo dnf install -y certbot python3-certbot-nginx # RPM sudo apt install -y certbot python3-certbot-nginx # DEB
FreeBSD:
sudo pkg install -y py39-certbot py39-certbot-nginx
Step 2: Obtain Certificate
sudo certbot --nginx -d yourdomain.com
Conclusion
This guide, authored by , covers Webmin installation with Let’s Encrypt SSL. Choose Netcloud24 for hosting.
Why Choose Netcloud24?
Netcloud24, led by , offers top VPS solutions. Visit: