How to Install Webmin on Ubuntu 20.04 / Debian 11 Tutorial (Step by Step)

How to Install Webmin on Ubuntu 20.04 / Debian 11. Managing servers can be tricky hence there is Webmin. It is like admin control panel can make it easier due to web based system administration interface for Unix. With the help of Webmin we can eliminat the need to manually edit Unix configuration files and allows a system to be managed from the console or remote access. Webmin is a application platform that manages and controls Linux server.  With Webmin you can also set up Apache, DNS and FTP server and more.

What is Webmin

Webmin is a free, open source application that is used for Linux server administration. Users who like managing all aspects of Linux VPS or dedicated servers from a graphical interface should use Webmin.

It is suitable as Perl based server control panel, which is considered convenient for unmanaged Linux servers, especially Cloud Server Hosting or Bare Metal Server Hosting. Moreover, this application can be installed on several Linux/Unix distributions, including Debian, Gentoo and Solaris. Hence, if you are thinking of migrating from CentOS as it’s near discontinuation, you can do so seamlessly.

Its control panel constitutes some of the following essential features:

BIND DNS – This server option is available for RNDC, zones, clustering and implementing DNSSEC.

Apache Web Server – It is supported by Apache Web Server that helps in managing virtual hosts for the domain, installing Apache modules and minimizing server HTTP header for better security.

MySQL and PostgreSQL – This database management proves to be beneficial after installing the respective module from the Webmin dashboard.

Email Servers – These are built on Exim, Dovecot, Postfix, or qmail that are supported by default. It also includes the SpamAssassin package, which is available for spam filtering.

Graphical File Management – It streamlines the process of editing, uploading and downloading files. It also enables you to change file permissions to restrict access.

PHP – Its versions and variables can be effortlessly configured from the dashboard after it is installed from the command shell.

Native Server Security Feature – It involves IPTables firewall, log viewers, raid configuration, directory protection, two factor authentication, etc., while the third party modules are included in the application.

Furthermore, you can extend the functionalities of Webmin by installing add ons for special use cases:

Usermin – With the help of Usermin, you can create restricted Webmin accounts for website owners so that all the files are managed within their core directory.

Virtualmin – It provides resellers hosting businesses.

Benefits of Webmin

Webmin provides its users the following benefits:

  • It reviews real time resources like CPU, MEM, STG, and PROC.
  • It is highly extensible and flexible.
  • It includes Virtualmin, which provides resellers with the best hosting businesses.
  • It is considered the best DNS Zone Editor.
  • It streamlines the process of modifying applications.
  • Its straightforward interface makes it easy to use among its users.
  • It is a free, open source application for Linux Server administrators.
  • It is compatible with multiple operating systems.
  • It constitutes an active community in the forum hosted at SourceForge.net.
  • Webmin enables you o manage your package by just clicking on the system menu items and then software packages.
  • By selecting Webmin users in the menu, you can add or remove users.
  • It also enables you to browse or upload files by selecting others and File Manager.
  • It enables you to customize and configure Webmin by selecting Webmin configuration.
  • It allows you to control the daemon’s start and stop during system startup and shutdown. It also provides access to all run levels and the ability to add a custom application to startup and shut down.

Follow this post to show you how to install Webmin on Ubuntu 20.04 / Debian 11.

How to Install Webmin on Ubuntu 20.04 / Debian 11

Add Webmin Repository

By default, the Webmin package is not included in the Debian or Ubuntu default repository. So you will need to add the Webmin repository to the APT.

First, install the required dependencies using the following command:

				
					apt-get install gnupg2 curl wget  -y
				
			

Once all the dependencies are installed, edit the APT source.list file and add the Webmin repository:

				
					nano /etc/apt/sources.list
				
			

Add the following line:

				
					deb http://download.webmin.com/download/repository sarge contrib
				
			

Save and close the file then import the Webmin GPG key using the following command:

				
					wget -q -O- http://www.webmin.com/jcameron-key.asc | apt-key add
				
			

Update the repository with the following command:

				
					apt-get update -y
				
			

Next, verify the Webmin repository using the following command:

				
					apt-cache policy webmin
				
			

