Installing a free control panel (aaPanel or CyberPanel) on a Cloud Server
Prefer a web UI for sites, databases and SSL? Install aaPanel or CyberPanel on a clean Ubuntu server and lock it down before going live.

Not everyone wants to manage nginx configs and database users by hand. A control panel gives you a web interface for websites, databases, SSL certificates and file management on your own Cloud Server. aaPanel and CyberPanel are two popular free options. This guide installs either one on Ubuntu and covers the security steps their defaults leave to you.
This is a self-managed installation. Infraista looks after the server hardware and the network; the panel, its updates and its security are yours to manage.
aaPanel or CyberPanel?
| aaPanel | CyberPanel | |
|---|---|---|
| Web server | nginx, Apache or OpenLiteSpeed | OpenLiteSpeed (free edition) |
| Default panel port | Random or 7800 (shown at install) | 8090 |
| Install time | About 5 to 15 minutes | About 10 to 30 minutes |
| Good for | Flexible stacks, a one-click app store | WordPress and PHP sites on LiteSpeed |
Both are capable. Pick aaPanel if you want to choose your web server, and CyberPanel if you want OpenLiteSpeed and its caching.
Before you begin
- A clean server. Panels expect to own the machine and conflict with web, database or mail software that is already installed. Start from a freshly deployed server, or reinstall the OS.
- A supported OS. Ubuntu 22.04 or 20.04. Do not follow older guides that recommend end-of-life releases; they no longer receive security updates.
- At least 1 GB of RAM, and 2 GB or more for a full stack with mail. Installs on smaller plans often fail part-way.
- Root access over SSH. See SSH keys.
- A domain pointed at the server's IP, if you will serve sites.
Update the system and set a real hostname first:
apt update && apt upgrade -yhostnamectl set-hostname panel.example.com
Run the installer inside tmux so a dropped SSH connection does not kill it:
apt install -y tmux && tmux
Option A: install aaPanel
Check the aaPanel website for the current installer command, as the script URL changes between versions. At the time of writing it is:
URL=https://www.aapanel.com/script/install_7.0_en.sh && \ if [ -f /usr/bin/curl ]; then curl -ksSO "$URL"; else wget --no-check-certificate -O install_7.0_en.sh "$URL"; fi && \ bash install_7.0_en.sh aapanel
When it finishes, the installer prints the panel URL, username and password. Save them now; that output is not shown again.
Then:
- Sign in at the URL shown.
- Change the password straight away.
- Install the software stack you need (LNMP or LAMP) when prompted.
- Add your first site under Website.
Option B: install CyberPanel
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
Choose CyberPanel with OpenLiteSpeed for the free edition and follow the prompts. The installer prints the admin URL, username and password at the end. Save them.
Then:
- Sign in at
https://203.0.113.10:8090. A certificate warning is expected until you issue one for the panel hostname. - Change the admin password.
- Issue a certificate for the panel hostname from the SSL section.
- Create your first site under Websites → Create Website.
Open the right ports
If you use ufw, allow SSH, web traffic and the panel port, restricting the panel to your own IP where you can:
ufw allow OpenSSHufw allow 80,443/tcpufw allow from 198.51.100.7 to any port 8090 proto tcp # CyberPanel# aaPanel: use the port the installer printedufw enable
Tip: both panels may manage their own firewall rules too. Pick one place to manage the firewall, either the panel or ufw, so the two do not silently overrule each other.
Secure it before going live
An admin panel on a public IP is scanned continuously. Before you host anything real:
- Change default credentials if you have not already.
- Change the default panel port and, on aaPanel, the admin entry path in Panel Settings.
- Restrict panel access by IP wherever possible.
- Enable two-factor authentication in the panel's settings.
- Serve the panel over HTTPS. Otherwise your admin password travels in plain text.
- Keep the panel and the OS updated. Nothing does this for you on a self-managed server.
If installation fails
- The server was not clean. Conflicting packages are the most common cause. Reinstall the OS and try again.
- Unsupported OS version. Check the panel's current supported list.
- Out of memory. Watch
free -hduring install, or move to a larger plan. - Lost the login details. Both panels have a command-line tool to reset the admin password; see their documentation.
Next steps
- Choose a plan with enough memory for your stack: Pricing.
- Put databases on Managed Databases instead of the panel's local MySQL.
- Protect your sites with included DDoS protection.
Try it yourself
Cloud Servers start at $3.25/mo, billed by the hour.