DocsSystem requirements

System requirements

What ZoPanel needs before you install: a fresh Ubuntu or Debian server, 1 GB of RAM or more, root access, a few open ports and a hostname.

ZoPanel installs on a fresh Linux server: one without another control panel or web server already configured. This page lists what to prepare before you run the installer, so the installation goes through in one pass.

Operating systems

System Versions Notes
Ubuntu 22.04 LTS, 24.04 LTS On 22.04 the installer adds Ubuntu's 6.8 HWE kernel
Debian 12, 13 On 12 the 6.12 backports kernel is optional

Both x86-64 (amd64) and ARM64 (aarch64) are supported. The installer stops on any other system or architecture.

A kernel of Linux 6.8 or newer lets ZoPanel compress customers' idle memory in RAM without ever writing it to disk. Ubuntu 24.04 and Debian 13 already have one; see Install ZoPanel for how the installer handles Ubuntu 22.04 and Debian 12, and PHP performance for what the feature does.

Memory and CPU

Use RAM
Trying ZoPanel 1 GB
Small production server 2 GB or more

The installer warns when the server has less than about 1 GB, but continues. ZoPanel sizes itself to the machine:

  • MariaDB's buffer pool is set to 20% of RAM.
  • On servers with less than 4 GB of RAM and no swap, the installer creates a swap file of 1 to 4 GB.
  • The memory customers' websites and apps may use together is planned from the server's RAM and re-planned every 10 minutes.

Measured capacity

These figures were measured on test servers. Your results depend on the sites you host.

Server WordPress sites without page cache WordPress sites with page cache
Ubuntu 24.04, 4 GB RAM, 4 vCPU 100 (plus 30 apps) 250 (plus 30 apps)
Debian 12, 3 GB RAM 50 (plus 30 apps) 200 (plus 30 apps)

After a heavy overload, these servers went back to normal within 2 to 5 minutes once the load stopped.

Disk

The installer does not enforce a minimum disk size. Plan for:

  • the system, ZoPanel, PHP, MariaDB and the optional components you install;
  • a swap file of 1 to 4 GB on servers under 4 GB of RAM;
  • your customers' websites, databases and mail;
  • local backups, which are stored on the same server unless you also send them to S3 storage.

The installer turns on disk quotas so each package's disk and file (inode) limits are enforced by the kernel. On most filesystems this works at once; on XFS it takes effect after the next restart. If quotas cannot be enabled, usage is still measured but not enforced.

A fresh server

Use a newly installed server. The installer refuses to continue when it finds:

  • an Apache web server it did not install itself;
  • cPanel, DirectAdmin or aaPanel.

If you pass --force, the installer continues anyway, at your own risk. Inside a container, the host's kernel is used, so the installer skips the kernel upgrade.

Root access

Run the installer as root or with sudo. ZoPanel itself runs as an unprivileged user (zopanel), with a separate privileged agent for system changes.

Network and ports

The installer enables the UFW firewall and opens:

Port Used for
Your SSH port (detected, usually 22) SSH and SFTP
80/tcp HTTP and Let's Encrypt validation
443/tcp HTTPS websites
8888/tcp The ZoPanel web interface

If your provider also has a cloud firewall or security group, open the same ports there.

Optional components open their own ports in UFW when you install them:

Component Ports
Mail server 25, 465, 587, 143, 993, 110, 995
Webmail 2096
Calendars & contacts (CalDAV/CardDAV) 2080
DNS server 53 (TCP and UDP)
FTP server 21 and passive ports 30000-30100
Adminer 8889

The server also needs outbound HTTPS to download ZoPanel, system packages and PHP. If you plan to run mail, check that your provider allows outbound port 25.

Hostname and DNS

ZoPanel works on the server's IP address straight after installation (https://YOUR-IP:8888, with a self-signed certificate). For production, prepare:

  • A hostname for the server, for example srv1.example.com. Pass it with --hostname.
  • A panel domain, for example panel.example.com, with an A record pointing to the server. You set it later in Settings to get a trusted Let's Encrypt certificate for the panel.
  • A mail hostname such as mail.example.com, if you will host email. Set its reverse DNS (PTR) at your VPS provider for good deliverability.
  • Nameservers such as ns1.example.com and ns2.example.com, with glue records at your registrar, if you will host DNS zones.

Checklist

  1. Fresh Ubuntu 22.04/24.04 or Debian 12/13, amd64 or arm64.
  2. At least 1 GB of RAM (2 GB or more for production).
  3. Root or sudo access over SSH.
  4. Ports for SSH, 80, 443 and 8888 open in any provider firewall.
  5. A hostname and, ideally, a panel domain pointing to the server.

Next: Install ZoPanel.


Install ZoPanel →