Installing Webmin on Rocky Linux 8: A No‑Nonsense Guide
If you’re running a Rocky Linux server and want a GUI to tweak settings, manage users, or monitor services without diving into every config file, Webmin is the go‑to tool. In this walk‑through you’ll learn how to pull that handy web interface onto your system in just a few minutes.
5.1 Why You Need Webmin on Rocky Linux
You may be thinking, “I can just edit /etc files myself.” Sure, but when an update breaks something or you need to audit permissions for the first time, a web dashboard saves hours of trial‑and‑error. Plus, I’ve seen admins panic after a bad yum install that left them with broken services—Webmin gives a quick sanity check.
5.2 Prepare Your Rocky Server
1. Make sure your system is up to date
sudo dnf update -y
Fresh packages reduce the risk of dependency conflicts later on.
2. Install wget and epel-release if you don’t already have them
sudo dnf install wget epel-release -y
EPEL (Extra Packages for Enterprise Linux) will give us a small set of utilities that Webmin relies on.
5.3 Add the Webmin Repository
Webmin isn’t in the default Rocky repos, so we’ll point dnf at its own repository file.
sudo tee /etc/yum.repos.d/webmin.repo <<'EOF' [webmin] name=Webmin Distribution Repository baseurl=https://download.webmin.com/download/repository enabled=1 autorefresh=1 gpgcheck=1 gpgkey=https://www.webmin.com/jcameron-key.asc EOF
Why this step? Without the repo file, dnf has no idea where to fetch Webmin from. The GPG key ensures we’re downloading a legitimate package and not some malicious drop‑in.
5.4 Install the Core Package
Run:
sudo dnf install webmin -y
The installer pulls in dependencies like perl modules and configures /etc/webmin/miniserv.conf. Don’t worry if it looks intimidating—Webmin is a Perl application that can be a bit verbose during installation.
5.5 Open the Firewall for Webmin
If you’re running firewalld, expose port 10000 (the default HTTPs port used by Webmin).
sudo firewall-cmd --permanent --add-service=webmin sudo firewall-cmd --reload
This is a quick way to allow external access. If your host uses iptables or another fire‑wall, add the equivalent rule.
5.6 Verify and Start Webmin
Check that the service is running:
systemctl status webmin.service
If it shows active (running) you’re good to go. If not, try restarting:
sudo systemctl restart webmin.service
Webmin’s default listening address is 127.0.0.1 for security; on a server you’ll want to allow external IPs by editing /etc/webmin/miniserv.conf and setting listen=all. After that, reload:
sudo systemctl restart webmin.service
5.7 Log In via the Browser
Navigate to:
https://<your-rocky-ip>:10000/
The first time you log in, Webmin will generate a self‑signed SSL certificate and ask for your root or sudoer password. Once authenticated you’ll see the familiar blue dashboard.
If the browser complains about an untrusted certificate, just add an exception—Webmin uses its own cert by default.
5.8 Common Pitfall: Outdated Repo Metadata
I’ve seen this happen after a yum clean all followed by a fresh update on Rocky 8; the Webmin repo metadata can become stale and cause install errors like “Failed to download metadata for repository ‘webmin’”. Running:
sudo dnf clean metadata sudo dnf makecache
before installing usually clears that up.
5.9 Optional: Secure Webmin with a Reverse Proxy
If you already run Apache or Nginx, point a sub‑domain to port 10000 and let the web server handle TLS termination. That way you only expose HTTPS to the public and keep Webmin behind your usual firewall rules.
That’s it. You’ve turned your bare Rocky Linux box into a fully‑featured web control panel in under ten minutes—without installing an entire desktop environment. Happy tweaking!