Complete Guide to Installing aaPanel (2026): Step-by-Step VPS Deployment from Scratch

๐Ÿš€ Managed Cloud Hosting โ€” Try Cloudways for Free Trial! Get Started โ†’

๐Ÿ’ก Summary

  • aaPanel is the international edition of Pagoda Panel.
  • It offers a graphical interface for Linux server management and removes the cumbersome manual steps required to set up an LNMP environment.
  • This tutorial lays out the full workflow: connecting to a VPS, installing aaPanel, deploying WordPress, configuring SSL certificates and hardening server security.
  • It suits beginners building websites on a VPS for the first time, as well as webmasters who plan to manage servers independently after migrating away from shared hosting.
๐Ÿ’ก
๐Ÿ’ก

Hostinger โ€” Editor's Pick

Get the best price through our exclusive link and support our reviews.

Explore Hostinger โ†’

A quick note on what aaPanel actually is, since the question comes up often: BT Panel (ๅฎๅก”้ขๆฟ) is the Linux server management panel widely used in China, and aaPanel is its international version. The interface and feature set are essentially the same, but aaPanel drops some China-specific services and works more reliably in international network environments. If you're running an overseas VPS, aaPanel is the right choice over BT Panel.

The free version of aaPanel covers most website hosting needs โ€” site management, databases, SSL, scheduled tasks, and file management are all included. The Pro version adds more advanced features and is available as an optional purchase.


System Requirements and VPS Selection

aaPanel supports all major Linux distributions. Recommended options:

  • Ubuntu 22.04 LTS or 24.04 LTS
  • Debian 12
  • AlmaLinux 9
  • Rocky Linux 9

CentOS 7 has reached end-of-life and should not be used for new deployments.

VPS configuration reference:

Use Case CPU RAM Storage
Personal blog 1 core 2 GB 30 GB SSD
WordPress site 2 cores 4 GB 50 GB NVMe
WooCommerce store 4 cores 8 GB 100 GB NVMe

RAM is where bottlenecks appear first. WordPress running alongside MySQL and Redis on 1 GB of memory is a tight fit โ€” 2 GB is the practical minimum.


Step 1: Connect to Your VPS

Windows users can use Windows Terminal or PuTTY. Windows Terminal comes pre-installed on Windows 11 โ€” just search for it.

macOS / Linux users open a terminal and run:

ssh root@your-server-ip

Replace your-server-ip with your VPS's public IP address. The first connection will prompt you to confirm the host fingerprint โ€” type yes and press Enter. When entering your password, no characters will appear on screen; that's normal. Type the password and press Enter.


Step 2: Update the System

Before doing anything else, update the system. This step gets skipped often, and dependency issues later are the result.

Ubuntu / Debian:

apt update && apt upgrade -y

AlmaLinux / Rocky Linux:

dnf update -y

After updating, confirm the timezone setting:

timedatectl set-timezone Asia/Shanghai

Replace the timezone name with your actual location. Run timedatectl list-timezones to see all available options.


Step 3: Install aaPanel

aaPanel provides an official installation script that detects your system version automatically. Always verify the current installation command on the official aaPanel site before running โ€” the commands below are for reference only:

Ubuntu / Debian:

wget -O install.sh \
  http://www.aapanel.com/script/install-ubuntu_6.0_en.sh \
  && bash install.sh aapanel

AlmaLinux / Rocky Linux:

wget -O install.sh \
  http://www.aapanel.com/script/install_6.0_en.sh \
  && bash install.sh aapanel

Installation takes 5โ€“10 minutes and handles dependencies automatically. When it completes, the terminal will display something like:

==================================================================
Congratulations! Installed successfully!
==================================================================
aaPanel Internet Address: https://1.2.3.4:7800/xxxxxxxx
username: admin
password: xxxxxxxx
==================================================================

Save the panel URL, username, and password โ€” you'll need these for your first login.


Step 4: Open Firewall Ports

aaPanel uses a random port by default (typically around 7800). You need to open ports in two places:

Cloud provider security group

Providers like DigitalOcean, Vultr, and Hetzner have network firewall or security group settings in their control panels. Allow the following ports:

Port Purpose
22 SSH
80 HTTP
443 HTTPS
Panel port aaPanel console

Server-level firewall

On Ubuntu using UFW:

ufw allow 22
ufw allow 80
ufw allow 443
ufw allow 7800
ufw enable

Replace 7800 with your actual panel port.


Step 5: Log In to aaPanel

Open the URL shown at the end of installation in your browser โ€” the format is https://your-ip:port/random-path.

The browser will warn about an untrusted certificate, because the panel uses a self-signed certificate by default. Click "Advanced" and proceed anyway.

After your first login, do three things immediately: change the default password, change the panel port, and optionally bind your aaPanel account to receive security notifications.


Step 6: Install the LNMP Stack

On first login, a dialog will appear recommending software to install. Select:

  • Nginx (web server โ€” lower memory usage than Apache)
  • MySQL 8.0
  • PHP 8.2
  • phpMyAdmin (database management โ€” optional)
  • Redis (object cache for WordPress performance)

Click one-click install and wait 10โ€“20 minutes for everything to complete.

If the dialog doesn't appear on first login, find "App Store" in the left sidebar and install the above manually.


Step 7: Deploy WordPress

