How to install the free CloudPanel control panel on a VPS

A free, licence-free nginx-based panel: requirements, a one-command install, the admin created in the browser on port 8443, your first site, free SSL, and how it differs from cPanel.

A control panel is a web interface to your server: sites, databases, SSL and PHP settings are done with a mouse, without editing config files. CloudPanel is a free, nginx-based panel - lightweight, ad-free, and aimed at developers. Out of the box it runs PHP, Node.js, Python, static and WordPress sites, plus reverse proxies. This guide covers installing CloudPanel on a clean VPS, creating an admin user, setting up your first site, and issuing a free certificate.

In short. CloudPanel installs on Ubuntu 22.04/24.04 and Debian 11/12. You need a clean server, 2 GB of RAM or more (it installs a database), root, and SSH access. No licence - the panel is completely free. Install: one command, 8-12 minutes. Log in at https://ADDRESS:8443; you create the admin account right in the browser on the first visit.

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 often, want SSL, backups and PHP-version switching in a couple of clicks, and would rather not hand-write nginx vhosts.

You do not need a panel if you run one project and are comfortable in a terminal: the panel installs its own stack and directory layout. For that path, see How to deploy a service on a server.

What you need

  • A supported OS. Ubuntu 22.04 or 24.04 LTS, or Debian 11 or 12. A HIP server ships with Ubuntu 24.04 by default - CloudPanel installs on it with no OS reinstall.
  • RAM. 2 GB or more - the panel installs MySQL or MariaDB, and a database is tight on 1 GB. The interface itself is light.
  • A clean server. Install CloudPanel right after creating the server, before it has its own nginx, apache, MySQL or web apps - the installer installs its own versions of these services.
  • Root over SSH. Where to get the login details - see Connect to your HIP server.
  • No licence needed. CloudPanel Community Edition is completely free, with no paid tiers and no ads in the interface. There is no key to enter.

Step 1. Prepare the server

Create a new HIP server on Ubuntu 24.04 (see How to create a server in the HIP panel) or take an existing one with nothing deployed on it yet. Log in over SSH as root.

Wait until the server finishes its first-boot setup (otherwise the CloudPanel installer collides with a background apt and fails):

cloud-init status --wait

Update packages:

apt update && apt -y upgrade

You do not need to configure a firewall at this step - restrict access to port 8443 later, from the panel itself or with ufw.

Step 2. Run the installer

Download the official Community Edition installer and run it:

curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
bash install.sh

By default the installer brings up MySQL. For MariaDB, set an environment variable before running it:

DB_ENGINE=MARIADB_11.4 bash install.sh

From here the installer works on its own: it installs nginx, every supported PHP version (7.1 through 8.5), the database, Node.js, Python and the panel. That is 8-12 minutes. If SSH might drop, run the command inside screen: apt install -y screen && screen -S clp, and return later with screen -r clp.

At the end the installer says the panel is available at https://ADDRESS:8443. It does not hand out a separate login and password - you create the admin on the first visit.

Step 3. Create the admin user

In a browser open https://ADDRESS:8443, 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.

The Admin User Creation form opens: first and last name, username, email, password, timezone. Fill it in, agree to the terms and click Create User. This is the account that administers the whole panel.

After that you are sent to the login page - sign in with the username and password you just set. The site list opens, empty for now.

Step 4. Add a site

Click + ADD SITE. CloudPanel asks for the site type: WordPress, PHP, Node.js, static HTML, Python or reverse proxy.

For a plain PHP site pick Create a PHP Site and fill the form:

  • Application - Generic for arbitrary code, or a ready template (Laravel, Symfony and so on).
  • Domain Name - the site's domain.
  • PHP Version - the version you need; you can change it later in the site settings.
  • Site User and Site User Password - the system user that owns the site files and runs SSH/SFTP.

Click Create. The panel creates the user, the site directory (/home/USER/htdocs/DOMAIN), the nginx entry and a self-signed certificate.

From there you manage the site through the Manage button - the tabs Settings (domain, root directory, PHP version and limits), Vhost (the nginx config), Databases, SSL/TLS, SSH/FTP, File Manager, Cron Jobs, Logs.

Step 5. Turn on free SSL

Open the site's SSL/TLS tab and click New Let's Encrypt Certificate. The domain list holds the domain itself and the www subdomain; add others if needed and click Create and Install.

The certificate is issued if the domains already point at this server with an A record, is installed into nginx automatically, and renews on its own.

What else CloudPanel does

  • Monitoring on the dashboard - CPU, memory, disk and load-average charts.
  • Databases - creation, users, a built-in web client (phpMyAdmin / Adminer).
  • Backups - upload to Amazon S3-compatible storage.
  • Site security - Basic Auth, IP restrictions, blocks in the Security section.
  • Multiple PHP versions at once - switched per site.
  • Cron, a file manager, an nginx config editor - from the panel.

How CloudPanel differs from cPanel and HestiaCP

  • Free and ad-free. Fully open Community Edition, no paid tiers, no upsells in the interface.
  • nginx only, no Apache. Lighter and faster, but the familiar .htaccess does not work - rules go in the nginx config.
  • No mail server. CloudPanel deliberately stays out of email. If you need a mail server, install one separately.
  • Built for development. Node.js and Python are first-class site types, not an add-on. Multiple PHP versions out of the box.
  • No "hosting-reseller" multitenancy. There are no separate panels for clients and resellers - this is a tool for your own projects, not for reselling hosting. If that is what you need, look at DirectAdmin or HestiaCP.

Common errors

  • The installer fails with an apt lock error. It collided with the system's first-boot setup, which had not finished. Recreate the server, wait for cloud-init status --wait, and run the install again.
  • The installer complains about the OS. The distribution is not supported. You need Ubuntu 22.04/24.04 or Debian 11/12.
  • The install fails and the server swaps hard. Not enough memory for the database. Bump the plan to 2 GB or more.
  • The :8443 page will not open. The port is blocked by a firewall. Inside the server: ufw allow 8443/tcp. Check any external firewall too.
  • Let's Encrypt will not issue. The domain does not point at this server yet. Add an A record, wait for DNS to update, and retry.
  • The panel installed over a working site. CloudPanel goes on a clean server only. It is easier to recreate the server.

Next steps

SECTION
How To
REVIEWED
LANGUAGES
EN · RU