You will get the following output:

				
					webmin:
  Installed: (none)
  Candidate: 1.991
  Version table:
 *** 1.991 500
        500 http://download.webmin.com/download/repository sarge/contrib amd64 Packages
        500 http://download.webmin.com/download/repository sarge/contrib i386 Packages
        100 /var/lib/dpkg/status
				
			

Install Webmin on Ubuntu 20.04 / Debian 11

At this point, the Webmin repository is added to the APT. You can now install the Webmin with the following command:

				
					apt-get install webmin -y
				
			

Once the Webmin is installed, you will get the following output:

				
					Preparing to unpack .../archives/webmin_1.991_all.deb ...
Unpacking webmin (1.991) ...
Setting up libio-pty-perl (1:1.12-1) ...
Setting up perl-openssl-defaults:amd64 (4) ...
Setting up libauthen-pam-perl (0.16-3build7) ...
Setting up libnet-ssleay-perl (1.88-2ubuntu1) ...
Setting up webmin (1.991) ...
Webmin install complete. You can now login to https://ubuntu:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.15) ...

				
			

You can now verify the Webmin version using the following command:

				
					webmin --version
				
			

You should see the Webmin version in the following output:

				
					1.991
				
			

Manage Webmin Service

By default, Webmin service is managed by systemd. You can easily manage it using the systemctl command.

To start the Webmin service and enable it to start at system reboot, run the following command:

				
					systemctl start webmin
systemctl enable webmin
				
			

To check the status of the Webmin, run the following command:

				
					systemctl status webmin
				
			

You should see the Webmin running status in the following output:

				
					● webmin.service - LSB: web-based administration interface for Unix systems
     Loaded: loaded (/etc/init.d/webmin; generated)
     Active: active (running) since Thu 2022-05-19 16:12:32 UTC; 1min 18s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 1 (limit: 4686)
     Memory: 28.9M
     CGroup: /system.slice/webmin.service
             └─3141 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf

May 19 16:12:30 ubuntu systemd[1]: Starting LSB: web-based administration interface for Unix systems...
May 19 16:12:30 ubuntu perl[3132]: pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=root
May 19 16:12:32 ubuntu webmin[3132]: Webmin starting
May 19 16:12:32 ubuntu systemd[1]: Started LSB: web-based administration interface for Unix systems.

				
			

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

				
					ss -altnp | grep 10000
				
			

You will get the following output:

				
					LISTEN    0         4096               0.0.0.0:10000            0.0.0.0:*        users:(("miniserv.pl",pid=3141,fd=5)) 
				
			

Great job in learning  How to Install Webmin on Ubuntu 20.04 / Debian 11. Now we will access webmin interface.

Access Webmin Web Interface

1. Open your web browser and access the Webmin web interface using the URL https://your-server-ip:10000. You should see the Webmin SSL certificate warning page:

2. Click on the Proceed button. You should see the Webmin login page:

3. Provide your username, password and click on the Sign in button. You should see the Webmin dashboard page:

4. Click on the Tools => Command Shell. You should see the Webmin command shell in the following page:

Here, you can run any command on your server.

5. Click on the Tools => File Manager. You should see the File Manager in the following page:

You can use the File Manager to upload and download files to the Webmin server.

6. Click on the System = Software Packages. You should see the package manager in the following page:

Using the package manager, you can install and remove any packages on the Webmin server.

Enable Let's Encrypt SSL on Webmin

By default, Webmin is configured to use the self signed certificate. It is recommended to use the trusted SSL certificate to secure your website.

First, install the Apache and Certbot package using the following command:

				
					apt-get install apache2 certbot -y
				
			

Once both packages are installed, start the Apache service and enable it to start at system reboot:

				
					systemctl start apache2
systemctl enable apache2
				
			

Now, 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 Hostnames field, Provide your website root directory in Other directory fields, and click on the Request Certificate button to install the certificate.

How to Install Webmin on Ubuntu 20.04 / Debian 11 Conclusion

In this guide, we explained how to install Webmin on Ubuntu 20.04 / Debian 11. We also installed the Let’s Encrypt SSL on Webmin and secure it. You can now start managing your server from the web browser.

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