A free, licence-free panel: requirements, a one-command install, login on port 8083, your first user and site, free SSL, updates and backups.

A control panel is a web interface to your server: sites, mail, databases, DNS and SSL are set up with a mouse, without a terminal. HestiaCP is a free, open-source panel. It is noticeably lighter than the paid cPanel and Plesk, installs with one command in 10-15 minutes, and needs no licence. This guide covers installing HestiaCP on a clean VPS, logging in, and setting up your first site.

In short. HestiaCP installs on Ubuntu 22.04/24.04 and Debian 12/13. You need a clean server, 1 GB of RAM or more (2 GB is comfortable), root, and a proper hostname. No licence - the panel is free. Install: download hst-install.sh, run it, answer a few questions. Log in at https://ADDRESS:8083, username admin.

When you need a panel, and when you do not

A panel earns its place if you keep several sites on the server, add domains and mailboxes often, want SSL and backups in a couple of clicks, and would rather not keep nginx configs and DNS zones in your head.

You do not need a panel if you run one project and work in a terminal: the panel uses memory for its own services and installs its own software set. For a single app on your own stack it gets in the way.

What you need

  • A supported OS. Ubuntu 22.04 or 24.04 LTS, or Debian 12 or 13. The installer will not run on anything else.
  • RAM. The minimum is 1 GB; comfortable is 2 GB or more. The full stack with mail and antispam is tight on 1 GB.
  • A clean server. Install HestiaCP right after creating the server, before it has its own nginx, Apache, MySQL or web apps - the panel installs its own versions of these services.
  • Root over SSH. How to connect - see Connect to a VPS over SSH from Windows.
  • A hostname (FQDN). A fully qualified domain like panel.example.com that does not match any site you will host.
  • No licence needed. HestiaCP is distributed free under an open licence. There is nothing to pay and no key to enter.

Step 1. Prepare the server

Take a fresh server on Ubuntu 24.04 or Debian 12 with nothing deployed on it yet. Log in over SSH as root and update packages:

apt update && apt -y upgrade

Set the fully qualified hostname. Replace panel.example.com with a domain of yours that you will not use for a site:

hostnamectl set-hostname panel.example.com

Check it:

hostname -f

You do not need to set up a firewall separately - HestiaCP brings its own (iptables + Fail2Ban) during setup.

Step 2. Run the installer

Download the official installer and run it:

wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh

The installer shows what it will put in (nginx, Apache, PHP-FPM, MariaDB, Exim, Dovecot, Bind, Vsftpd, firewall) and asks:

  • Confirmation - type y and press Enter.
  • Admin email - alerts and the panel link go here.
  • Hostname - it offers the one you set in step 1; confirm it.

From here the installer works on its own - it downloads and configures every service. That is 10-15 minutes. If SSH might drop, run the command inside screen: apt install -y screen && screen -S hestia, and return later with screen -r hestia.

At the end the installer prints the panel address like https://ADDRESS:8083, the login admin and a generated password. Copy the password right away, and reboot the server if the installer asks.

Step 3. First login

In a browser open https://ADDRESS:8083, where ADDRESS is the server IP. The browser warns about a self-signed certificate - normal on the first visit, the connection is still encrypted. Continue and log in as admin with the password from the install log.

You land on the main screen - a list of users, server load, and the sections USER, WEB, DNS, MAIL, DB, CRON, BACKUP. Change the admin password right away: top-right corner, the username -> Edit -> the password field.

Step 4. Create a user and a site

In HestiaCP admin runs the server, and sites live under ordinary users. Even for one site you create a separate user - it keeps limits and backups clean.

  1. The USER section -> Add User. Set a username, password, email and, if you like, a Package - a set of limits on disk, domains, databases and mail. Save.
  2. Log in as that user (in the user list - the Login as button).
  3. The WEB section -> Add Web Domain. Enter the domain, tick DNS and Mail if you want to run them on this server. Save - the panel creates the site directory, the web-server entry, the DNS zone and the mail domain.

Site files go in /home/USER/web/DOMAIN/public_html - over SSH, SFTP, or the panel's File Manager.

If you try to add a web domain without leaving the admin account, HestiaCP shows a warning - hosting sites under the administrator is unsafe.

Step 5. Turn on free SSL

HestiaCP issues free Let's Encrypt certificates. In the WEB section click Edit on the domain, tick Enable SSL and Enable Let's Encrypt Support (plus Enable automatic HTTPS redirect), and save. The certificate is issued if the domain already points at this server with an A record, and renews on its own.

Updates and backups

HestiaCP updates with the system - apt update && apt upgrade; the panel core comes as the hestia package. Backups are the BACKUP section: the button makes a per-user archive (sites, databases, mail, settings) that you can download, or set an off-site upload under Server Settings -> Backup.

How HestiaCP differs from paid panels

  • Free and open. No licence, no subscription. Community-developed, code on GitHub.
  • Lighter. Fewer services by default, lower memory use - it runs where cPanel is already tight.
  • Simpler, and thinner for it. No app store, no phone support, and none of the enterprise features of the paid panels. Help is the community forum and docs.
  • Similar free options: ISPConfig (more powerful, harder), Froxlor (lighter, plainer). Paid equivalents are cPanel and Plesk.

Common errors

  • "Error: user admin exists". The server already has an admin user (from a previous attempt or other software). Run the installer with a flag: bash hst-install.sh --force.
  • The installer will not start, complains about the OS. The distribution is not supported. Recreate the server on Ubuntu 24.04 or Debian 12.
  • The :8083 page will not open. The port is blocked by a firewall. Inside the server: iptables -I INPUT -p tcp --dport 8083 -j ACCEPT, or add a rule in the panel's Firewall section. Check the host's external firewall too.
  • The install fails and the server swaps hard. Low on memory. Bump the plan to 2 GB for the install.
  • The panel installed over a working site. HestiaCP goes on a clean server only. It is easier to recreate the server and start over.

Next steps