Install freePanel
Start from a fresh server and run one command.
curl -fsSL https://repo.atlantishosting.net/install | sudo bash
The installer prints a one-time link. Open it to create your admin login. After you sign in, enter your licence key on the panel's License page.
The plain command installs the whole stack (websites, email, DNS, databases, FTP and webmail) and opens the web, mail, DNS, FTP and panel ports in the firewall.
The server needs a full host name first. Set it with hostnamectl set-hostname server.example.com and point that name at the server.
Works on a fresh AlmaLinux, Rocky Linux or RHEL 9 server, with root access. On Ubuntu 24.04 the same command installs the panel only; the services (websites, email, DNS, databases, FTP and the rest) need AlmaLinux, Rocky or RHEL 9.
Advanced
Give the installer any service option and it installs only what you name, and opens no firewall ports unless you add --open-firewall. You can run it again later to add more. Options go after bash -s --, for example:
curl -fsSL https://repo.atlantishosting.net/install | sudo bash -s -- --web --mail --dns --mysql --open-firewall
Without --open-firewall the panel can't be reached from outside the server.
| Option | What it does |
|---|---|
--hostname NAME | The panel's host name, for example panel.example.com. |
--web | Website hosting: Apache with HTTPS and PHP-FPM (EL 9 family). |
--php VERSION | Default PHP version. 8.3 unless given; 7.4 to 8.5 are offered. |
--dns | DNS for each account with PowerDNS. Also takes --nameservers and --ip. |
--mail | Email: Postfix, Dovecot with Sieve, and DKIM signing. |
--spam | Spam filtering with rspamd (needs --mail). |
--webmail | Roundcube webmail (needs --mail). |
--mysql | MariaDB for customer databases. |
--postgres | PostgreSQL for customer databases. |
--dbadmin | phpMyAdmin and Adminer (needs --web). |
--ftp | FTP over TLS with Pure-FTPd. |
--protect | Login protection with fail2ban (EL 9 with firewalld running). Also takes --protect-allow ADDR[,ADDR]. |
--open-firewall | Open the panel ports, 7443/tcp and 7444/tcp. |
--no-firewall | Leave the firewall alone entirely. |
Install by hand
Prefer to read the script first? Download the release archive for your version, then:
tar xzf freepanel-<version>-linux-amd64.tar.gz
cd freepanel-<version>
sudo ./installer/install.sh --web --mail --dns --mysql
The panel ports 7443 and 7444 stay closed in the firewall unless you pass --open-firewall.