How to Install Webmin with free Let's Encrypt SSL Certificate on Ubuntu 24.04

Webmin is a web-based application for managing Linux-based operating systems. It is ideal for users who prefer not to use the command line interface. With Webmin, you can edit configuration files, set up web and FTP servers, run commands, install packages, manage email forwarding, and perform various administrative tasks - all via a web browser. It offers a simple, user-friendly interface for managing remote Linux systems.

In this tutorial, we will guide you through the process of installing Webmin and securing it with Let's Encrypt on an Ubuntu 24.04 server.

Prerequisites

  • A server running Ubuntu 24.04.
  • A valid domain name pointed to your server.
  • A root password configured on your server.

Getting Started

Before beginning, it’s advisable to update your system packages to the latest versions. Run the following commands to update and upgrade your system:

apt update -y
apt upgrade -y

After the update completes, it's a good idea to reboot your system to apply all changes:

reboot

Install Webmin on Ubuntu 24.04

Webmin is not included in the Ubuntu standard repositories by default, so you need to add the Webmin repository to your system.

First, install the necessary packages with the following command:

apt install software-properties-common apt-transport-https wget -y

Next, import the Webmin GPG key with this command:

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

Now, add the Webmin repository to your system:

add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib"

After adding the repository, install Webmin using the following command:

apt install webmin -y

Once the installation is complete, verify the Webmin service status with this command:

systemctl status webmin

If Webmin is running correctly, you should see output similar to this:

? webmin.service - Webmin server daemon
     Loaded: loaded (/lib/systemd/system/webmin.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 07:32:41 UTC; 42s ago
    Process: 58866 ExecStart=/usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf (code=exited, status=0/SUCCESS)
   Main PID: 58867 (miniserv.pl)
      Tasks: 1 (limit: 4579)
     Memory: 27.8M
        CPU: 644ms
     CGroup: /system.slice/webmin.service
             ??58867 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf

Aug 30 07:32:38 ubuntu2404 systemd[1]: Starting Webmin server daemon...
Aug 30 07:32:41 ubuntu2404 webmin[58866]: Webmin starting
Aug 30 07:32:41 ubuntu2404 systemd[1]: Started Webmin server daemon.

To stop the Webmin service, use the following command:

systemctl stop webmin

At this point, Webmin should be installed and listening on port 10000. Verify this with:

ss -antpl

The output should indicate that Webmin is listening on port 10000:

State       Recv-Q      Send-Q           Local Address:Port            Peer Address:Port     Process                                          
LISTEN      0           4096                   0.0.0.0:10000                0.0.0.0:*         users:(("miniserv.pl",pid=58867,fd=5))    

Access Webmin Web UI

To access the Webmin interface, open your web browser and navigate to https://your-ip-address:10000. You will see a warning about an untrusted SSL certificate, as Webmin uses a self-signed certificate by default:

Webmin access

Ignore the warning and proceed to the site. You should be presented with the Webmin login page:

Login to Webmin

Enter your root username and password, then click the Sign in button. You will then see the Webmin dashboard:

Webmin Dashboard

Using Webmin

With Webmin, you can perform various administrative tasks on your Linux system. Below, we’ll demonstrate how to update packages, install Git, and create a new user using the Webmin web interface.

Install and Update Packages

You can easily install new packages and update existing ones using Webmin.

For instance, to install the net-tools package, navigate to System => Software Packages. The following screen will appear:

Install packages

Select "Package from APT", enter net-tools, and click the Install button. The package will be installed, and you'll see the confirmation screen:

Linux package installation with Webmin

Create and Manage Users

Webmin also allows you to create, edit, and delete user accounts.

To create a new user, go to System => Users and Groups. You will see the following screen:

manage Linux users with Webmin

Click on the Create a new user button. The Create User screen will appear:

Create new Linux user

Enter the username, set the User ID to Automatic, provide the Real Name, choose Automatic for the Home Directory, and select Normal Password. Enter your desired password and click the Create button. The new user will appear in the user list:

List of Linux users

Enable SSL on Webmin

Webmin is configured to use a self-signed SSL certificate by default. It is recommended to secure Webmin with a trusted SSL certificate.

First, install Apache and Certbot with the following command:

apt-get install apache2 certbot python3-certbot-apache -y

After installing Apache, start the service and enable it to start on boot:

systemctl start apache2
systemctl enable apache2

Verify the status of the Apache service:

systemctl status apache2

The output should indicate that Apache is active and running:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 07:47:13 UTC; 11s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 62034 (apache2)
      Tasks: 55 (limit: 4579)
     Memory: 5.1M
        CPU: 39ms
     CGroup: /system.slice/apache2.service
             ??62034 /usr/sbin/apache2 -k start
             ??62038 /usr/sbin/apache2 -k start
             ??62039 /usr/sbin/apache2 -k start

Aug 30 07:47:12 webmin.linuxbuz.com systemd[1]: Starting The Apache HTTP Server...
Aug 30 07:47:13 webmin.linuxbuz.com systemd[1]: Started The Apache HTTP Server.

In the Webmin interface, go to Networking => Network Configuration, then click on Hostname and DNS. You should see the following screen:

Server hostname configuration

Enter your fully qualified domain name in the hostname field and click Save to apply the changes.

Next, go to Webmin => Webmin Configuration. The following screen will appear:

Webmin configuration

Click on SSL Encryption to access the SSL settings:

SSL Encryption

Under the Let's Encrypt tab, enter your domain name in the Hostnames field, specify the website root directory in the Other directory fields, and click Request Certificate to obtain and install the SSL certificate.

Finally, log out of Webmin and log in again using the secure URL https://webmin.yourdomain.com.

Conclusion

Congratulations! You have successfully installed Webmin and secured it with Let's Encrypt SSL on Ubuntu 24.04. With Webmin, you can easily manage your Linux system via a web-based interface. If you have any questions, feel free to ask for help.

Share this page:

0 Comment(s)