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:
Install several basic utilities that are useful during the installation and server administration:
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:
Confirm that you are running as root:
The command should return:
Install aaPanel
Run the official aaPanel installation script:
During installation, aaPanel will ask whether you want to install the panel into the /www directory:
Enter:
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:
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:
Allow access to the default aaPanel management port:
Allow HTTP and HTTPS traffic for hosted websites:
Check the current firewall rules:
If UFW is currently disabled and the required SSH rule has been configured, it can be enabled with:
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:
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:
This displays the current panel address and other aaPanel access information.
If you forget the aaPanel password, reset it with:
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:
For example, a website for example.com can use:
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:
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:
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:
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:
Start the panel service if it is stopped:
Restart aaPanel if required:
Useful aaPanel Command Line Tools
aaPanel includes the bt command-line management utility. Run it as root to display the available administrative options:
Display the current aaPanel access information:
Reset the panel password:
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: