FindNChoose is reader-supported. Some links may earn us a commission at no cost to you; it never changes our verdicts. How we make money · How we test
CloudPanel at a glance
What we like
- Free, with no per-site or per-server fees
- nginx and PHP-FPM with a separate PHP pool and Linux user per site
- Many PHP versions side by side (7.1 to 8.5 on our server)
- clpctl command line for scripting sites, databases and certificates
- One-click Let's Encrypt certificates
- Light enough to share a server with other workloads
What could be better
- No built-in email server
- Not a reseller or multi-server panel
- Custom nginx changes need care
- Some naming rules are strict (no underscores in database names)
How we tested CloudPanel
How we tested
FindNChoose runs on CloudPanel 6.0.8 on a Hostinger KVM 4 VPS with Ubuntu 24.04. In October 2026 we used it to create this WordPress site and its database, set up a staging address, and prepare the Let’s Encrypt certificate for launch. We did most of the work with the clpctl command line, plus wp-cli for WordPress itself. The same server runs other nginx sites and a Docker container, so we also checked that CloudPanel’s changes did not touch them.
What CloudPanel does
CloudPanel is a web hosting control panel for a single Linux server. It installs and manages nginx, PHP-FPM, a MySQL-compatible database (Percona MySQL 8.4 on our server) and Redis, and gives you a browser panel and a command line to manage sites.
Each site gets its own Linux user, home directory, PHP-FPM pool and log files. That isolation matters when several sites share a server: one compromised plugin cannot write to another site’s files.
Setting up a WordPress site
Creating our site took two commands: one to add a PHP site with CloudPanel’s WordPress template, and one to add a database and user. CloudPanel wrote the nginx virtual host, created the PHP 8.3 pool and set file permissions. We then installed WordPress with wp-cli as the site user.
Two things we noticed:
- The WordPress vhost template is sensible. It adds static file caching headers, blocks access to sensitive files such as
xmlrpc.phpby default, and passes PHP requests to the site’s own pool. - Naming rules are strict.
clpctl db:addrejected a database name with an underscore, so we renamed it. A small thing, but it will break scripts that assume underscores are fine.
PHP versions and performance
Our server has PHP 7.1 through 8.5 installed side by side, and each site can use a different version. That makes it easy to keep an old site on an older PHP while new sites use the current one.
Because CloudPanel is mostly nginx and PHP-FPM with little of its own running in the background, it leaves the server’s resources for your sites. With this WordPress site on CloudPanel, cached pages served at 678 requests per second and full uncached renders at 71 per second in our test. The details are in our Hostinger VPS review.
SSL certificates
CloudPanel issues Let’s Encrypt certificates from the panel or with one clpctl command, including extra names such as www, and renews them automatically. The domain must already point at the server. For our staging address, which lives outside CloudPanel’s own site config, we used certbot directly.
Customizing nginx
Every site’s vhost can be edited in the panel. That is powerful but easy to get wrong. Our advice from setting up this site:
- Back up the vhost before editing, and run
nginx -tbefore every reload. - Keep extra sites, such as a staging copy, in their own config files rather than editing CloudPanel’s.
- Learn the template’s structure first. The WordPress template we used has an HTTPS front server that passes requests to a backend server on another port, so a rule added to the wrong block may never run.
HTTP/3 and modern defaults
The vhost CloudPanel generated for our site listens for HTTP/3 (QUIC) as well as HTTP/1.1 and HTTP/2 over TLS, on both IPv4 and IPv6. That is a modern default you would otherwise have to configure by hand, and it helps visitors on mobile networks.
A checklist after installing CloudPanel
- Restrict the admin panel port in your firewall to your own IP address, or put it behind a VPN.
- Use a strong, unique admin password, and turn on two-factor authentication for the panel login if your version offers it.
- Create each site with its own site user; never run sites as root.
- Set up off-server backups for files and databases, and test a restore.
- Turn on automatic operating system security updates.
- Keep custom nginx sites, such as staging copies, in separate files, and test with
nginx -tbefore reloading. - Note where each site’s logs live (CloudPanel keeps them per site in the site user’s home directory) so you can find errors quickly.
What CloudPanel does not do
- Email. There is no mail server. We keep email with a separate provider, which is what we recommend anyway.
- Reseller accounts and billing. It is a panel for your own sites, not for selling hosting.
- Multi-server management. Each server runs its own CloudPanel.
CloudPanel vs other panels
| Panel | Cost | Best for |
|---|---|---|
| CloudPanel | Free | nginx-based PHP, WordPress and Node.js sites on your own VPS |
| cPanel / WHM | Paid licence per server | Resellers and agencies that need email, billing integrations and familiarity |
| No panel (manual) | Free | Experienced admins who want full control and infrastructure as code |
If you are moving from shared hosting and miss a panel, CloudPanel is the easiest free option we have used. If you need email on the same box, look elsewhere. For help choosing between a panel and a managed host, see managed vs unmanaged VPS.
Get CloudPanelFree. Installs on a fresh Ubuntu or Debian server.
Frequently asked questions
Is CloudPanel free?
Yes. CloudPanel is free to use; you only pay for the server.
Is CloudPanel good for WordPress?
Yes. It has a WordPress site template, a separate PHP pool per site and works well with wp-cli. This site runs on it.
Does CloudPanel include email?
No. Use a separate email provider for your domain.
Can I install CloudPanel on a server that already runs sites?
CloudPanel is meant to be installed on a fresh server. Once installed, you can run other nginx sites and Docker containers alongside it, as we do, if you keep their config separate.