How to Install Webmin on CentOS 8 Tutorial (Step by Step)

How to install Webmin on CentOS 8 Tutorial ( Step by Step). In this post, we will introduce Webmin, its features, advantages, and then we will move on to its installation on CentOS 8.

Managing a headless server from a command line interface is very difficult for any user unfamiliar with the Linux command-line. In this case, Webmin helps users to manually edit Unix configuration files and allows a system to be managed from the console or remote access. You can do everything on a Linux server using Webmin web based control panel.

What is Webmin?

Webmin is a flexible web based server management control panel for Linux/Unix operators. Today, most of its versions are launched under a BSD like a license, which means they are freely distributed and ideal for both commercial and non commercial use.

With the help of Webmin’s single interface, system administrators can control multiple machines. Users can also connect their server with any modern web browser that supports tables and forms. Further, they can set up user accounts, Apache, DNS, etc.

In late 1997, the design was launched by a group of people. Many people indeed contributed to the development process, but most work was done by Jamie Cameron. Since its inception, the GUI Linux config/admin tool has been one of the mainstream solutions for data centers and is trusted by many developers.

If you are looking for a user friendly web based GUI Linux config/admin tool that will help manage your small scale database, look no further.

Webmin is a popular web based utility that helps in the management of FreeBSD, Linux, or OpenBSD servers. It is largely based on Perl; so the web based utility program runs its own web server. Webmin also supports several CGI programs that automatically update system files, Linux/Unix operating systems, and distributions.

Additionally, with the help of Webmin, administrators can configure the internals of an operating system or control open source applications (Apache or Tomcat), or modify DNS, MySQL, PHP, etc.

Further, Webmin is built around several modules which allow interested administrators to write plugins for their desktop configuration. ADSL Client, Apache Webserver, CD Burner, BSD Firewall, BIND DNS Server, Cluster Shell Commands, Cluster Webmin Servers and DHCP Server are a few other modules supported by the Webmin.

No doubt, it is one of the best bets for managing Linux machines, but it also has a few drawbacks. The web based utility lacks scalability and does not have enough documentation available for users. However, it is an ideal solution for situations when you want to log into one web interface per server on a small scale. It is fast, simple, and has the ability to control multiple machines.

Webmin features

Advantages of Webmin

There are various benefits of Webmin that helps make the tool stand out from the rest. Have a look at some of the advantages of Webmin:

  • Supports expansion: Webmin supports various modules which can be customized. Further, you can expand these modules by installing a new one. Administrators can also write plugins for desktop configuration as per their interest or need with Webmin.
  • Supports multiple tools: Webmin comprises a wide range of tools that help in managing data centers and Linux machines. These tools enable administrators to easily work with SSH Login, NIS Client and server, File systems, Logs, Apache, MySQL, Firewalls, etc. It also supports a variety of third party modules.
  • Security: Most Webmin installations are safe and protect your data from exploitation attempts. However, if you want more security features, administrators can also set up Linux Firewall in their systems.
  • Flexible: Administrators can also create, edit, and delete user accounts on their systems with the help of this powerful and flexible tool. Further, it supports NFS protocols, which make the process of sharing files and directories with other Linux systems simple and easy.
  • Add Disk Quotas: To manage the amount of disk space, it also allows administrators to set up Disk Quotas.

Follow this post to learn How to install Webmin on CentOS 8 Tutorial ( Step by Step).

How to install Webmin on CentOS 8

Prerequisites

  • A valid domain name pointed with your server IP.
  • A root user or a user with sudo privileges.

Install Required Dependency

Before starting, you will need to install the required packages such as wget, tar, and Perl on your CentOS 8 server. You can install all those packages using the following command:

				
					dnf install wget tar perl -y
				
			

Once all the packages are installed, you can move to the next step.

Download Webmin Installer

By default, the Webmin package is not included in the CentOS 8 default repo. So you will need to install it from the installer. Let’s download the latest version of the Webmin installer file with the following command:

				
					wget https://www.webmin.com/download/webmin-current.tar.gz
				
			

Once the installer is downloaded, extract the downloaded file with the following command:

				
					tar xvf webmin-current.tar.gz
				
			

You can list the contents of the extracted directory using the ls command.

				
					ls 
				
			

You should see the following output:

				
					webmin-1.994  webmin-current.tar.gz
				
			

Install Webmin

Now, create a directory to store Webmin configuration using the following command:

				
					mkdir -p /usr/local/webmin
				
			

Next, run the Webmin installer file to start the installation.

				
					./webmin-1.994/setup.sh /usr/local/webmin/
				
			

This will install Webmin to /usr/local/webmin. During installation, the script may prompt you to customize some configuration options.

				
					Installing Webmin from /root/webmin-1.994 to /usr/local/webmin/ ...

