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
Related content
1. Update the server
Before proceeding, update your Rocky/Alma packages:
sudo dnf update -y
Install a few required tools:
sudo dnf install -y vim wget
2. Install Webmin
You can install Webmin in two ways:
- Download and install the Webmin RPM directly
- 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.
curl -LO https://prdownloads.sourceforge.net/webadmin/webmin-1.983-1.noarch.rpm
Install the downloaded RPM binary using the DNF package manager.
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
sudo vim /etc/yum.repos.d/webmin.repo
Add this content to the file:
[Webmin]
name=Webmin
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1
gpgkey=http://www.webmin.com/jcameron-key.asc
Now install webmin
sudo dnf install -y webmin
All dependencies should be resolved automatically. Once installed, you will get this output:
$ 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
$ 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:
sudo /etc/webmin/start
Starting Webmin server in /usr/libexec/webmin
To confirm it is running, check to ensure port 10000/tcp is opened.
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
sudo /etc/webmin/restart
reload
sudo /etc/webmin/reload
stop
sudo /etc/webmin/stop
4. Open Webmin port in the firewall
To access Webmin remotely, allow TCP port 10000 in the firewall.
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.
6. Secure Webmin (recommended)
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/tcpto 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
rootaccount 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:
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:
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:
sudo dnf update -y webmin
If you installed via a downloaded RPM, upgrade by installing a newer RPM:
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.