blog-image

Oct 11, 2024

23 min read

Simple Guide – How to Install Webmin on Debian 12 and How to Use it

Written by

Abdelhadi Dyouri

Introduction

Are you searching for a step-by-step guide to install Webmin on Debian 12? This simple tutorial is for you! Webmin is a free, open-source web-based control panel that simplifies Linux server management right from your browser. Its intuitive dashboard lets you handle various configurations, including user accounts, disk quotas, DNS settings, services, web servers, and much more. If you're using a LAMP stack, Webmin makes it easy to manage your Apache web server, MySQL, PHP applications, and even technologies like PostgreSQL and Python. Plus, you can manage your server remotely from any browser. Install Webmin on Debian 12 In this guide, we’ll walk through installing Webmin on an Debian 12 server. We'll also cover basic system administration tasks like monitoring your system, adding users with custom permissions, managing packages, and running software or commands on your server.

Prerequisites

  • A Debian 12 server with root access or a sudo user. If you haven't noticed, we offer extremely powerful Debian Linux servers at the globe's absolute lowest price. Take a look at our offerings and prepare for your mind to be blown 🤯.
  • Access your sever via SSH, check out How to access your server using SSH for instructions.

Note

If you want to skip all the technical steps of setting up Webmin and have it installed in minutes, you can use our tried and tested 1-click Webmin application. Just choose a server, click Customize Your Own Server, under Select Server Image go to the Apps tab, then choose Webmin. This will set up Webmin in minutes!

Step 1: Updating the Package Cache

Start by updating the packages in the package manager cache to the latest available versions using the following command:
sudo apt update

Step 2: Install Webmin on Debian 12

To install the Webmin control panel on Debian 12, you'll first add the Webmin repository that will enable you to install the Webmin packages and update them with apt, then you'll update the package cache, and finally you'll use the apt install webmin command.

Install the Required Packages

First, install curl to use it to download the Webmin repository setup script, and gnupg2 to verify Webmin signatures:
sudo apt install gnupg2 curl -y

Download and Run the Setup Script

Next, download the setup script:
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
Run this script:
sh setup-repos.sh
Update the package cache:
sudo apt update

Install Webmin

After the Webmin repositories setup, you can now install Webmin:
sudo apt install webmin --install-recommends
Once the installation finishes, check that the webmin service is running properly using the following command:
sudo systemctl status webmin
● webmin.service - Webmin server daemon
     Loaded: loaded (/lib/systemd/system/webmin.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-09-08 11:57:14 UTC; 1h 22min ago
    Process: 6352 ExecStart=/usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf (code=exited, status=>
   Main PID: 6353 (miniserv.pl)
      Tasks: 5 (limit: 9476)
     Memory: 106.4M
        CPU: 2min 39.979s
     CGroup: /system.slice/webmin.service
             ├─ 6353 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
             ├─ 6833 /usr/bin/perl /usr/share/webmin/authentic-theme/stats.pl 555
             ├─ 6910 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
             ├─18708 sh -c "(vmstat 1 2 2>/dev/null)"
             └─18709 vmstat 1 2
Note: Webmin is accessible via port 10000. If you have a firewall, you need to allow Webmin's port through the firewall:
sudo ufw allow 10000
Warning: You should be extremely careful with your security practices. It is best to allow only a few trusted IP addresses or IP ranges to access your Webmin control panel. With the Webmin package installed, use your browser to visit the following URL, replacing your_ip_address_or_domain with your server's IP address or domain name:
https://your_ip_address_or_domain:10000
If you haven't set up an SSL certificate from a trusted Certificate Authority like Let's Encrypt, your browser will show a "Not Secure" or "Connection is not private" error. This happens because the connection to your server isn't recognized as secure. Don't worry though—this is expected. Webmin uses a self-signed certificate for encryption, but since your server isn't a known certificate authority, the browser flags it as untrusted. The following is an example of the error in the Google Chrome browser. Don't worry, we'll fix this later. Webmin Server Initial Connection on Debian Click the Advanced button or More information depending on the browser, and choose to proceed. Webmin on Debian 12 Login Page Login using the Unix username and password you've set up on the server. Or you can use your server's root account. You’ll be moved to the dashboard: Webmin Dashboard on a Debian 12 System With this, you have Webmin installed on your Debian 12 server and ready to be used.

Reader Alert!

To avoid all these steps and install Webmin in minutes, you can use our tried and tested 1-click Webmin application. Just choose a
Continue reading this article
by subscribing to our newsletter.
Subscribe now

A note about tutorials: We encourage our users to try out tutorials, but they aren't fully supported by our team—we can't always provide support when things go wrong. Be sure to check which OS and version it was tested with before you proceed.

If you want a fully managed experience, with dedicated support for any application you might want to run, contact us for more information.

Leave a Reply