Webmin is n open-source web control panel made for Linux operating systems. This allows the system administrators to manage the server via a simple web interface. Webmin makes it possible to remove the command line interface and provides a GUI to interact with the server.

With Webmin, you can:

  • Manage user accounts
  • Configure DNS settings
  • Change settings for common packages
  • Changing user passwords
  • Installing, updating and removing software packages
  • Configuring firewall
  • Creating virtual hosts

And so much more. In this tutorial, we will go through the journey to install Webmin on CentOS 7. The following method will also work perfectly for CentOS 8.


Before we get started, there are some things that we’re going to need:

  • A CentOS 7 server (can be interchanged with CentOS 8)
  • A root account or an account with Sudo privileges
  • A basic understanding of bash scripting language

Installing Webmin on CentOS 7

Now that we’re all set with the basics, let’s install Webmin on the server. First, we will open the following repository file using the nano text editor. You can use an alternate text editor if you don't have a nano.

Note: If you’re using the root user account, you can ignore the sudo command and enter the rest of the command as is!

sudo nano /etc/yum.repos.d/webmin.repo

Paste the following in the file:

name=Webmin Distribution Neutral

Save the file and close the editor. To do this, press CTRL + X, press and ENTER.

The above text is to add the Webmin repository to our package manager to easily install and update Webmin.

Now we will add the Webmin author’s PGP key. This lets your system trust the new repository.

sudo rpm --import http://www.webmin.com/jcameron-key.asc

All set, now let’s install the latest version of Webmin using the following command:

sudo yum install webmin

When prompted to continue, don’t forget to press y. Once the installation is finished, you will see an output similar to this.

Webmin install complete. You can now login to https://your_server_ip_or_hostname:10000/ as root with your root password.

That’s all; you have successfully installed Webmin on your CentOS 7 server.

Configuring the firewall

By default, Webmin listens for connections on port 10000 on all network interfaces. You'll need to open the Webmin port if you have a firewall running on your CentOS server.

To allow traffic on port 10000, run the following commands:

sudo firewall-cmd --zone=public --add-port=10000/tcp --permanent

sudo firewall-cmd --reload

Accessing Webmin through the browser

All is set from the server side, and we can go ahead to access the Webmin portal through the browser. Once the installation is completed, Webmin will start automatically and be ready to use. To access Webmin, type your server’s hostname name or public IP address followed by the Webmin port 10000:


When you enter this and proceed further, you will encounter a warning message. It will say that your connection is not secure but worry not. This message comes because Webmin comes with a self-signed SSL certificate which is not validated by a CA (certificate authority).

To bypass this security warning, click on Advanced.

Now you will see a link at the bottom that says “proceed to <IP Address> (unsafe)”. Click on this link to enter your Webmin console.

Now You will see a window where you need to enter the username and password. Here you can enter your credentials used for accessing the server. It can be through the root account or a user account. Enter your credentials and click on Sign in.

You will see your brand new Webmin dashboard!

You will be presented with a dashboard, as seen above, that gives an overview of key system metrics such as CPU & RAM utilization. It also provides other system details such as hostname, Operating system, system uptime, etc.

On the left pane is a list of options that give you access to various server functionalities. From here, you can perform a list of system administration tasks as discussed earlier in the introduction.

The Webmin panel can be used to manage the Linux system. The panel on the left includes the following:

  • Webmin
  • System
  • Servers
  • Tools
  • Networking
  • Hardware
  • Cluster
  • Un-used Modules
  • Refresh Modules
  • Other configurations

You have complete control over the server through this panel. Click on any of the panels, which will open up several options.

Final words

You have successfully installed and set up Webmin on your CentOS 7 server. The next step would be to start setting up the LAMP or LEMP stack and manage all the services through the Webmin web interface.

If you have any problems, let us know in the comments below, and we will be happy to help.

People also read: