aaPanel is a free web hosting control panel you can install on your own Linux server. It manages websites, databases, PHP versions, SSL and FTP from a browser, and it also has a command-line tool for the jobs you can't do when the panel won't load. This guide covers the commands and paths you need day to day, how to secure the panel, and how to recover when you are locked out. It applies to your own VPS, not to shared hosting.
Run bt as root to open aaPanel's command menu: it restarts the panel, resets the login, changes the port and clears login restrictions. bt default shows the panel address. Websites live in /www/wwwroot, logs in /www/wwwlogs and web server configs under /www/server/panel/vhost. Keep the panel's security entrance, a non-default port and an IP allow-list on, and take backups off the server.
aaPanel needs root access and a clean server. It can't be installed on shared hosting, where the control panel (cPanel, DirectAdmin or Webuzo) is provided for you. To install it, see How to install aaPanel, and always copy the current install command from aaPanel's official website.
1. Before you start
- Use a fresh server. Install aaPanel on a newly installed OS with nothing else serving websites. Don't install it alongside another control panel.
- Pick a supported OS. Check aaPanel's site for the current list. CentOS Linux has reached end of life, so choose AlmaLinux, Rocky Linux, Ubuntu LTS or Debian instead.
- Run commands as root. Log in as root or use
sudo -i.
2. The bt command menu
bt is aaPanel's command-line tool. Run it with no arguments to get a numbered menu:
btThe menu covers the recovery and maintenance tasks, including:
- restart, stop, start or reload the panel;
- change the panel username or password;
- force-change the MySQL root password;
- change the panel port;
- clear login restrictions after too many failed attempts;
- remove the domain binding, IP restriction or security entrance if they lock you out;
- turn off panel SSL, BasicAuth or two-factor login for recovery;
- show the panel's error log and default login information.
Option numbers change between aaPanel versions, so read the menu each time rather than typing a number from an old guide. Two shortcuts are worth remembering:
bt default # panel URL, port, security entrance and username
/etc/init.d/bt restart # restart the panel serviceOlder guides suggest commands like python tools.py panel 123456. That sets a password anyone could guess, and it may be saved in your shell history. Use the bt menu, choose a long random password, and store it in a password manager.
3. Where things live
| What | Path |
|---|---|
| Website files | /www/wwwroot/yourdomain.com |
| Website access and error logs | /www/wwwlogs |
| Nginx site configs | /www/server/panel/vhost/nginx |
| Apache site configs | /www/server/panel/vhost/apache |
| Main Nginx config | /www/server/nginx/conf/nginx.conf |
| Main Apache config | /www/server/apache/conf/httpd.conf |
| Installed software | /www/server |
| Panel backups (default) | /www/backup/site and /www/backup/database |
Edit site settings in the panel where you can: aaPanel rewrites its own config files, and hand edits to a vhost can be overwritten when you change that site in the panel.
4. Managing the web stack
Install and control Nginx or Apache, MySQL or MariaDB, PHP, Redis and other software from the panel's App Store. Each app has its own settings page with start, stop, restart and reload buttons, its config file and its logs.
From the shell, test a config before reloading:
/www/server/nginx/sbin/nginx -tIf the test passes, reload Nginx from the panel or with its service script. A failing test prints the file and line with the error, so you can fix it before any site goes down.
Choose one web server per site stack. aaPanel can run Nginx or Apache; running both on the same ports doesn't work.
5. Secure the panel
Also harden SSH itself: key-only login, no password root login, and a firewall that opens only the ports you need. See the SSH security hardening checklist.
6. Recovering when you're locked out
- Get a shell.SSH in as root. If SSH is also blocked, use your VPS provider's console.
- Find the panel address.Run
bt defaultto see the URL, port and security entrance. - Clear the block.Run
btand choose the option for what went wrong: clear login restrictions after failed logins, remove the IP restriction, remove the domain binding, or reset the password. - Check the firewall.Make sure the panel port is open in aaPanel's firewall and in any other firewall running on the server.
- Read the error log.If the panel still won't load, use the
btmenu option that shows the panel error log, and restart the panel with/etc/init.d/bt restart.
7. Backups and removing aaPanel
- Backups. Schedule site and database backups in the panel's Cron section, and send copies off the server. A backup kept only in
/www/backupon the same VPS is lost with the server. - Removing aaPanel. Follow aaPanel's official uninstall instructions. Deleting the panel folder by hand leaves web server, database and PHP packages behind. If you want a completely clean server, back up your data and reinstall the OS instead. See Reinstalling your VPS operating system.
8. Running aaPanel on a Domain India VPS
A Domain India VPS is self-managed with full root access, so you can install aaPanel yourself and run it as you like. aaPanel isn't one of the control panel options at checkout, so choose no panel when you order, then install it on the fresh server. We don't administer aaPanel for you; for problems with the VPS itself, open a ticket. The card shows the live list price, excluding 18% GST.
- 1 vCPU
- 2 GB DDR4 RAM
- 64 GB NVMe SSD Storage
- 2 TB Monthly Bandwidth
If you would rather not run a server at all, cPanel shared hosting gives you a managed control panel without root access.
What is the bt command in aaPanel?
bt is aaPanel's command-line tool. Run it as root to open a numbered menu for restarting the panel, changing the password, username or port, resetting the MySQL root password, clearing login restrictions and viewing the panel error log.
How do I find my aaPanel login URL?
Run bt default as root. It prints the panel URL with its port and security entrance, and the username.
How do I reset my aaPanel password?
Log in to the server as root over SSH, run bt, and choose the option to change the panel password. Pick a long random password.
Where are website files stored in aaPanel?
In /www/wwwroot, with one folder per site. Access and error logs are in /www/wwwlogs.
Can I install aaPanel on Domain India shared hosting?
No. aaPanel needs root access and its own server. It runs on a VPS, where you install and manage it yourself.
Does Domain India manage aaPanel for me?
No. Domain India VPS plans are self-managed, so the software you install, including aaPanel, is yours to run and update. Open a ticket for problems with the VPS itself.
Ready to set up your own server? Compare VPS plans, follow How to install aaPanel, or open a ticket if the VPS itself isn't responding.
Self-managed KVM VPS with full root access and your choice of Linux, ready for aaPanel or any panel you prefer.
See VPS plans