{"id":13253,"date":"2025-12-20T11:14:47","date_gmt":"2025-12-20T05:44:47","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=13253"},"modified":"2025-12-24T16:17:57","modified_gmt":"2025-12-24T10:47:57","slug":"use-webmin-on-linux","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/use-webmin-on-linux","title":{"rendered":"How to Use Webmin on Linux Server with SSL and 2FA"},"content":{"rendered":"\n<p>Webmin is a free, browser-based control panel for Linux that lets you manage users, services, packages, firewalls, and servers without the command line. To use Webmin on a Linux server: install the Webmin package, open port 10000, visit https:\/\/your-server:10000, log in as root or a sudo user, secure it with SSL\/2FA, and manage tasks via modules.<\/p>\n\n\n\n<p>If you\u2019re learning how to use Webmin on a Linux server, this guide walks you through installation, first login, essential modules, security hardening, and troubleshooting. <\/p>\n\n\n\n<p>Written from a hosting engineer\u2019s perspective, it covers Ubuntu\/Debian and RHEL-based systems, plus best practices we use daily for production servers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-is-webmin-and-why-use-it\"><strong>What is Webmin and Why Use it?<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>Webmin is a lightweight, modular control panel for Linux. It exposes system administration tasks\u2014like managing users, SSH, firewall rules, Apache\/Nginx, MySQL\/MariaDB, cron, backups\u2014through a secure web UI. It\u2019s ideal for admins who prefer a graphical interface or need to delegate routine work without granting full shell access.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1168\" height=\"784\" src=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-Webmin-and-Why-Use-It.png\" alt=\"\" class=\"wp-image-13547 size-full\" srcset=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-Webmin-and-Why-Use-It.png 1168w, https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-Webmin-and-Why-Use-It-150x101.png 150w\" sizes=\"auto, (max-width: 1168px) 100vw, 1168px\" \/><\/figure><\/div>\n\n\n\n<p>Unlike heavy hosting panels, Webmin stays close to the OS. It edits native configuration files, so your command-line workflows remain compatible. Pair it with Virtualmin (a module for hosting multiple websites) to run a lean, flexible <a href=\"https:\/\/www.youstable.com\/blog\/benefits-of-web-hosting-control-panel-for-managed-hosting\/\">web hosting<\/a> stack.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-supported-linux-distributions\"><strong>Prerequisites and Supported Linux Distributions<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"system-and-access-requirements\"><strong>System and access requirements<\/strong><\/h3>\n\n\n\n<p>Before <a href=\"https:\/\/www.youstable.com\/blog\/install-webmin-on-linux\/\">installing Webmin<\/a>, ensure you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A supported Linux distro (Ubuntu, Debian, AlmaLinux, Rocky Linux, RHEL, or openSUSE)<\/li>\n\n\n\n<li>Root or sudo-enabled user<\/li>\n\n\n\n<li>Open port 10000\/tcp for the Webmin interface<\/li>\n\n\n\n<li>Basic packages: OpenSSL, Perl, and a firewall (UFW or firewalld)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"network-and-security-basics\"><strong>Network and security basics<\/strong><\/h3>\n\n\n\n<p>Webmin binds to port 10000 over HTTPS by default (self-signed). Plan to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Allow inbound TCP\/10000 only from your IP(s)<\/li>\n\n\n\n<li>Replace the self-signed cert with <a href=\"https:\/\/www.youstable.com\/blog\/what-is-lets-encrypt-on-linux-server\/\">Let\u2019s Encrypt<\/a> or your CA<\/li>\n\n\n\n<li>Change the default port and enable 2FA for extra security<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-webmin-on-popular-linux-distros\"><strong>Install Webmin on Popular Linux Distros<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ubuntu-debian\"><strong>Ubuntu \/ Debian<\/strong><\/h3>\n\n\n\n<p><strong>Add the official repository and install Webmin:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install -y wget gnupg2 apt-transport-https\nwget -qO- https:\/\/download.webmin.com\/jcameron-key.asc | sudo gpg --dearmor -o \/usr\/share\/keyrings\/webmin.gpg\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/webmin.gpg] https:\/\/download.webmin.com\/download\/repository sarge contrib\" | sudo tee \/etc\/apt\/sources.list.d\/webmin.list\nsudo apt update\nsudo apt install -y webmin\n\n# Open the firewall (UFW)\nsudo ufw allow 10000\/tcp<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"almalinux-rocky-linux-rhel-centos\"><strong>AlmaLinux \/ Rocky Linux \/ RHEL \/ CentOS<\/strong><\/h3>\n\n\n\n<p><strong>Create a YUM\/DNF repo file, import the key, and install:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/yum.repos.d\/webmin.repo &gt;\/dev\/null &lt;&lt;'EOF'\n&#91;Webmin]\nname=Webmin\nbaseurl=http:\/\/download.webmin.com\/download\/yum\nenabled=1\ngpgcheck=1\ngpgkey=http:\/\/www.webmin.com\/jcameron-key.asc\nEOF\n\nsudo dnf install -y perl perl-Net-SSLeay openssl unzip\nsudo dnf install -y webmin\n\n# Open the firewall (firewalld)\nsudo firewall-cmd --permanent --add-port=10000\/tcp\nsudo firewall-cmd --reload<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"opensuse-sles\"><strong>openSUSE \/ SLES<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rpm --import http:\/\/www.webmin.com\/jcameron-key.asc\nsudo zypper addrepo -f http:\/\/download.webmin.com\/download\/yum webmin\nsudo zypper refresh\nsudo zypper install -y webmin<\/code><\/pre>\n\n\n\n<p>After installation, Webmin runs as a service named <code>webmin<\/code> and listens on port 10000.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"first-login-and-dashboard-tour\"><strong>First Login and Dashboard Tour<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"access-the-interface\"><strong>Access the interface<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Browse to https:\/\/YOUR-SERVER-IP:10000<\/li>\n\n\n\n<li>Log in as root or a sudo-enabled user<\/li>\n\n\n\n<li>Accept the initial self-signed certificate warning (we\u2019ll replace it shortly)<\/li>\n<\/ul>\n\n\n\n<p>The dashboard shows system info, CPU\/RAM usage, running services, and quick links to modules such as System, Servers, Networking, and <a href=\"https:\/\/www.youstable.com\/blog\/how-to-configure-webmin-on-linux\/\">Webmin Configuration<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"understand-webmin-modules\"><strong>Understand Webmin modules<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>System: <\/strong>Users &amp; Groups, Bootup and Shutdown, Software Package Updates, Scheduled Cron Jobs<\/li>\n\n\n\n<li><strong>Servers: <\/strong>Apache Webserver, Nginx, MySQL\/MariaDB, Postfix, Dovecot, BIND DNS<\/li>\n\n\n\n<li><strong>Networking: <\/strong>FirewallD or UFW, Linux Firewall, Network Configuration<\/li>\n\n\n\n<li><strong>Hardware: <\/strong>Partitions, RAID, Sensors (where supported)<\/li>\n\n\n\n<li><strong>Webmin: <\/strong>Configuration, Webmin Users, Two-Factor Auth, Backup Configuration Files<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"secure-webmin-must-do\"><strong>Secure Webmin (Must-Do)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"enable-a-valid-ssl-certificate-lets-encrypt\"><strong>Enable a valid SSL certificate (Let\u2019s Encrypt)<\/strong><\/h3>\n\n\n\n<p>Replace the self-signed cert so browsers trust your panel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Point a DNS record (e.g., panel.example.com) to your server IP<\/li>\n\n\n\n<li>In Webmin &gt; Webmin Configuration &gt; SSL Encryption &gt; Let\u2019s Encrypt, request a certificate for your hostname<\/li>\n\n\n\n<li>Set automatic renewal<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"change-the-default-port-and-restrict-access\"><strong>Change the default port and restrict access<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webmin &gt; Webmin Configuration &gt; Ports and Addresses: change 10000 to a high, random port<\/li>\n\n\n\n<li>Webmin &gt; Webmin Configuration &gt; IP Access Control: allow only your management IPs<\/li>\n\n\n\n<li>Firewall: allow the new port and remove 10000<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># UFW example\nsudo ufw allow 10443\/tcp\nsudo ufw delete allow 10000\/tcp\n\n# firewalld example\nsudo firewall-cmd --permanent --add-port=10443\/tcp\nsudo firewall-cmd --permanent --remove-port=10000\/tcp\nsudo firewall-cmd --reload<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"harden-authentication\"><strong>Harden authentication<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use a non-root sudo user for Webmin login<\/li>\n\n\n\n<li><strong>Enable 2FA: <\/strong>Webmin &gt; Webmin Users &gt; Two-Factor Authentication<\/li>\n\n\n\n<li>Disable unused modules and remove unneeded packages<\/li>\n\n\n\n<li>Keep the OS and Webmin updated<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"essential-webmin-tasks-with-real-world-tips\"><strong>Essential Webmin Tasks (With Real-World Tips)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"manage-users-and-ssh-access\"><strong>Manage users and SSH access<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System &gt; Users and Groups: add users, set shells, control sudo privileges<\/li>\n\n\n\n<li>Servers &gt; SSH Server: adjust SSH port, disable root login, enforce key-based auth<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"update-packages-and-repositories\"><strong>Update packages and repositories<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System &gt; Software Package Updates: review and apply updates<\/li>\n\n\n\n<li>Schedule automatic security updates during low-traffic windows<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"start-stop-services-and-enable-at-boot\"><strong>Start\/stop services and enable at boot<\/strong><\/h3>\n\n\n\n<p>Use System &gt; Bootup and Shutdown to manage systemd services. This is safer than editing symlinks manually and reduces human error during maintenance windows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"firewall-and-intrusion-prevention\"><strong>Firewall and intrusion prevention<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Networking &gt; FirewallD or Linux Firewall: manage port rules with a UI<\/li>\n\n\n\n<li>Optional: <a href=\"https:\/\/www.youstable.com\/blog\/install-fail2ban-on-linux\/\">install Fail2ban<\/a> and configure via Webmin or CLI to block brute-force attempts<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"web-servers-apache-or-nginx\"><strong>Web servers: Apache or Nginx<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Servers &gt; Apache or Nginx: create virtual hosts, manage logs, set PHP handlers<\/li>\n\n\n\n<li>Use syntax checks before applying changes to avoid downtime<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"databases-mysql-mariadb\"><strong>Databases: MySQL\/MariaDB<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Servers &gt; MySQL Database Server: create databases, users, and set permissions<\/li>\n\n\n\n<li>Use backups before schema changes; schedule dumps with Cron<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cron-jobs-and-backups\"><strong>Cron jobs and backups<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System &gt; Scheduled Cron Jobs: add periodic tasks without crontab syntax errors<\/li>\n\n\n\n<li>Webmin &gt; Backup Configuration Files: back up critical configs before upgrades<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"file-management\"><strong>File management<\/strong><\/h3>\n\n\n\n<p>Webmin\u2019s <a href=\"https:\/\/www.youstable.com\/blog\/access-file-manager-in-cpanel\/\">File Manager<\/a> lets you upload, edit, and set permissions with a visual interface. For bulk transfers, use SFTP; keep ownership and SELinux contexts in mind on hardened systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"advanced-administration-with-webmin\"><strong>Advanced Administration With Webmin<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"virtualmin-for-multi-site-hosting\"><strong>Virtualmin for multi-site hosting<\/strong><\/h3>\n\n\n\n<p>Virtualmin (a Webmin module) adds account-based hosting\u2014perfect for agencies or resellers. It automates virtual hosts, mail, DNS, databases, and SSL per domain while keeping resource isolation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"edit-config-files-safely\"><strong>Edit config files safely<\/strong><\/h3>\n\n\n\n<p>Most modules provide \u201cEdit Config File\u201d buttons for context-aware changes. Always validate syntax (e.g., <code>apachectl configtest<\/code>) before restarting services to prevent outages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"monitoring-and-alerts\"><strong>Monitoring and alerts<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>System and Server Status modules:<\/strong> track CPU, memory, disk, and service health<\/li>\n\n\n\n<li>Configure email alerts on failures or resource thresholds<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"role-based-access-and-acls\"><strong>Role-based access and ACLs<\/strong><\/h3>\n\n\n\n<p>Webmin Users allows granular permissions. Create roles for helpdesk, developers, or DBAs to limit access to only the modules they need\u2014improving security and accountability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-common-webmin-issues\"><strong>Troubleshooting Common Webmin Issues<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"webmin-wont-start\"><strong>Webmin won\u2019t start<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status webmin\nsudo journalctl -u webmin --no-pager -n 100\nsudo systemctl restart webmin<\/code><\/pre>\n\n\n\n<p>Check if another process is using the Webmin port, and confirm required Perl modules are present.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cannot-access-the-panel\"><strong>Cannot access the panel<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verify firewall rules: <\/strong>is the correct port open?<\/li>\n\n\n\n<li>Confirm Webmin\u2019s listening address in Webmin Configuration &gt; Ports and Addresses<\/li>\n\n\n\n<li>Ensure your public IP is allowed if IP access control is enabled<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"certificate-warnings\"><strong>Certificate warnings<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use a domain pointing to your server<\/li>\n\n\n\n<li>Issue a Let\u2019s Encrypt certificate via Webmin and enable auto-renew<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"module-not-visible-or-missing\"><strong>Module not visible or missing<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check Webmin version and install the corresponding server package (e.g., Apache, Nginx, MariaDB)<\/li>\n\n\n\n<li>Enable the module in Webmin &gt; Webmin Configuration &gt; Webmin Modules<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"best-practices-and-performance-tips\"><strong>Best Practices and Performance Tips<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use strong, unique passwords and 2FA for all admin users<\/li>\n\n\n\n<li>Restrict Webmin to a management VLAN or VPN when possible<\/li>\n\n\n\n<li>Apply OS and Webmin updates regularly, test on a staging server first<\/li>\n\n\n\n<li>Back up configuration files and databases before major changes<\/li>\n\n\n\n<li>Monitor resource usage; right-size your VPS (CPU\/RAM\/IO) for workload<\/li>\n\n\n\n<li>Document changes made through Webmin to streamline audits and rollbacks<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"why-run-webmin-on-a-youstable-vps\"><strong>Why Run Webmin on a YouStable VPS<\/strong><\/h2>\n\n\n\n<p>Webmin shines on reliable, root-access VPS hosting. With YouStable, you get fast storage, dedicated resources, and full control\u2014ideal for a secure Webmin setup. Our uptime-first infrastructure, seasoned support, and clean OS templates help you deploy Webmin, harden it, and scale smoothly as your workloads grow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"quick-command-reference\"><strong>Quick Command Reference<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Start\/stop\/status\nsudo systemctl start webmin\nsudo systemctl stop webmin\nsudo systemctl status webmin\n\n# Change firewall (examples)\nsudo ufw allow 10000\/tcp\nsudo firewall-cmd --permanent --add-port=10000\/tcp &amp;&amp; sudo firewall-cmd --reload\n\n# Update Webmin (Ubuntu\/Debian)\nsudo apt update &amp;&amp; sudo apt upgrade -y webmin\n\n# Update Webmin (RHEL-based)\nsudo dnf upgrade -y webmin<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"pros-and-cons-of-webmin\"><strong>Pros and Cons of Webmin<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pros:<\/strong> Lightweight, free, edits native configs, modular, great for delegation, works across many distros<\/li>\n\n\n\n<li><strong>Cons:<\/strong> Requires hardening, not as feature-heavy as commercial hosting panels, self-signed cert by default<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"real-use-cases\"><strong>Real Use Cases<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Developers: <\/strong>spin up staging servers and manage Apache\/Nginx, PHP, and databases visually<\/li>\n\n\n\n<li><strong>SMBs:<\/strong> centralize routine admin (users, updates, backups) without deep Linux expertise<\/li>\n\n\n\n<li><strong>Agencies: <\/strong>pair Webmin with Virtualmin to host multiple client sites efficiently<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765795696104\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"is-webmin-safe-to-use-on-a-production-server\"><strong>Is Webmin safe to use on a production server?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes\u2014when hardened. Use a trusted certificate, change the default port, restrict by IP or VPN, enable 2FA, and keep your OS\/Webmin updated. Limit modules and users to the least privileges needed.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765795711293\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-access-webmin-after-installation\"><strong>How do I access Webmin after installation?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Open https:\/\/YOUR-SERVER-IP:10000 in a browser and log in as root or a sudo user. If you changed the port, use that instead. Ensure your firewall allows the port and that your IP is permitted.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765795720350\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-change-webmins-default-port\"><strong>How do I change Webmin\u2019s default port?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Go to Webmin Configuration &gt; Ports and Addresses and set a new high port (e.g., 10443). Update your firewall rules accordingly and reconnect using the new port over HTTPS.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765795735165\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-reset-the-webmin-root-password\"><strong>How do I reset the Webmin root password?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>On Ubuntu\/Debian, use: <code>sudo \/usr\/share\/webmin\/changepass.pl \/etc\/webmin root NEWPASSWORD<\/code>. On RHEL-based systems, the path is typically the same. Then restart Webmin and log in with the new credentials.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765795748162\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"whats-the-difference-between-webmin-and-virtualmin\"><strong>What\u2019s the difference between Webmin and Virtualmin?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Webmin is the core system administration panel. Virtualmin is an add-on focused on web hosting: it manages domains, mail, DNS, databases, and SSL per site. Use Webmin for server admin; add Virtualmin to manage multiple websites at scale.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Webmin is a free, browser-based control panel for Linux that lets you manage users, services, packages, firewalls, and servers without [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":15538,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"iawp_total_views":14,"footnotes":""},"categories":[350],"tags":[],"class_list":["post-13253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/How-to-Use-Webmin-on-Linux-Server-with-SSL-and-2FA.jpg","author_info":{"display_name":"Sanjeet Chauhan","author_link":"https:\/\/www.youstable.com\/blog\/author\/sanjeet"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=13253"}],"version-history":[{"count":7,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13253\/revisions"}],"predecessor-version":[{"id":15539,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13253\/revisions\/15539"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15538"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=13253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=13253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=13253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}