With the LNMP stack ready, add your first site. In the left sidebar, go to "Website" โ†’ "Add site" and fill in:

  • Domain: your domain name โ€” make sure DNS is already pointing to this VPS's IP
  • Root directory: keep the default or set a custom path
  • PHP version: select 8.2
  • Database: choose to create a new database and save the database name, username, and password

After the site is created, navigate to the web root directory and upload the WordPress archive, or use aaPanel's built-in file manager. The faster approach is downloading directly via wget:

cd /www/wwwroot/your-domain
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1
rm latest.tar.gz

Then open your domain in a browser and follow the WordPress installation wizard to enter your database details and complete setup.


Step 8: Configure SSL

In aaPanel's website management, click "SSL" for your domain, select "Let's Encrypt," enter an email address, and click apply.

Once issued, enable "Force HTTPS" to redirect all traffic to HTTPS. aaPanel handles automatic renewal before the certificate expires โ€” no manual action needed.


Step 9: Security Hardening (Don't Skip This)

Leaving aaPanel in its default configuration after installation is one of the most common mistakes. The following steps are not optional:

Change the default panel port

In "Settings," change the panel port to a non-default number โ€” something like 29876. After changing it, log back in using the new port and update both the server firewall and cloud security group rules accordingly.

Restrict panel access by IP

In the panel security settings, add your own IP to the whitelist so only approved IPs can access the panel. If you have a dynamic IP, either leave this blank or update it regularly.

Enable two-factor authentication

Turn on 2FA in account settings and bind it with Google Authenticator or Authy. This is an important layer of protection if a password is ever compromised.

Disable root password login, switch to SSH key authentication

Generate an SSH key pair if you don't have one:

ssh-keygen -t ed25519 -C "[email protected]"

Copy the public key to the server's authorized keys file:

mkdir -p ~/.ssh
echo "your-public-key-content" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Then edit the SSH configuration to disable password login:

nano /etc/ssh/sshd_config

Find these two lines and set them as follows:

PasswordAuthentication no
PubkeyAuthentication yes

Restart the SSH service:

systemctl restart sshd

Important: Confirm that SSH key login works successfully before restarting SSH โ€” otherwise you'll lock yourself out.

Set up automated backups

In aaPanel's "Cron" section, configure a daily backup of both site files and the database. Store backups in a separate location โ€” remote FTP or object storage works well.


Installing Docker (Optional)

If you want to run Docker applications on the same server โ€” Open WebUI, n8n, Dify, Nextcloud โ€” aaPanel's App Store includes a Docker manager that installs with one click.

Once installed, containers can be managed through the aaPanel interface without needing to remember Docker commands. For users who want to run WordPress alongside Docker-based applications on a single VPS, this combination is convenient.


Performance Optimization

WordPress performance depends heavily on caching. With Redis installed, add the Redis Object Cache plugin in WordPress and configure it to point at the local Redis instance.

OPcache accelerates PHP execution. Check that it's enabled in aaPanel's PHP settings โ€” it's usually on by default.

Nginx FastCGI Cache can cache full page output and works well for blogs with infrequent content updates, but the configuration is more involved. For beginners, start with a WordPress caching plugin like W3 Total Cache or LiteSpeed Cache and revisit FastCGI Cache later.


Common Troubleshooting

Panel installation fails: verify that your OS version is on the supported list, confirm the system was updated before installation, and check available memory โ€” less than 1 GB will cause the installer to fail.

Can't access the panel: check that the panel port is open in both the cloud security group and the server-level firewall. Both need to allow it.

SSL issuance fails: confirm that your domain's DNS is pointing to the current server IP. Let's Encrypt validates domain ownership by making an external HTTP request to your domain.

Port conflicts: if port 80 or 443 is already in use, check for other services listening on those ports with ss -tlnp | grep :80.


How aaPanel Compares to Other Control Panels

Panel Free Docker Support WordPress Learning Curve
aaPanel โœ… โœ… โญโญโญโญโญ Low
CyberPanel โœ… Partial โญโญโญโญโญ Medium
HestiaCP โœ… Limited โญโญโญโญ Medium
CloudPanel โœ… โญโญโญ โญโญโญโญโญ Medium
cPanel โŒ โญโญโญ โญโญโญโญโญ Low

aaPanel's main advantages are the free tier, solid Docker support, and an interface that's approachable for users coming from a Chinese-language hosting background. If you'd rather not deal with server management at all, managed platforms like Cloudways are worth considering โ€” less operational overhead, but at a higher price. Which direction makes sense depends on how much time you're willing to put into server maintenance.

๐Ÿš€

Ready for Hostinger? Now is the perfect time

Use our exclusive link for the best price โ€” and help support our content.

โ† Previous
Azure vs Google Cloud (2026): Why Ecosystem Lock-In is the Only Factor That Truly Matters

๐Ÿท๏ธ Related Keywords

๐Ÿ’ฌ Comments

150 characters left

No comments yet. Be the first!

โ† Back to Articles

VPS Rankings specializes in VPS selection, featuring provider reviews, rankings, practical tutorials, performance benchmarks and exclusive deals. Everything you need for research, comparison and purchase is available in one place.We cover budget web hosting and overseas cloud servers, enabling straightforward comparisons of specs, routing and pricing across providers. We also track CN2 GIA, low-latency Asian routes and other optimized solutions for China-facing networks and cross-border businesses. Our regularly updated VPS recommendations and practical guides help you make quick, well-informed decisions.