Back to blog
Guides

How to install a web hosting panel on a Hetzner VPS in 10 minutes

A step-by-step guide: spin up a Hetzner Cloud server, install ShadowPanel with one command, create your first site with automatic Let's Encrypt SSL, and point your domain.

S
ShadowPanel Team
3 min read

You don't need managed hosting to run sites professionally. With a €4-ish Hetzner Cloud server and an open-source control panel, you get your own multi-site host — SSL, email, DNS and all — in about ten minutes. Here's the whole flow with ShadowPanel.

What you'll need

  • A Hetzner Cloud account
  • A domain name you can edit DNS for
  • 10 minutes

Minimum server: Ubuntu 24.04 LTS, 1 GB RAM (2 GB recommended), 10 GB disk. A Hetzner CX22 is a comfortable starting point.

Step 1 — Create the server

In the Hetzner Cloud console, create a new server:

  • Image: Ubuntu 24.04
  • Type: CX22 (2 vCPU, 4 GB RAM) or larger
  • SSH key: add yours so you can log in without a password

Note the server's public IPv4 address — you'll need it twice.

Step 2 — Install ShadowPanel (one command)

SSH in as root and run the installer:

ssh root@YOUR_SERVER_IP
curl -fsSL https://shadowpanel.de/install.sh | bash

The installer asks for two things — your panel domain (e.g. panel.example.com) and an admin email — then provisions the whole stack for you: Nginx, multi-version PHP-FPM, PostgreSQL, MariaDB, Redis, Certbot, BIND9, Postfix/Dovecot and the firewall. Every secret is generated automatically. When it finishes it prints your admin login.

Step 3 — Log in

Open the panel on port 2087:

https://YOUR_SERVER_IP:2087

Log in with the admin credentials printed by the installer. (Your browser will warn about the self-signed certificate on the raw IP — that's expected until you point the panel domain in Step 5.)

Step 4 — Create your first site

In the panel: Sites → New site, enter your domain (e.g. example.com), pick a PHP version, and create it. ShadowPanel sets up the Nginx vhost, an isolated Linux user and a PHP-FPM pool automatically.

Once your domain's DNS points at the server (next step), enable SSL on the site — ShadowPanel requests a free Let's Encrypt certificate and renews it automatically. No manual certbot, no cron to babysit.

Step 5 — Point your domain

At your DNS provider, add A records to your server's IP:

Type Name Value
A panel YOUR_SERVER_IP
A @ YOUR_SERVER_IP
A www YOUR_SERVER_IP

DNS can take a few minutes to a few hours to propagate. Once panel.example.com resolves, reload the panel there and issue its SSL — now the panel itself is on a trusted certificate.

FAQ

Which ports need to be open? 22 (SSH), 80 and 443 (your sites + Let's Encrypt), and 2087 (the panel). The installer configures UFW; if you also enable the Hetzner Cloud Firewall, allow the same ports there.

How do I update later? One command:

sudo bash /opt/shadowpanel/deploy/update.sh

Hosted sites stay online during the update.

Is it free? Yes — the Free tier runs up to 3 sites with no credit card. Pro and Agency add Git deploy, Docker, staging, automated backups and white-label/reseller under a flat licence (no per-server fees).

That's it

A fresh Hetzner box becomes a real, SSL-secured multi-site host in about ten minutes. Get started free → and if you get stuck, email support@shadowpanel.de — we answer.

We use cookies

We use cookies to improve your experience and remember your preferences. You can manage your choices below. Learn more.

ShadowPanel

Manage your cookie preferences below. Essential cookies are always active as they are required for the website to function.

Essential

Required for the site to work. These include session authentication and CSRF protection. Cannot be disabled.

Always on

Functional

Remembers your language preference so you do not need to reselect it on every visit.

Analytics

Helps us understand how visitors use the site so we can improve it. No personal data is sold.

Marketing

Used by Google Ads to measure ad conversions and improve campaign targeting. No personal data is sold.