What you will set up
By the end, you will have aaPanel running on your offshore VPS — a free web hosting control panel that lets you manage websites, databases, and SSL from a clean dashboard instead of typing commands all day.
Do one step at a time. Finish a step, check it works, then move on. Don’t change the firewall, the panel, and the web stack all at once — that makes problems hard to track down.
Before you start
The goal: install aaPanel on a fresh offshore VPS, log in to the dashboard, and set up a web stack so you can host websites.
Start clean. aaPanel works best on a brand-new VPS that has nothing else installed yet. Use a fresh Ubuntu, Debian, or CentOS server and log in as root. If anything is already on the server, take a snapshot first so you can roll back.
- Keep your domain login ready (for later, when you add a site).
- Keep your hosting/server panel login ready.
- Keep the server IP, username, and password (or SSH key) ready.
- Open a notes file — you will need to save the panel URL, username, and password it gives you.
- If you touch the firewall or SSH, keep one terminal window open until testing is done (so you don’t lock yourself out).
Where does each change happen?
Each kind of change lives in a different place. Here is the simple rule:
- Installing aaPanel & system updates → over SSH, as root.
- Websites, databases, PHP, SSL → inside the aaPanel dashboard in your browser.
- Domain records (DNS) → your domain or Cloudflare panel.
- Firewall ports → over SSH (and inside your provider’s control panel if it has its own firewall).

The steps
Step 1: Start with a fresh VPS and update it
Log in to your VPS as root over SSH. First, update the system so you are working with the latest packages.
apt update && apt upgrade -y
Check: the update finishes with no errors. (On CentOS use yum update -y instead.)
Step 2: Run the official aaPanel install script
Download and run the official installer. This example is for Ubuntu. When the script asks whether to continue, type y and press Enter. The install takes a few minutes.
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh
bash install.sh aapanel
Check: the script runs to the end without stopping on an error.
Step 3: Save your login details and open the port
When it finishes, aaPanel prints your panel URL, username, and password. Copy all three into your notes now — this is the only time it shows them clearly. Then open the panel port in the firewall so you can reach it from your browser.
ufw allow 8888/tcp
Check: you have the panel URL, username, and password saved, and port 8888 is allowed. (If your provider has its own firewall, open the port there too.)
Step 4: Log in and install a web stack
Open the panel URL in your browser and log in with the username and password from Step 3. On first login, aaPanel offers a recommended install prompt. Choose the LNMP stack (Nginx + MySQL + PHP) and let it install.
Check: after the stack finishes, the dashboard shows Nginx, MySQL, and PHP as installed and running.
Extra commands you may need
Run these only on your own server. If your server uses a managed panel, check with support before changing system-level settings.
Show your panel URL, username, and password again
bt default
Use this if you lost the login details that the installer printed.
Restart the aaPanel service
bt restart
Run this if the dashboard becomes unresponsive or after certain changes.
Keep short notes as you go
While you work, jot down each change: the old value, the new value, the time, and whether the test passed. For example: “Installed aaPanel 10:30, port 8888 opened, LNMP installed, dashboard loads, login works.” It sounds small, but it saves a lot of confusion if something breaks.
If you run server commands, paste the output into your notes too. Then if you ask support for help, you can show the exact command, the exact error, and the exact time.
If a step fails, how to undo it
Always have a way back. If the install goes wrong on a fresh server, the cleanest fix is to rebuild the VPS from a snapshot and start again. For the firewall, use the VPS console to re-open the SSH port if you get locked out. If you forget the password, reset it instead of reinstalling. Don’t change ten things at once.

How to test after setup
- Open the panel URL in a browser — the aaPanel login page should appear.
- Log in with the username and password from the install.
- Confirm the dashboard shows your web stack (Nginx, MySQL, PHP) as running.
- Add a test website in Website → Add site and open its default page.
- From SSH, run
bt defaultto confirm you can still recover the login details. - Reboot the VPS once and check the panel comes back up on its own.
Quick troubleshooting
| Problem | Likely reason | What to do |
|---|---|---|
| Panel won’t open in browser | Port blocked in the firewall, or you used the wrong port | Allow the panel port (ufw allow 8888/tcp) and use the exact URL from bt default |
| Forgot the password | You didn’t save the login details from the install | Run bt default to view them, or bt 5 to reset the password |
| Site won’t load after installing the stack | Domain not bound to the site, or wrong PHP version | Bind the domain to the site in the panel and set a supported PHP version |
Final checklist
- VPS is fresh and updated.
- aaPanel installed without errors.
- Panel URL, username, and password saved.
- Panel port open in the firewall.
- Web stack (LNMP) installed and the dashboard loads.
OffshoreKaka offers privacy-friendly VPS plans with full root access — ideal for running aaPanel on a fresh server you control.
FAQ
Is aaPanel really free?
Yes — aaPanel is a free web hosting control panel. You can install it and manage sites, databases, and SSL at no cost. Some optional add-on plugins are paid, but the core panel is free.
Will this get me to #1 on Google?
No honest tutorial can promise that. A well-run panel keeps your sites fast, online, and on HTTPS, which helps — but your content and backlinks still decide your ranking.
What should I send to support if something breaks?
Send your server IP, the exact panel URL you tried, the exact error message, a screenshot, the last change you made, and whether it started after the install, a firewall change, or the web-stack install.