aaPanel is a web-based hosting control panel designed to simplify Linux server management. Using its intuitive Graphical User Interface (GUI), users can perform a wide range of server administrative tasks without typing command-line instructions. Developed by aaPanel Network Technology Co., Ltd., it is available for free (standard version) with an optional Pro Edition that includes additional features. Since its initial release in August 2014, aaPanel has been installed on millions of servers worldwide.
One of aaPanel’s greatest strengths is its ability to provide one-click deployment for web environments such as LAMP or LNMP, server resource monitoring, file management, SSL configuration, and security tools like firewalls. The panel also includes features such as Sub-accounts / Multiple Users (Pro Edition), an integrated App Store, WordPress Toolkit, and an easy-to-use database management system.
aaPanel provides installation scripts for both the Free and Pro editions. Supported operating systems include major Linux distributions such as Ubuntu, Debian, and AlmaLinux / Rocky Linux, with minimal system requirements (recommended at least 1 GB RAM). Thanks to its simple installation process, user-friendly interface, and rich feature set, aaPanel has become a popular choice among VPS users who want to manage domains, websites, databases, security, and backups without relying heavily on the command line.
Install aaPanel (Free Edition)
System Requirements
Before installing, ensure your server meets the following:
- Operating System: Ubuntu 22.04
- Root access
- A clean server (no other hosting control panel installed)
- The firewall or security group allows access to the aaPanel port
- Minimum hardware: 1 CPU core + 1 GB RAM
Installation Steps
Update the system packages:
apt update -yInstall wget or curl (if not installed):
apt install wget curl -yDownload and run the 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 ipsslDuring installation, you may be asked:
Do you want to install aaPanel to the /www directory now?Type y and press Enter.
The script will automatically:
- Download all dependencies (web server stack, PHP, database engine, etc.)
- Configure aaPanel services
- Create temporary login credentials
- Display your panel login URL, username, and password
Example output:
Congratulations! Installed successfully!
aaPanel Internet Address: http://<your-server-ip>:7800/<random-string>
username: randomuser
password: randompasswordInstall LNMP Web Stack
Open your browser and visit:
http://<IP-server>:7800/<random-string>Log in with the credentials shown after installation.
aaPanel will prompt you to install a web stack:
- LNMP (Nginx, MySQL/MariaDB, PHP, phpMyAdmin)
- LAMP (Apache, MySQL/MariaDB, PHP, phpMyAdmin)
Choose the stack that suits your needs, LNMP is recommended. aaPanel will automatically download and configure all required components.
Manage Websites
Once aaPanel is installed and you’ve logged in, the Website menu is one of the most frequently used sections. It serves as the central hub for managing domains, web files, SSL certificates, PHP versions, and site-specific configurations. Using the Website Manager, you can add, edit, or delete websites in just a few clicks — no need to manually edit configuration files like virtual-host.conf.
Add a New Website
- Go to Website → Add Site
- Fill in the configuration form:
- Domain Name: e.g.,
example.com - Root Directory: automatically set to
/www/wwwroot/example.com - FTP Account: optional, for FTP access
- Database: optional, automatically creates MySQL/MariaDB with user
- PHP Version: choose a version (e.g., PHP 8.2 / 8.3) or select Static for static sites
- Domain Name: e.g.,
- Click Confirm. aaPanel will automatically create the virtual host, directory, and database.
Website List and Status
All added domains appear under Website → PHP Project, showing:
- Domain name
- Running status
- Backup info
- Root path
- PHP version
- SSL status
- Traffic and logs
You can:
- Create backups with one click
- Start / Stop / Restart websites
- Delete a site (optionally removing files and database)
Website Configuration
Click Conf under Operate to open detailed configuration tabs:
- Domain Manager: add/remove domains
- Site Directory: change the web root location
- URL Rewrite: edit rewrite rules with ready templates (WordPress, Laravel, etc.)
- Config: edit virtual host configuration
- SSL: install SSL certificates (includes free Let’s Encrypt)
- PHP Version: change PHP per site
- Response Log: view access/error logs directly in the panel
Manage Databases
The Database menu simplifies MySQL/MariaDB management through a web interface. You can create databases, manage users, set remote access, perform backups, and open phpMyAdmin, all without using the command line.
Database List
- Open Database from the left menu.
- You’ll see a list of existing databases, showing columns like:
- Database Name
- Username
- Password
- Quota
- Backup Count
- Tools (phpMyAdmin, Permissions, etc.)
Create a New Database
Click Add DB, then fill in:
- DB Name: e.g.,
website_db - Charset:
utf8mb4(recommended) - Username & Password: auto-generated (or set manually)
- Permission:
Local,Everyone, orSpecified IP - Click Confirm to create the new database and user.
Access phpMyAdmin
- Click phpMyAdmin
- Check Enable public access (temporarily)
- Click Public Access, it will open in a new browser tab
- Log in using your database credentials
- Uncheck public access afterward for security
Manage PHP
aaPanel makes PHP management simple, ideal for developers and sysadmins who host multiple sites with different PHP requirements. Each PHP version can be installed, configured, and switched per website independently.
Install PHP Versions
- Go to App Store → Search “PHP”
- Available versions include PHP 7.4, 8.0, 8.1, 8.2, 8.3
- Click Install for your desired version
aaPanel will automatically compile and configure PHP on your server.
Set PHP Version per Website
Go to Website → Conf → PHP Version, choose the desired version, and click Switch.
Changes take effect immediately without restarting the entire server.
Configure PHP (php.ini)
Each PHP version has its own settings. Go to App Store → Installed → PHP → Setting → Configuration, and edit:
memory_limitupload_max_filesizepost_max_sizemax_execution_timedisplay_errors
Click Save. aaPanel reloads PHP-FPM automatically.
Manage PHP Extensions
Under Install Extensions, you can easily enable or disable modules such as:
- ionCube, Redis, Memcached, Opcache, APCu, Fileinfo, OCI8, etc.
Click Install or Uninstall. aaPanel handles everything automatically.
PHP Service Control
The Service tab lets you:
- Check PHP-FPM service status
- Start / Stop / Restart / Reload PHP services
Firewall
The Firewall tab under Security controls inbound and outbound network access. It provides an easy graphical interface to configure firewall rules without manually using iptables or ufw. You can define which ports are allowed or blocked based on your server’s services.
What is a Port Rule?
A Port Rule defines how network traffic is allowed or denied based on:
- Port number
- Protocol (TCP/UDP)
- Direction (Inbound/Outbound)
Examples:
- Port 22: SSH (remote login)
- Port 80: HTTP (web)
- Port 443: HTTPS (secure web)
- Port 21/20: FTP (file transfer)
You can Allow or Deny access, specify IP addresses, and define traffic direction.
Add a Port Rule
- Go to Security → Firewall → Add Port Rule
- Fill in:
- Protocol: TCP / UDP
- Port: single or range (e.g., 8080, 39000–40000)
- Source IP: All or specific IP
- Strategy: Allow / Deny
- Direction: Inbound / Outbound
- Remarks: Description (e.g., “Allow Node.js App”)
- Click Confirm
Changes apply immediately without a reboot.
Example Rules
Allow Node.js app (port 3000):
Protocol: TCP
Port: 3000
Source IP: All
Strategy: Allow
Direction: Inbound
Remarks: Allow Node.js AppRestrict MySQL access to one IP:
Protocol: TCP
Port: 3306
Source IP: 203.0.113.10
Strategy: Allow
Direction: Inbound
Remarks: Allow MySQL from Office IPBlock FTP port:
- Edit port 21 → Change Strategy to Deny
Firewall Tips
- Open only required ports, close unused ones.
- Use IP whitelisting, restrict SSH and DB access.
- Monitor “Listening” ports regularly.
- Backup rules before making major changes.
Conclusion
aaPanel is a lightweight, free, and user-friendly web hosting control panel for Linux servers and VPS environments. Its clean web interface allows users to handle essential administrative tasks from website deployment and database management to PHP configuration and firewall security without complex command-line operations.
For system administrators and developers seeking efficiency and flexibility, aaPanel offers a complete toolkit that supports multiple server stacks and automation features. This guide has covered the basics of installing and managing aaPanel on Ubuntu 22.04. For advanced features such as WAF, automated backups, load balancing, and clustering, refer to the official documentation at https://www.aapanel.com/docs/. By mastering aaPanel’s capabilities, you can build a secure, stable, and easy-to-manage hosting environment for your VPS.




