What you need
- A fresh server: a new VPS or dedicated machine with a 64-bit
x86_64orarm64CPU. The installer refuses to run next to another control panel (cPanel, CyberPanel, Plesk, DirectAdmin, Hestia, Vesta or Webmin). - Root access. The installer must run as root.
- A fully qualified hostname with at least two dots, for example
server.example.com. If the server's hostname is not one, set it first withhostnamectl set-hostname server.example.comor pass--hostname server.example.comto the installer. - A public IPv4 address. IPv6 is optional.
- Open ports: 53 (TCP and UDP, DNS), 80 and 443 (web), 2083 (Customer panel) and 2087 (Server panel). If you install the mail server, also 25, 465, 587, 993 and 995. The installer opens the panel, web and DNS ports itself when
ufworfirewalldis active.
| Sizing | CPU | RAM | Disk |
|---|---|---|---|
| Minimum | 1 vCPU | 2 GB | 20 GB SSD |
| Recommended | 2+ vCPU | 4 GB | 40+ GB SSD |
Supported operating systems
The installer accepts Ubuntu 22.04, 24.04 and 26.04; Debian 12 and 13; AlmaLinux, Rocky Linux and CloudLinux 8, 9 and 10; CentOS Stream 9 and 10; and Red Hat Enterprise Linux 8, 9 and 10. The install and licensing basics page lists which versions were tested end to end. On the RHEL family the installer sets SELinux to permissive; AlmaLinux, Rocky Linux and RHEL lists everything it changes there, and CloudLinux OS covers CloudLinux mode (LVE, CageFS, PHP Selector, MySQL Governor). Another system can be tried with --force, at your own risk.
Install
- Log in to the new server as root over SSH.
- Make sure
hostname -fprints a name with at least two dots. - Run the one-line installer from the Downloads page. It detects the operating system and CPU, downloads the matching release and runs the installer.
- Wait for it to finish. The installer asks no questions unless you pass
--confirm. Progress is logged to/var/log/panelfi-install.log. - When it ends it prints the Server panel and Customer panel addresses and the
rootpassword. If you did not choose one, a password is generated and saved in/root/panelfi-login.txt. - Open
https://your-hostname:2087and continue with first sign-in and the setup wizard. Your browser warns about the self-signed certificate on the first visit; that is expected until the hostname certificate is issued.
What gets installed
MariaDB, PowerDNS, certbot, nftables and the web server, plus the panel itself and its background service. Unless you opt out, it also installs the mail server (Postfix, Dovecot, Roundcube), the FTP server (Pure-FTPd) and phpMyAdmin. The web server is OpenLiteSpeed by default.
Installer options
Options go after the install command or to install.sh in an extracted release. Run it with --help to print them.
| Option | Effect |
|---|---|
--confirm | Ask for confirmation before installing. |
--engine ols|nginx | Web server to install. Default ols (OpenLiteSpeed). LiteSpeed Enterprise is an upgrade from the panel afterwards; see Web server. |
--hostname FQDN | Set the server hostname first. |
--email ADDRESS | Server contact email (otherwise asked in the setup wizard). |
--admin-password PASS | Password for the root panel administrator (generated if omitted). |
--php "82 83 84" | PHP versions to install. Default 81 82 83 84. |
--ns "ns1.x ns2.x" | Nameservers for new zones (otherwise asked in the setup wizard). |
--no-mail, --no-ftp | Skip the mail server or the FTP server. |
--force | Install on an unsupported OS version. |
Upgrade
Run the same one-line command again. The web server, settings, accounts and passwords are kept, and an upgrade never adds a mail or FTP server to a machine installed without one. You can also update from the panel; see Licensing and updates.
Notes
PanelFi takes over ports 53, 80, 443, 2083 and 2087, so use a server with nothing else on it. To bring accounts from a cPanel server, install PanelFi on a new machine and use the Transfer Tool.