Install and Use aaPanel on Ubuntu 24.04

aaPanel is a free and powerful web-based server control panel that provides an easy-to-use graphical interface for managing Linux web servers. It can be used to manage websites, PHP versions, databases, SSL certificates, files, backups, Docker containers, firewall rules and many other server services.


In this guide, we will install aaPanel on Ubuntu 24.04, configure access to the control panel and go through the most important steps required to start hosting websites.


aaPanel Requirements

Before installing aaPanel, it is recommended to use a clean Ubuntu 24.04 server without Apache, Nginx, PHP, MySQL or MariaDB already installed. aaPanel will install and manage the required web stack for you.


Minimum recommended server resources:


Update Ubuntu 24.04

Before installing aaPanel, update the package index and currently installed packages:

sudo apt update && sudo apt upgrade -y


Install several basic utilities that are useful during the installation and server administration:

sudo apt install curl wget ca-certificates -y


Switch to Root User

The aaPanel installer should be executed with root privileges. If you are logged in with a regular sudo-enabled user, switch to root:

sudo -i


Confirm that you are running as root:

whoami


The command should return:

root


Install aaPanel

Run the official aaPanel installation script:

URL=https://www.aapanel.com/script/install_panel_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_panel_en.sh "$URL";fi;bash install_panel_en.sh forum


During installation, aaPanel will ask whether you want to install the panel into the /www directory:

Do you want to install aaPanel to the /www directory now?(y/n):


Enter:

y


The installer will download and configure aaPanel automatically. At the end of the installation, the panel URL, username and password will be displayed.


Save the aaPanel Login Information

After installation, aaPanel displays information similar to the following:

aaPanel Internet Address: https://SERVER_IP:31750/SECURITY_ENTRANCE
username: YOUR_USERNAME
password: YOUR_PASSWORD


Save this information in a secure location. The security entrance is an additional random path added to the aaPanel login URL and should not be removed unnecessarily.


Configure UFW Firewall

If UFW is enabled on the server, allow SSH access before making any firewall changes:

sudo ufw allow OpenSSH


Allow access to the default aaPanel management port:

sudo ufw allow 31750/tcp


Allow HTTP and HTTPS traffic for hosted websites:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp


Check the current firewall rules:

sudo ufw status


If UFW is currently disabled and the required SSH rule has been configured, it can be enabled with:

sudo ufw enable


If the server is hosted by a cloud provider, you may also need to allow the aaPanel port in the provider's firewall or security group.


Note: If the installer displays a different panel port, use the port shown by your installation instead of 31750.


Login to aaPanel

Open the aaPanel Internet Address displayed after installation in your web browser:

https://SERVER_IP:31750/SECURITY_ENTRANCE


aaPanel uses a self-signed SSL certificate for the initial panel connection. Because the certificate is not issued by a publicly trusted Certificate Authority, your browser may display a security warning during the first login.


Continue to the panel and log in using the username and password generated during installation.


Recover aaPanel Login Information

If you forget the panel URL or the original login information, connect to the server through SSH as root and run:

bt default


This displays the current panel address and other aaPanel access information.


If you forget the aaPanel password, reset it with:

bt 5


Install the Web Server Environment

After the first login, aaPanel will allow you to install the web hosting environment. The two most common configurations are LEMP/LNMP and LAMP.

LNMP normally consists of Linux, Nginx, MariaDB/MySQL and PHP. LAMP uses Apache instead of Nginx.


Choose the stack that best matches your requirements. For a new server, allow aaPanel to install and manage the web server, database server and PHP versions instead of installing these components manually through Ubuntu packages.


For most PHP and WordPress installations, you will normally need:


Install PHP Versions

aaPanel can manage multiple PHP versions on the same server. Open App Store and install the PHP versions required by your websites.

Different websites can then be configured to use different PHP versions independently.

For modern applications, use a currently supported PHP release compatible with the website or application you are hosting.


Add a Website

To create a new website, open Website or PHP Project from the aaPanel interface and select Add Site.

Enter the domain name and configure the document root. aaPanel normally stores websites under:

/www/wwwroot/


For example, a website for example.com can use:

/www/wwwroot/example.com

During site creation you can also select the PHP version and create a database if the application requires one.


Configure DNS

Before the website can be accessed using its domain name, configure the domain DNS to point to the public IP address of the aaPanel server.


Create an A record similar to:

example.com A SERVER_IP
www A SERVER_IP


DNS changes may require some time to propagate depending on the DNS provider and the configured TTL.


Enable HTTPS with Let's Encrypt

Once the domain resolves correctly to the server, open the website configuration in aaPanel and select the SSL section.


Select Let's Encrypt, choose the required domain names and request the certificate.

After the SSL certificate has been successfully issued, enable Force HTTPS if all website content is ready to work over HTTPS.


Install WordPress with WP Toolkit

aaPanel includes WP Toolkit for deploying and managing WordPress installations. This is the preferred method for installing WordPress through the panel. Open WP Toolkit and create a new WordPress installation. Select the domain, installation directory, PHP version and database configuration, then configure the WordPress administrator account.


After installation, WP Toolkit can also be used to manage WordPress installations, plugins, themes and other WordPress-related tasks.


Manage Databases

Open the Database section to create and manage MariaDB or MySQL databases and database users.

For security reasons, each website or application should normally use its own database and database user instead of sharing the root database account.

If phpMyAdmin is installed, it can be used for browser-based database administration.


Manage Website Files

The aaPanel Files section provides a browser-based file manager for uploading, downloading, editing, copying and moving files.

Website files are normally stored below:

/www/wwwroot/


For large file transfers or automated deployments, SSH, SFTP or another dedicated deployment method is generally preferable to editing files manually through the browser.


Configure Automatic Backups

Regular backups are essential for production websites. aaPanel can create scheduled tasks for website and database backups.

Open Cron and configure scheduled backups for important website files and databases.


For important production servers, keep at least one backup copy outside the server itself. A local backup stored on the same disk will not protect your data if the server or storage device fails.


Secure the aaPanel Control Panel

After the server is operational, review the aaPanel security settings. The panel provides several options that can significantly improve management access security.


Recommended security measures include:


If you restrict access using Authorized IP, make sure you have SSH access to the server before enabling the restriction. An incorrect IP configuration can lock you out of the web interface.


Use a Domain Name for aaPanel

Instead of accessing aaPanel directly through the server IP address, you can configure a dedicated management hostname such as:

panel.example.com


Create a DNS A record pointing the hostname to the server and configure the domain in the aaPanel panel settings.


After binding a domain to aaPanel, verify that the domain works correctly before closing the current browser session. When a panel domain is configured, direct access through the IP address may no longer be available.


Check aaPanel Service Status

If the aaPanel web interface becomes unavailable, connect to the server through SSH and check the panel service:

/etc/init.d/bt status


Start the panel service if it is stopped:

/etc/init.d/bt start


Restart aaPanel if required:

/etc/init.d/bt restart


Useful aaPanel Command Line Tools

aaPanel includes the bt command-line management utility. Run it as root to display the available administrative options:

bt


Display the current aaPanel access information:

bt default


Reset the panel password:

bt 5


Keep aaPanel Updated

Keep aaPanel and the applications installed through it updated to supported versions. Before performing major updates to the web server, database server, PHP or aaPanel itself, create a working backup of your websites and databases.


Ubuntu security updates should also be installed regularly:

sudo apt update
sudo apt upgrade -y