***********************************************************************
Webmin uses separate directories for configuration files and log files.
Unless you want to run multiple versions of Webmin at the same time
you can just accept the defaults.

Config file directory [/etc/webmin]: 
Log file directory [/var/webmin]: 

***********************************************************************
Webmin is written entirely in Perl. Please enter the full path to the
Perl 5 interpreter on your system.

Full path to perl (default /usr/bin/perl): 

Testing Perl ...
Perl seems to be installed ok

***********************************************************************
Operating system name:    CentOS 8
Operating system version: 8.5

***********************************************************************
Webmin uses its own password protected web server to provide access
to the administration programs. The setup script needs to know :
 - What port to run the web server on. There must not be another
   web server already using this port.
 - The login name required to access the web server.
 - The password required to access the web server.
 - If the webserver should use SSL (if your system supports it).
 - Whether to start webmin at boot time.

Web server port (default 10000): 

Login name (default admin): 
Login password: 
Password again: 
Use SSL (y/n): n
Start Webmin at boot time (y/n): y

***********************************************************************
Webmin has been installed and started successfully. Use your web
browser to go to

  http://centos8:10000/

and login with the name and password you entered previously.

				
			

After the successful installation, you can verify the Webmin service status using the following command:

				
					service webmin status
				
			

You should see the following output:

				
					● webmin.service - Webmin server daemon
   Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-06-18 03:31:06 UTC; 13s ago
  Process: 6592 ExecStart=/etc/webmin/.start-init (code=exited, status=0/SUCCESS)
 Main PID: 6593 (miniserv.pl)
    Tasks: 1 (limit: 11412)
   Memory: 60.0M
   CGroup: /system.slice/webmin.service
           └─6593 /usr/bin/perl /usr/local/webmin//miniserv.pl /etc/webmin/miniserv.conf

Jun 18 03:31:05 centos8 systemd[1]: Starting Webmin server daemon...
Jun 18 03:31:05 centos8 .start-init[6592]: Starting Webmin server in /usr/local/webmin/
Jun 18 03:31:05 centos8 webmin[6592]: Webmin starting
				
			

By default, Webmin listens on port 10000. You can check it with the following command:

				
					ss -antpl | grep 10000
				
			

You should see the Webmin listening port in the following output:

				
					LISTEN 0      128          0.0.0.0:10000      0.0.0.0:*    users:(("miniserv.pl",pid=6593,fd=7))
				
			

Configure the Firewall

If your Webmin server is behind a firewall, the Webmin server port may be blocked. In this case, you will need to configure firewall to allow the Webmin port. You can allow the Webmin port using the following command:

				
					firewall-cmd --add-port=10000/tcp --permanent
				
			

Next, run the following command to apply the changes:

				
					firewall-cmd --reload

				
			

Great and now in this part of the tutorial how to install Webmin on CentOS 8 we can access Webmin.

Access the Webmin Web interface

After the installation of Webmin, navigate to https://your-domain-name:10000 in your web browser. You will be redirected to the Webmin login screen:

Provide your Webmin admin username, password and click on the Sign in button. You should see the Webmin dashboard on the following screen:

Enable Let's Encrypt SSL on Webmin

By default, Webmin is not secured. So it is a good idea to install and configure Let’s Encrypt SSL for Webmin. First, install the Apache and Certbot client package with the following command:

				
					dnf install epel-release -y
dnf install httpd certbot python3-certbot-apache -y
				
			

Next, start and enable the Apache service using the following command:

				
					systemctl start httpd
systemctl enable httpd
				
			

Next, log in to Webmin interface and change the Webmin default hostname with a fully qualified hostname.

Next, click on the Webmin => Webmin Configuration. You should see the following page:

Click on the SSL Encryption. You should see the following page:

Click on the Let’s Encrypt Tab, Provide your domain name in the Hostnames field, Provide your website root directory in the Other directory fields, and click on the Request Certificate button to install the certificate.

Great effort! We have just learned how to install Webmin on CentOS 8 Tutorial ( Step by Step). Thank you for reading until the very end. Let’s summarize. 

How to Install Webmin on CentOS 8 Conclusion

In this post, we explained how to install Webmin on CentOS 8 server. We also show you how to install Let’s Encrypt SSL on Webmin to access the Webmin securely via HTTPS protocol. Webmin is a great tool for system administrators and beginner users to manage Linux servers via a web browser. With Webmin, you can perform several tasks, including installing and configuring DNS, NFS, FTP, Apache, Package management, Service management and more.

Avatar for Hitesh Jethva
Hitesh Jethva

I am a fan of open source technology and have more than 10 years of experience working with Linux and Open Source technologies. I am one of the Linux technical writers for Cloud Infrastructure Services.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x