Webmin is a web-based tool interface for system administrator to manage Linux and Unix systems and servers. Using Webmin, we can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to edit Unix configuration files like /etc/passwd, and lets use manage a system from the console or remotely.
In this article learn how to install and configure Webmin application. The details of Webmin installation will be detail discussed below.
Webmin Installation on Ubuntu 22.04
Before we begin the Webmin installation on Ubuntu 22.04 tutorial, we will need to prepare any requirements as mention below :
- an Ubuntu 22.04 server system
- a non-root user with sudo privileges
- a firewall enabled to block non-essential ports
- sufficient disk and good internet access
The Webmin Installation steps are as described below :
- Update System
- Install Webmin on Ubuntu 22.04 server
- Access Webmin web interface
Each item will be explained in detail in the following sub-chapters.
1. Update System
In this step we will update our local packages software, this task is to make sure if we are accessing the latest packages versions. This task will cut down the installation time and it also helps prevent zero-day exploits against outdated software. To update our packages software we will use command line :
$ sudo apt update
Output :
ramans@infodiginet:~$ sudo apt update [sudo] password for ramans: Hit:1 http://id.archive.ubuntu.com/ubuntu jammy InRelease Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Hit:3 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:4 http://id.archive.ubuntu.com/ubuntu jammy-backports InRelease Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [20,0 kB] Get:6 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [13,3 kB] Fetched 144 kB in 6s (25,5 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date.
2. Installing Webmin on Ubuntu 22.04 server
The Webmin installation process begins with adding the Webmin repository to the system. This is done by downloading the Webmin GPG key and converting it into APT format and adding it to the system repository list located at /etc/apt/sources.list file.
2.1. Download Webmin GPG Key
$ curl -fsSL https://download.webmin.com/jcameron-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpg
Output :
ramans@infodiginet:~$ curl -fsSL https://download.webmin.com/jcameron-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/webmin.gpg File '/usr/share/keyrings/webmin.gpg' exists. Overwrite? (y/N) y
Then adding it to repository list file, by appedning one row txt file as shown below.
$ sudo vi /etc/apt/sources.list
deb [signed-by=/usr/share/keyrings/webmin.gpg] http://download.webmin.com/download/repository sarge contrib
2.2 Update System Package
After adding Webmin repository to the list, then we will update system to refresh existing repository package.
$ sudo apt update
Output :
ramans@infodiginet:~$ sudo apt update [sudo] password for ramans: Hit:1 http://id.archive.ubuntu.com/ubuntu jammy InRelease Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] Get:3 http://id.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB] Get:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [20,0 kB] Get:5 http://id.archive.ubuntu.com/ubuntu jammy-backports InRelease [99,8 kB] Get:6 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [95,0 kB] Get:7 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [13,3 kB] Get:8 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [757 kB] Get:9 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe i386 Packages [554 kB] Get:10 http://id.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [257 kB] Ign:11 http://download.webmin.com/download/repository sarge InRelease Get:12 http://id.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B] Get:13 http://id.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [11,7 kB] Get:14 http://download.webmin.com/download/repository sarge Release [16,9 kB] Get:15 http://download.webmin.com/download/repository sarge Release.gpg [173 B] Get:16 http://download.webmin.com/download/repository sarge/contrib amd64 Packages [1.402 B] Get:17 http://download.webmin.com/download/repository sarge/contrib i386 Packages [1.402 B] Fetched 2.054 kB in 9s (231 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date.
2.3 Install Webmin
Install Webmin by submitting command line :
$ sudo apt install webmin
Output :
ramans@infodiginet:~$ sudo apt install webmin Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: libflashrom1 libftdi1-2 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libauthen-pam-perl libio-pty-perl The following NEW packages will be installed: libauthen-pam-perl libio-pty-perl webmin 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 34,2 MB of archives. After this operation, 193 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://download.webmin.com/download/repository sarge/contrib amd64 webmin all 2.010 [34,2 MB] Get:2 http://id.archive.ubuntu.com/ubuntu jammy/universe amd64 libauthen-pam-perl amd64 0.16-3build9 [25,1 kB] Get:3 http://id.archive.ubuntu.com/ubuntu jammy/main amd64 libio-pty-perl amd64 1:1.15-2build2 [35,1 kB] Ign:1 http://download.webmin.com/download/repository sarge/contrib amd64 webmin all 2.010 Get:1 http://download.webmin.com/download/repository sarge/contrib amd64 webmin all 2.010 [34,2 MB] Fetched 33,2 MB in 5min 5s (109 kB/s) Selecting previously unselected package libauthen-pam-perl. (Reading database ... 196363 files and directories currently installed.) Preparing to unpack .../libauthen-pam-perl_0.16-3build9_amd64.deb ... Unpacking libauthen-pam-perl (0.16-3build9) ... Selecting previously unselected package libio-pty-perl. Preparing to unpack .../libio-pty-perl_1%3a1.15-2build2_amd64.deb ... Unpacking libio-pty-perl (1:1.15-2build2) ... Selecting previously unselected package webmin. Preparing to unpack .../archives/webmin_2.010_all.deb ... Unpacking webmin (2.010) ... Setting up libio-pty-perl (1:1.15-2build2) ... Setting up libauthen-pam-perl (0.16-3build9) ... Setting up webmin (2.010) ... Processing triggers for man-db (2.10.2-1) ...
2.3. Verify Webmin Installation
After installation was completed done, then we will verify it by verifying its service.
$ sudo systemctl status webmin
Output :
ramans@infodiginet:~$ sudo systemctl status webmin [sudo] password for ramans: ● webmin.service - Webmin server daemon Loaded: loaded (/lib/systemd/system/webmin.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-11-30 14:17:33 WIB; 3min 49s ago Process: 973 ExecStart=/usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf (code=exited, status=0/SUCCESS) Main PID: 1422 (miniserv.pl) Tasks: 1 (limit: 4584) Memory: 384.0M CPU: 14.097s CGroup: /system.slice/webmin.service └─1422 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf Nov 30 14:17:28 infodiginet systemd[1]: Starting Webmin server daemon... Nov 30 14:17:29 infodiginet perl[973]: pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty= r> Nov 30 14:17:32 infodiginet webmin[973]: Webmin starting Nov 30 14:17:33 infodiginet systemd[1]: Started Webmin server daemon.
3. Accessing Webmin Web Interface
At this point, we will try to access Webmin web interface. By default, Webmin is already configured with HTTPS, but it uses a self-signed, untrusted certificate. The default port of Webmin is binding on 10000. So we will hit URL at https://ip_address_or_hostname:10000.

To log in to Webmin web interface, we need a root or non root system user. In this tutorial we will use a non-root system user. After login in, we will see the Webmin dashboard, as shown below.

Conclusion
In this short tutorial, we have learned how to install Webmin, a system monitoring tools on Ubuntu 22.04 LTS operating system. I hope this tutorial will be helpful.