Install and Use Webmin on Rocky Linux 9: Best Administration Tool
This guide intends to teach you how to Install and Use Webmin on Rocky Linux 9. Webmin is a powerful, web-based administration tool for Linux operating systems. It simplifies server management by providing a user-friendly web interface. Through this guide on the Install and Use Webmin on Rocky Linux 9 from Orcacore, you will learn to install Webmin on Rocky Linux 9 by adding its repository and accessing the Webmin console through a web browser.
Before starting, ensure you have root access to your Rocky Linux 9 server and a basic firewall setup. You can refer to this guide on Initial Server Setup with Rocky Linux 9 for assistance.
Now, let’s proceed with the following steps to Install and Use Webmin on Rocky Linux 9.
Step 1 – Import Webmin GPG Key
Webmin packages are not available in the default Rocky Linux 9 repositories. Therefore, you need to import the Webmin GPG key to your server to verify the integrity of the packages. Use the following commands:
# wget https://download.webmin.com/jcameron-key.asc
# rpm --import jcameron-key.asc
Step 2 – Add Webmin Repository on Rocky Linux 9
Next, you need to add the Webmin repository to your system. Create a Yum repository file using the following command:
cat << EOF > /etc/yum.repos.d/webmin.repo
[Webmin]
name=Webmin Distribution Neutral
#baseurl=https://download.webmin.com/download/yum
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1
gpgkey=https://download.webmin.com/jcameron-key.asc
gpgcheck=1
EOF
After creating the repository file, update your system’s package list:
dnf update -y
Step 3 – Webmin Installation on Rocky Linux 9
Now, you can install Webmin along with Perl, which is a dependency, using the following command:
dnf install perl webmin -y
Note: During the installation process, all necessary dependencies should be resolved automatically.
Step 4 – Check Webmin Status
Webmin should start automatically after installation and be enabled to start on boot. Verify the status of the Webmin service using the following command:
systemctl status webmin
You should see an output similar to this:
**Output**
● webmin.service - Webmin server daemon
Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; vendor pr>
Active: **active** (**running**) since Sat 2023-04-03 03:46:20 EST; 6s ago
Process: 71258 ExecStart=/usr/libexec/webmin/miniserv.pl /etc/webmin/minise>
Main PID: 71259 (miniserv.pl)
Tasks: 4 (limit: 23609)
Memory: 54.3M
CPU: 4.520s
CGroup: /system.slice/webmin.service
...
The output indicates that the Webmin service is active and running.
Step 5 – Configure Firewall for Webmin
By default, Webmin listens on port 10000. You can verify this using the following command:
ss -antpl | grep 10000
The output should be similar to:
**Output**
LISTEN 0 4096 0.0.0.0:10000 0.0.0.0:* users:(("miniserv.pl",pid=71259,fd=5))
Allow Webmin port 10000 through the Rocky Linux firewall using the following command:
firewall-cmd --add-port=10000/tcp --permanent
To apply the new firewall rule, reload the firewall:
firewall-cmd --reload
Step 6 – How To Access Webmin Console?
Now that you have successfully installed Webmin on your Rocky Linux 9 server, you can access the Webmin dashboard through a web browser. Type your server’s IP address followed by port 10000:
https://<server-ip>:10000
Replace <server-ip>
with the actual IP address of your server.
You will see the Webmin login screen. Enter your root username and password, then click on the Sign in button.

After successfully logging in, you should see the Webmin dashboard:
From the dashboard, you can manage and configure your server settings.
Step 7 – How To Use Webmin Console?
Let’s explore some basic functionalities of Webmin. From your dashboard, on the left-hand side, click on Tools => Command Shell. This gives you access to a Linux terminal within the Webmin interface, allowing you to run commands directly.
You can easily create files and directories and manage your file system. To do this, click on Tools => File Manager.
To upload and download files to your Rocky Linux 9 server, click on Tools => Upload and Download from your Webmin dashboard.
To configure network settings such as static IP address, default gateway, hostname, and DNS, click on Networking => Network Configuration.
You can also create and edit hard disk partitions. Click on Hardware => Partitions and Local Disks.
For more detailed information, you can visit the Webmin Documentation page.
Conclusion
You have now learned how to Install and Use Webmin on Rocky Linux 9 by adding its repository. This powerful administration tool allows you to easily configure server users, services, applications, and more. You can also modify open-source services like Apache and PHP. This guide on Install and Use Webmin on Rocky Linux 9 is a great starting point for server administrators.
Alternative Solutions for Server Administration on Rocky Linux 9
While Webmin offers a comprehensive GUI for server administration, other options are available, each with its strengths and use cases. Here are two alternative approaches:
1. Cockpit:
Cockpit is a web-based interface designed to be more lightweight and integrated with systemd than Webmin. It focuses on making system administration tasks discoverable and easy to use. Unlike Webmin, Cockpit leverages existing system APIs, reducing the need for custom modules and configurations. This results in a more seamless and secure experience.
To install Cockpit on Rocky Linux 9, use the following command:
dnf install cockpit
systemctl start cockpit.socket
systemctl enable cockpit.socket
Then, access Cockpit by navigating to https://<server-ip>:9090
in your web browser. Use your system username and password to log in.
Cockpit shines in managing containers, viewing system logs, and configuring network settings. Its simplicity and integration with core system tools make it a solid alternative to Webmin, especially for users who prefer a more modern and less intrusive web-based administration tool.
2. Command-Line Interface (CLI) with Ansible:
While a GUI is convenient, the CLI remains a powerful tool for server administration, especially when coupled with automation tools like Ansible. Ansible allows you to define server configurations as code, enabling repeatable and consistent deployments. This approach offers greater control and scalability compared to GUI-based tools.
First, install Ansible on your workstation (not the server itself):
pip install ansible
Next, create an Ansible playbook to manage your Rocky Linux 9 server. Here’s an example playbook to install and configure a basic web server:
---
- hosts: your_server_name
become: true
tasks:
- name: Install Apache web server
dnf:
name: httpd
state: present
- name: Start and enable Apache service
systemd:
name: httpd
state: started
enabled: true
- name: Copy default index.html file
copy:
src: files/index.html
dest: /var/www/html/index.html
Replace your_server_name
with the actual hostname or IP address of your server in your Ansible inventory file. The become: true
directive allows Ansible to execute tasks with elevated privileges (like sudo).
To run the playbook, use the following command:
ansible-playbook your_playbook.yml -u your_username -k
Replace your_playbook.yml
with the name of your playbook, your_username
with your server username, and -k
prompts for the SSH password.
While the CLI and Ansible approach requires more initial setup and a steeper learning curve, it offers unmatched flexibility, scalability, and automation capabilities, making it ideal for managing complex server environments. By automating server configuration, you reduce the risk of human error and ensure consistent deployments across multiple servers. This is especially important in enterprise environments.