The day-to-day activities of a system admin revolve around server administration. They are tasked with managing several aspects such as domain names, storage, services and monitoring of processes. This is hard at times especially when the complexity in the environment increases.
Several tools like Webmin, Virtualmin, and DirectAdmin play an essential role in managing and administering servers and hosting services. They make it easier to configure several server settings, install packages, manage users and groups, set up firewall rules, manage services, and perform system backups. You also get centralized control that streamlines administrative tasks across their infrastructure.
Webmin is a web-based panel that provides a graphical interface to manage and monitor systems with simple point-and-click. It also users to perform various tasks such as user and group management, package installation, network configuration, firewall setup, etc. Virtualmin is an extension of Webmin that allows users to manage websites and web applications. It comes with a lot of domain management utilities as well as antivirus and spam filtering mechanisms. It also offers a dashboard to monitor user resource utilization and analytics features.
DirectAdmin is another web hosting control panel that can be an alternative to Webmin and Virtualmin. It also comes with a friendly UI for website owners, resellers, and administrators to manage hosting accounts, databases, FTP, emails etc. It is known for its simplicity and low resource consumption. This is a commercial product that requires one to have a licence to use it.
Follow this guide to install Webmin / Virtualmin / DirectAdmin on Debian 12.
1. Update system
Before we begin, it is important to ensure the system is updated:
sudo apt update -y
You also need to set a hostname on the system:
sudo hostnamectl set-hostname hosting.computingforgeeks.com
2. Install Webmin / Virtualmin / DirectAdmin
The steps used when installing Webmin / Virtualmin / DirectAdmin are a bit different. Install any of the desired panels using the below steps.
Option 1: Install Webmin / Virtualmin on Debian
Webmin and Virtualmin can be installed all together using a single script. The script that automates the installation of all the required tools can be downloaded using the below command:
wget http://software.virtualmin.com/gpl/scripts/install.sh
Make the script executable:
chmod a+x install.sh
The execute the script:
sudo ./install.sh
Proceed as shown.
The systems currently supported by the install script are:
Red Hat Enterprise Linux and derivatives
- RHEL 8 and 9 on x86_64
- Alma and Rocky 8 and 9 on x86_64
- CentOS 7 on x86_64
Debian Linux and derivatives
- Debian 10, 11 and 12 on i386 and amd64
- Ubuntu 20.04 LTS and 22.04 LTS on i386 and amd64
If your OS/version/arch is not listed, installation will fail. More
details about the systems supported by the script can be found here:
https://www.virtualmin.com/os-support
The selected package bundle is LAMP and the size of install is
full. It will require up to 2 GB of disk space.
Exit and re-run this script with --help flag to see available options.
Continue? (y/n) y
Once complete, you will see this:

Allow the service through the firewall:
sudo ufw allow 10000/tcp
Option 2: Install DirectAdmin on Debian
To be able to install and use DirectAdmin, you need to have a license. To achieve that, sign in to the client account and navigate to the “view” option next to your license. You need to ensure they the licence is verified and active.
Then download and run the installation script using the command as root
bash <(curl -fsSL https://download.directadmin.com/setup.sh) 'Provide-license-key-here'
Once complete, allow the port through the firewall:
sudo ufw allow 2222/tcp
3. Use Install Webmin / Virtualmin / DirectAdmin
You can then access the web interface available on the URL for Webmin / Virtualmin / DirectAdmin.
For DirectAdmin, use http://domain_name:2222 to access the UI and login in with the username and password provided after running the installation. Below is a demo of how the DirectAdmin UI looks.

On the above dashboard, you can easily manage the databases, emails, files, domains etc.

For Webmin / Virtualmin, use the URL https://domain_name:10000 and log in using the root user creds for the host.

Once connected, you will see this:

Go through the settings, and allow the Virtualmin libraries to be preloaded to reduce issues with slow UI and navigation.

Once all the settings are done, you can then create a domain on Virtualmin. This can be done on the Virtualmin dashboard by clicking on Create new Virtual Server

Provide the required details:

Once created, you will have the site as shown.

Try accessing it using the domain name:

You will also have the index files created in the subdomain_name/Public_html directory as shown.

You can demonstrate if all works by creating a directory here with the name test and then a simple HelloWorld HTML file with the content below:
<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a simple HTML page displaying "Hello, World!"</p>
</body>
</html>
Sample:

Now try accessing the site using the URL https://domain_name/test

Verdict
In this guide, we’ve learned how to install Webmin / Virtualmin / DirectAdmin on Debian 12. You can now easily manage your server and hosting using Webmin / Virtualmin / DirectAdmin. I hope this was helpful.
See more guides on our page:
- How To Install ISPConfig on Debian 12 (Bookworm)
- Install and Configure Virtualmin on CentOS 8 | RHEL 8
- How To Install Webmin on FreeBSD 12|FreeBSD 13