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
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:
PHP – Its versions and variables can be effortlessly configured from the dashboard after it is installed from the command shell.
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.
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:
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:
You should see the Webmin version in the following output:
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: Starting LSB: web-based administration interface for Unix systems... May 19 16:12:30 ubuntu perl: pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=root May 19 16:12:32 ubuntu webmin: Webmin starting May 19 16:12:32 ubuntu systemd: 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.
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.