How to Install Webmin on Rocky Linux or AlmaLinux 8/9 (With Security Tips)

Step-by-step guide to install Webmin on Rocky Linux/AlmaLinux 8/9. Includes RPM + official repo install methods, starting and enabling Webmin, firewall rules, HTTPS/self-signed warnings, production security checklist, upgrades, and troubleshooting.

In this guide, you will install Webmin on Rocky Linux 8 or AlmaLinux 8/9. This guide also works for other RHEL 8 compatible servers like Oracle Linux and CentOS Stream.

Webmin is a free and open-source web-based system administration tool for Unix-like systems. It provides a browser UI for managing common server tasks.

If you prefer a GUI over the command line, Webmin is a practical alternative for everyday server administration.

The following is a list of functionalities provided by Webmin.

  • BIND DNS Server: Create and edit domains, DNS records, BIND options and views
  • BSD Firewall: Configure a BSD firewall using IPFW, by creating and editing rules
  • DHCP Server: Manage shared networks, subnets, hosts, and groups for ISC DHCPD
  • CD Burner: Burn data CDs from ISO images or selected directories
  • File Manager: View, edit and change permissions on files and directories on your system with a Windows-like file manager
  • Dovecot IMAP/POP3 Server: Configure the Dovecot IMAP and POP3 mail retrieval server
  • LDAP Server: Manage the OpenLDAP server and objects in its database for all operating systems
  • MySQL Database Server: Setup databases, tables, and permissions in your MySQL database server
  • Linux RAID: Create RAID 0, 1, 4, 5, 6, 10 and linear devices on a Linux system
  • SSL certificates: Let’s Encrypt SSL certificate requests
  • IPsec VPN Configuration: Set up a client or server for an IPsec VPN using FreeSWAN

1. Update the server

Before proceeding, update your Rocky/Alma packages:

1
sudo dnf update -y

Install a few required tools:

1
sudo dnf install -y vim wget

2. Install Webmin

You can install Webmin in two ways:

  1. Download and install the Webmin RPM directly
  2. Configure the official Webmin RPM repository (recommended, so upgrades are easy)

2.1 Installing Webmin using an RPM

In this method, we do not need to add any repo. We will download a binary of webmin rpm.

To get the latest Webmin RPM binary, visit the Webmin download page. Copy the RPM Linux link and download it with curl.

1
curl -LO https://prdownloads.sourceforge.net/webadmin/webmin-1.983-1.noarch.rpm

Install the downloaded RPM binary using the DNF package manager.

1
sudo dnf install ./webmin-*.noarch.rpm

Once the installation is completed, move to the next step to access the web interface.

Installing webmin using the Webmin Repo

Let’s add the yum repository of Webmin on Rocky Linux or Almalinux 8 to fetch the Webmin packages for installation using a single command.

Open the repo file

1
sudo vim /etc/yum.repos.d/webmin.repo

Add this content to the file:

1
2
3
4
5
[Webmin]
name=Webmin
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1
gpgkey=http://www.webmin.com/jcameron-key.asc

Now install webmin

1
sudo dnf install -y webmin

All dependencies should be resolved automatically. Once installed, you will get this output:

1
2
3
4
$ sudo dnf install -y webmin

Webmin install complete. You can now login to https://ip-10-2-40-75.us-west-2.compute.internal:10000/
as root with your root password.

This shows that the service is running on our server in port 10000.

Confirm installation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ rpm -qi webmin

Name        : webmin
Version     : 1.983
Release     : 1
Architecture: noarch
Install Date: Wed 22 Dec 2021 11:17:45 AM UTC
Group       : System/Tools
Size        : 126726331
License     : Freeware
Signature   : DSA/SHA1, Sat 04 Dec 2021 06:48:47 AM UTC, Key ID d97a3ae911f63c51
Source RPM  : webmin-1.983-1.src.rpm
Build Date  : Sat 04 Dec 2021 06:46:27 AM UTC
Build Host  : fudu2
Relocations : (not relocatable)
Vendor      : Jamie Cameron
Summary     : A web-based administration interface for Unix systems.
Description :
A web-based administration interface for Unix systems. Using Webmin you can
configure DNS, Samba, NFS, local/remote filesystems and more using your
web browser.

After installation, enter the URL http://localhost:10000/ into your
browser and login as root with your root password.

3. Start and enable Webmin

Webmin might not start automatically. Start it with:

1
2
3
sudo /etc/webmin/start

Starting Webmin server in /usr/libexec/webmin

To confirm it is running, check to ensure port 10000/tcp is opened.

1
2
3
4
sudo ss -tulpn | rg ':10000'

udp   UNCONN 0      0            0.0.0.0:10000      0.0.0.0:*    users:(("miniserv.pl",pid=67584,fd=8))
tcp   LISTEN 0      128          0.0.0.0:10000      0.0.0.0:*    users:(("miniserv.pl",pid=67584,fd=7))

You can restart, reload, and stop Webmin using:

restart

1
sudo /etc/webmin/restart

reload

1
sudo /etc/webmin/reload

stop

1
sudo /etc/webmin/stop

4. Open Webmin port in the firewall

To access Webmin remotely, allow TCP port 10000 in the firewall.

1
2
firewall-cmd --add-port=10000/tcp --permanent
firewall-cmd --reload

5. Access Webmin in your browser

Navigate to https://your_domain:10000 in your web browser, replacing your_domain with your server domain or IP address.

Note: On first login, you may see an “Invalid SSL” warning because Webmin often starts with a self-signed certificate. For testing, accept the warning; for production, configure a trusted certificate or use a reverse proxy.

You’ll be presented with a login screen. Sign in as the root user with password.

Once you log in, the first screen you will see is the Webmin dashboard.

Webmin is an administration panel, so treat it as sensitive:

  • Restrict access by source IP/subnet (for example your VPN or office network). Avoid exposing 10000/tcp to the public internet.
  • Prefer a reverse proxy with authentication and trusted HTTPS certificates (for example NGINX + Lets Encrypt) instead of relying on Webmin’s self-signed certificate.
  • Create a dedicated Webmin admin user and avoid daily access using the root account when possible.
  • Use strong passwords and rotate them if Webmin is reachable outside your private network.

Optional: manage Webmin with systemd

If you want consistent service management, create a systemd unit:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
sudo tee /etc/systemd/system/webmin.service >/dev/null <<'EOF'
[Unit]
Description=Webmin server
After=network.target

[Service]
Type=simple
ExecStart=/etc/webmin/start
ExecStop=/etc/webmin/stop
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

Then enable and start it:

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable --now webmin
sudo systemctl status webmin --no-pager

7. Upgrade Webmin

If you installed via the Webmin repository:

1
sudo dnf update -y webmin

If you installed via a downloaded RPM, upgrade by installing a newer RPM:

1
sudo dnf install -y webmin-*.noarch.rpm

8. Troubleshooting

Port is open, but browser cannot connect

  • Confirm it is listening: sudo ss -tulpn | rg ':10000'
  • Confirm firewall rules: sudo firewall-cmd --list-all | rg 10000
  • Check DNS/routing and any cloud security group rules.

Invalid SSL warning

This is expected for self-signed certificates. For production, configure a trusted certificate or terminate TLS in a reverse proxy.

Conclusion

You now have Webmin installed and running on Rocky Linux / AlmaLinux 8/9 with remote access over HTTPS.

comments powered by Disqus
Citizix Ltd
Built with Hugo
Theme Stack designed by Jimmy