{"id":13348,"date":"2025-12-20T11:03:33","date_gmt":"2025-12-20T05:33:33","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=13348"},"modified":"2025-12-20T11:03:35","modified_gmt":"2025-12-20T05:33:35","slug":"how-to-setup-webmin-on-linux-server","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/how-to-setup-webmin-on-linux-server","title":{"rendered":"How to Setup Webmin on Linux Server &#8211; Easy Guide"},"content":{"rendered":"\n<p><strong>To set up Webmin on a Linux server<\/strong>, update your OS, add Webmin\u2019s official repository and GPG key, install the webmin package via apt or dnf, open TCP port 10000 in your firewall, and access https:\/\/server-ip:10000 to log in with a root or sudo user. Then harden Webmin with SSL, 2FA, and IP allowlists.<\/p>\n\n\n\n<p>In this guide, you&#8217;ll learn how to set up Webmin on a Linux server the right way\u2014covering Ubuntu\/Debian and CentOS\/Rocky\/AlmaLinux, firewall rules, SELinux, SSL with Let\u2019s Encrypt, two-factor authentication, and essential hardening. As a <a href=\"https:\/\/www.youstable.com\/blog\/benefits-of-web-hosting-control-panel-for-managed-hosting\/\">web hosting<\/a> professional, I\u2019ll share practical steps that work on real production servers and keep security front and center.<\/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<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2848\" height=\"1600\" src=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-77.png\" alt=\"What Is Webmin (and Why Use It)?\" class=\"wp-image-13535\" srcset=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-77.png 2848w, https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/image-77-150x84.png 150w\" sizes=\"auto, (max-width: 2848px) 100vw, 2848px\" \/><\/figure>\n\n\n\n<p>Webmin is a lightweight, browser-based system administration panel for Linux. It lets you manage users, packages, services, firewalls, <a href=\"https:\/\/www.youstable.com\/blog\/install-cron-jobs-on-linux\/\">cron jobs<\/a>, Apache\/Nginx, DNS, databases, and more\u2014without SSHing in for every task. It\u2019s free, modular, fast, and perfect for VPS and <a href=\"https:\/\/www.youstable.com\/blog\/secure-dedicated-server\/\">dedicated servers<\/a> when you want control without cPanel licensing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites\"><strong>Prerequisites<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A fresh or existing Linux server: Ubuntu 22.04\/24.04, Debian 11\/12, or Rocky\/AlmaLinux 8\/9 (CentOS Stream supported).<\/li>\n\n\n\n<li>Root or a sudo-enabled user.<\/li>\n\n\n\n<li>Firewall access (UFW or firewalld) and, for RHEL-based, SELinux tools.<\/li>\n\n\n\n<li>Optional but recommended: a domain or subdomain pointed to your <a href=\"https:\/\/www.youstable.com\/blog\/how-to-connect-to-server-via-ssh\/\">server for HTTPS via<\/a> Let\u2019s Encrypt.<\/li>\n\n\n\n<li>Updated packages and security patches.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-webmin-on-ubuntu-debian\"><strong>Install Webmin on Ubuntu\/Debian<\/strong><\/h2>\n\n\n\n<p>Use the official repository with a modern signed-by key method (avoids deprecated apt-key). The commands below work on Ubuntu 22.04\/24.04 and Debian 11\/12.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"add-the-webmin-repository-and-gpg-key\"><strong>Add the Webmin repository and GPG key<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install -y curl gnupg apt-transport-https ca-certificates\n\n# Import the Webmin GPG key (dearmored keyring)\ncurl -fsSL https:\/\/download.webmin.com\/jcameron-key.asc | sudo gpg --dearmor -o \/usr\/share\/keyrings\/webmin.gpg\n\n# Add the Webmin APT repository\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\n\n# Update and <a href=\"https:\/\/www.youstable.com\/blog\/install-webmin-on-linux\/\">install Webmin<\/a>\nsudo apt update\nsudo apt install -y webmin\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"verify-and-enable-the-service\"><strong>Verify and enable the service<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable --now webmin\nsudo systemctl status webmin\n<\/code><\/pre>\n\n\n\n<p>By default, Webmin listens on TCP port 10000 with <a href=\"https:\/\/www.youstable.com\/blog\/how-to-enable-ssl-in-cpanel\/\">SSL enabled<\/a> (self-signed). Access it via https:\/\/your-server-ip:10000 after opening the firewall.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-webmin-on-centos-rocky-almalinux\"><strong>Install Webmin on CentOS\/Rocky\/AlmaLinux<\/strong><\/h2>\n\n\n\n<p>On RHEL-based distributions, create a YUM\/DNF repo file and install. If SELinux is enforcing, allow the Webmin port.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"add-the-repository-and-install\"><strong>Add the repository and install<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install -y curl policycoreutils-python-utils # semanage is in this package\nsudo tee \/etc\/yum.repos.d\/webmin.repo &gt;\/dev\/null &lt;&lt;'EOF'\n&#91;Webmin]\nname=Webmin Distribution Neutral\nbaseurl=https:\/\/download.webmin.com\/download\/yum\nenabled=1\ngpgcheck=1\ngpgkey=https:\/\/download.webmin.com\/jcameron-key.asc\nEOF\n\nsudo dnf makecache\nsudo dnf install -y webmin\nsudo systemctl enable --now webmin\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"allow-webmin-through-selinux-if-enforcing\"><strong>Allow Webmin through SELinux (if enforcing)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Allow TCP 10000 for the http_port_t type\nsudo semanage port -a -t http_port_t -p tcp 10000 2&gt;\/dev\/null || \\\nsudo semanage port -m -t http_port_t -p tcp 10000\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"open-firewall-port-10000\"><strong>Open Firewall Port 10000<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ufw-ubuntu-debian\"><strong>UFW (Ubuntu\/Debian)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 10000\/tcp\nsudo ufw status\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"firewalld-rhel-based\"><strong>firewalld (RHEL-based)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --permanent --add-port=10000\/tcp\nsudo firewall-cmd --reload\nsudo firewall-cmd --list-ports\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"nftables-advanced-manual\"><strong>NFTables (advanced\/manual)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Example (adjust to your nftables ruleset)\nsudo nft add rule inet filter input tcp dport 10000 ct state new accept\nsudo nft list ruleset | grep 10000\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"access-webmin-and-first-login\"><strong>Access Webmin and First Login<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>URL: <code>https:\/\/SERVER_IP:10000<\/code> or <code>https:\/\/FQDN:10000<\/code> (browser will warn about a self-signed certificate).<\/li>\n\n\n\n<li>Login user: the system\u2019s root account or a sudo-enabled user (e.g., ubuntu or admin on Ubuntu). Webmin authenticates against the OS users.<\/li>\n\n\n\n<li>If root is locked on Ubuntu, simply log in with your sudo user.<\/li>\n<\/ul>\n\n\n\n<p>After login, you\u2019ll see the dashboard with system stats and modules. Before you start using modules in production, secure the panel with HTTPS, IP rules, and 2FA.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"secure-webmin-ssl-2fa-port-and-ip-allowlist\"><strong>Secure Webmin: SSL, 2FA, Port, and IP Allowlist<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"use-lets-encrypt-for-a-trusted-https-certificate\"><strong>Use Let\u2019s Encrypt for a trusted HTTPS certificate<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prerequisites: a domain\/subdomain (e.g., panel.example.com) pointing to your server\u2019s public IP and port 80 reachable.<\/li>\n\n\n\n<li>In Webmin: Webmin Configuration &gt; SSL Encryption &gt; \u201cLet\u2019s Encrypt\u201d.<\/li>\n\n\n\n<li>Set Hostnames: your FQDN (e.g., panel.example.com).<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youstable.com\/blog\/install-apache-web-server-in-linux\/\">Web server<\/a> root for validation: pick \u201cStandalone\u201d or specify the default document root if Apache\/Nginx is serving the domain.<\/li>\n\n\n\n<li>Request Certificate and enable auto-renew (Webmin handles renewals).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"change-the-default-port-optional\"><strong>Change the default port (optional)<\/strong><\/h3>\n\n\n\n<p>Security by obscurity isn\u2019t a complete defense, but moving away from 10000 reduces noise from bots.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Edit miniserv configuration\nsudo nano \/etc\/webmin\/miniserv.conf\n# Change:\n# port=10000\n# to, for example:\n# port=10443\n# Save and restart:\nsudo systemctl restart webmin\n\n# Update firewall and SELinux (if applicable)\nsudo ufw allow 10443\/tcp  # or firewalld\/nftables equivalent\nsudo semanage port -a -t http_port_t -p tcp 10443 2&gt;\/dev\/null || \\\nsudo semanage port -m -t http_port_t -p tcp 10443\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"restrict-access-by-ip\"><strong>Restrict access by IP<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webmin Configuration &gt; IP Access Control &gt; \u201cOnly allow from listed addresses\u201d.<\/li>\n\n\n\n<li>Add trusted office\/home IPs or VPN subnets (e.g., 203.0.113.10, 10.0.0.0\/24).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"enable-two-factor-authentication-totp\"><strong>Enable Two-Factor Authentication (TOTP)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Webmin &gt; Webmin Users &gt; Select your admin user &gt; \u201cTwo-factor Authentication\u201d.<\/li>\n\n\n\n<li>Enable TOTP, scan the QR code using an authenticator app, and confirm the code.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"brute-force-protection-with-fail2ban\"><strong>Brute-force protection with Fail2Ban<\/strong><\/h3>\n\n\n\n<p>Create a Fail2Ban filter for Webmin\u2019s miniserv error log and a jail to ban repeated failures.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Create filter\nsudo tee \/etc\/fail2ban\/filter.d\/webmin-auth.conf &gt;\/dev\/null &lt;&lt;'EOF'\n&#91;Definition]\nfailregex = ^.*Authentication failed for .* from &lt;HOST&gt;.*$\nignoreregex =\nEOF\n\n# Create jail\nsudo tee \/etc\/fail2ban\/jail.d\/webmin-auth.local &gt;\/dev\/null &lt;&lt;'EOF'\n&#91;webmin-auth]\nenabled  = true\nport     = 10000\nfilter   = webmin-auth\nlogpath  = \/var\/webmin\/miniserv.error\nmaxretry = 5\nbantime  = 3600\nEOF\n\nsudo systemctl restart fail2ban\nsudo fail2ban-client status webmin-auth\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"everyday-tasks-you-can-do-in-webmin\"><strong>Everyday Tasks You Can Do in Webmin<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manage packages and updates (APT\/DNF) with \u201cSoftware Package Updates\u201d.<\/li>\n\n\n\n<li>Control services and daemons (systemd) under \u201cSystem &gt; Bootup and Shutdown\u201d.<\/li>\n\n\n\n<li>Create users, groups, and SSH keys in \u201cSystem &gt; Users and Groups\u201d.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youstable.com\/blog\/what-is-dhcp-server\/\">Configure Apache\/Nginx virtual hosts<\/a> and TLS.<\/li>\n\n\n\n<li>Schedule <a href=\"https:\/\/www.youstable.com\/blog\/what-is-cron-jobs-on-linux-server\/\">cron jobs<\/a> and monitor system logs.<\/li>\n\n\n\n<li>Manage MariaDB\/MySQL and PostgreSQL databases via their modules.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-webmin\"><strong>Troubleshooting Webmin<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cant-connect-to-https-ip10000\"><strong>Can\u2019t connect to https:\/\/IP:10000<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check the service: <code>sudo systemctl status webmin<\/code><\/li>\n\n\n\n<li>Is the port listening? <code>sudo ss -ltnp | grep 10000<\/code><\/li>\n\n\n\n<li>Open the firewall (UFW\/firewalld\/nftables) and, on RHEL, allow via SELinux.<\/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>Self-signed is expected initially. Install Let\u2019s Encrypt via Webmin Configuration &gt; SSL Encryption.<\/li>\n\n\n\n<li>Ensure the domain resolves to your server and port 80 is reachable for HTTP validation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"login-fails-for-root-on-ubuntu\"><strong>Login fails for root on Ubuntu<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Root is often locked; log in with your sudo user (e.g., ubuntu) instead.<\/li>\n\n\n\n<li>If you must enable root (not recommended), set a password with <code>sudo passwd root<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"quick-service-commands\"><strong>Quick service commands<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart webmin\nsudo tail -f \/var\/webmin\/miniserv.error\nsudo grep -i failed \/var\/webmin\/miniserv.error\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"uninstall-webmin-if-needed\"><strong>Uninstall Webmin (If Needed)<\/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<pre class=\"wp-block-code\"><code>sudo apt remove --purge -y webmin\nsudo rm -f \/etc\/apt\/sources.list.d\/webmin.list \/usr\/share\/keyrings\/webmin.gpg\nsudo apt autoremove -y\nsudo rm -rf \/etc\/webmin \/var\/webmin\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"rhel-based\"><strong>RHEL-based<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf remove -y webmin\nsudo rm -f \/etc\/yum.repos.d\/webmin.repo\nsudo rm -rf \/etc\/webmin \/var\/webmin\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"performance-and-security-best-practices\"><strong>Performance and Security Best Practices<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep the OS and Webmin updated regularly.<\/li>\n\n\n\n<li>Disable unused Webmin modules.<\/li>\n\n\n\n<li>Restrict Webmin to a private interface\/VPN where possible.<\/li>\n\n\n\n<li>Back up Webmin configuration: <code>\/etc\/webmin\/<\/code> and logs: <code>\/var\/webmin\/<\/code>.<\/li>\n\n\n\n<li>Consider a reverse proxy (Nginx) with HTTP\/2 and strict TLS ciphers if exposing to the public internet.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"deploying-webmin-with-youstable\"><strong>Deploying Webmin with YouStable<\/strong><\/h2>\n\n\n\n<p>If you\u2019re hosting on a YouStable VPS or dedicated server, our team can pre-harden your OS, open the right firewall rules, and set up Webmin with a valid Let\u2019s Encrypt SSL and 2FA from day one. You get DDoS-protected networks, fast NVMe storage, and support that understands panels, not just tickets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs-setup-webmin-on-linux-server\"><strong>FAQs: Setup Webmin on Linux Server<\/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-1765798680775\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"is-webmin-safe-to-use-on-a-public-server\"><strong>Is Webmin safe to use on a public server?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, if you secure it properly: use HTTPS (<a href=\"https:\/\/www.youstable.com\/blog\/what-is-lets-encrypt-on-linux-server\/\">Let\u2019s Encrypt)<\/a>, enable 2FA, change the default port, restrict IPs, and apply system updates. Consider placing Webmin behind a VPN or reverse proxy for added safety.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765798686392\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"what-port-does-webmin-use-and-can-i-change-it\"><strong>What port does Webmin use, and can I change it?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Webmin listens on TCP 10000 by default. You can change it in \/etc\/webmin\/miniserv.conf (port=) and restart the service. Don\u2019t forget to update your firewall and, on RHEL-based systems, allow the port in SELinux.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765798697392\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-install-webmin-on-ubuntu-22-04-or-debian-12\"><strong>How do I install Webmin on Ubuntu 22.04 or Debian 12?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Add the official Webmin repo with a signed-by key, run apt update, and install the webmin package. The commands provided above use the modern keyring approach for secure APT installations.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765798705411\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"does-webmin-support-lets-encrypt-certificates\"><strong>Does Webmin support Let\u2019s Encrypt certificates?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. Point a domain to your server, then use Webmin Configuration &gt; SSL Encryption &gt; Let\u2019s Encrypt to request and auto-renew certificates for a trusted HTTPS connection.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765798714505\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"webmin-vs-cockpit-or-cpanel-which-should-i-choose\"><strong>Webmin vs. Cockpit or cPanel: which should I choose?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Webmin is lightweight and modular, great for system-level admin without licensing costs. Cockpit focuses on <a href=\"https:\/\/www.youstable.com\/blog\/zabbix-top-alternatives\/\">server monitoring<\/a> and containers with a modern UI. cPanel is commercial with rich hosting features for shared hosting. Choose based on your stack, budget, and familiarity.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>To set up Webmin on a Linux server, update your OS, add Webmin\u2019s official repository and GPG key, install the [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":15513,"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":""}},"footnotes":""},"categories":[350],"tags":[],"class_list":["post-13348","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-Setup-Webmin-on-Linux-Server.jpg","author_info":{"display_name":"Prahlad Prajapati","author_link":"https:\/\/www.youstable.com\/blog\/author\/prahladblog"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13348","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=13348"}],"version-history":[{"count":6,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13348\/revisions"}],"predecessor-version":[{"id":15514,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/13348\/revisions\/15514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15513"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=13348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=13348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=13348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}