aaPanel – An Open Source Alternative For cPanel

aaPanel free open source control panel

cPanel is the control panel for web hosting built by cPanel LTD. In the last article of the Linux cPanel series, I reviewed Virtualmin, a popular, free, and open-source control panel. aaPanel is also a free and open-source control panel for Linux. It’s easy to install & all the web hosting options are well-categorized for easily managing websites and databases.

cPanel is a very popular control panel for web hosting. Most web hosting companies including Hostgator, Bluehost, and GoDaddy provide cPanel to easily perform tasks on servers. But, it is not free.

In this series, I am hunting down the best open source control panels for web hosting. aaPanel is one of such hosting panels that provides an easy to use GUI interface with a great number of options and security features.

First of all, aaPanel is easily installable. It provides a single script to be run on a newly created server. The script installs all the tools, dependencies, and sets up a user account to log in.

It is highly recommended that you run the script on a fresh system. Still, if you want to run it on a server that already has a few user-installed programs running, use the –force option when executing the script. Anyway, enough talk. Let’s do some practical.

Server Requirements

  • 512M or more (768M or more is recommended)
  • More than 100M available hard disk space
  • Debian, Ubuntu, Deepin, CentOS (CentOS is recommended)
  • Clean server (No server environment such as Apache or Nginx should be installed)

Install aaPanel on Linux

Currently, aaPanel supports Debian, Ubuntu, and CentOS. If you have no server, go with MassiveGRID. They provide solid servers with active support.

For Debian –

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh

For Ubuntu –

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh

For CentOS –

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh

Run the script –

sudo bash install.sh

The script requires a few user inputs. It’ll ask for the aaPanel installation directory, by default it’s installed in /www. Type ‘n’ for changing the directory.

Provide your email id, and hostname.

Download and install aaPanel

Now netflix and chill. The installation may take a little while.

After the installation is over, it will give you the login URL, username, and password. Notice the 8 digit code in the URL. Without this 8 digit code, the login panel will not open.

aaPanel installation completed
aaPanel login credentials

For the first time you log in, it will ask to install LAMP or LNMP. LAMP includes Apache, MySQL, PHP, Pure-Ftpd, and phpMyAdmin. LNMP installs Nginx, MySQL, PHP, Pure-Ftpd, and phpMyAdmin.

aaPanel dashboard

The installation takes too much time. On my server (i7 Hexacore, 16GB memory), it took around an hour for the LAMP installation to complete.

aaPanel recommended packages

Until LAMP installation completes, you can also fix a security issue. The default port for aaPanel is 8888. The team recommends changing the default port for security purposes.

To change the server port, go to settings and enter the port that is not already in use. Do not use port 80, 443, 22, and 21 as these ports are used by popular services on almost all servers.

aaPanel dashboard
aaPanel Change default port
aaPanel Settings

Add a new website

It is time to involve in some real business. Create a new website. Click the Website link from the sidebar, click ‘Add site’.

Now enter the domain name for your site, a brief description of your site, select the directory where the website should be stored, select if you want to create an FTP account. FTP account is useful to manage website files using Filezilla.

If you want to create a WordPress site, then choose to create a database. Select a PHP version and site category. Click ‘Submit’.

aaPanel Add site

Now you can point your domain name to the server’s IP address. aaPanel will redirect all the requests made from that domain to this website.

Websites list

If you forgot to create an FTP account while creating the website, you can create one now. From the website list, click add FTP user.

Add FTP account

There is a separate section for managing FTP accounts. Make sure not to leave any unnecessary FTP account. Set a strong password and change account passwords regularly.

FTP accounts

The panel also allows us to change the FTP port. I recommend changing the default FTP and ssh port.

Change FTP port

It’s easy to manage websites’ databases with aaPanel. Go to Menu >> Databases.

Add database

Change MySQL root password.

Change root password

If LAMP or LNMP is installed successfully, you can also manage databases with phpMyAdmin. Click phpMyAdmin and it will open phpMyAdmin.

phpMyAdmin databases

System Monitor

The server monitoring is important so the system monitoring is built-in to the panel. It provides realtime CPU, memory, storage usage.

aaPanel System Monitor

Server Security

To improve system security, it is important to block all unused ports. From the seuciryt tab, open or block the server port, easily change SSH port, block ICMP, and clean server logs.

From the Security tab, you can also monitor panel execution logs to check any suspicious activity.

Panel Security Settings

Besides these useful features, aaPanel also has a file browser, cron jobs management support, and an app store.

From apps store, you can install or upgrade PHP, install Apache/Nginx server, or install website speed package to improve websites’ loading time. There are many more packages available in the app store.

aaPanel Apps Store


aaPanel is very easy if not the easiest to use a control panel for web servers. It makes it really simple to perform day-to-day server management tasks with GUI. The only thing that I disliked about aaPanel is the time it took to install LAMP. It took around 1 hour!

So I would love it if they can reduce the time. But once the server is set up and the LAMP or LNMP is installed, the rest of the features work quickly.

Related posts

Best Linux Backup Software For Desktops And Servers [2021]

10 Steps To Secure Linux Server + {Bonus Tips}

What Is Headless Server

4 Comment

Hunter September 21, 2020 - 12:48 pm

I tried a few other panels (Virtualmin, Vesta, Froxlor and tinycp) until I found aapanel. I’m using it for almost a year now and it’s the best panel for me.

priya December 3, 2020 - 4:07 pm

i faceing these issues [ Aborted connection 6 to db ] may i know the solution

doug May 1, 2021 - 1:44 am

aaPanel should be considered unsecure and used only for testing or in cases where you are unconcerned about your web server being taken over.

Doug the Plug May 1, 2021 - 1:51 am

I trust aaPanel about as much as I trust the former President Donald J. Trumpinski or Russian Emperor Vladmir Prump. Consider this web panel unsecure and only use it as a throw away on throw away hardware/virtual servers.

Add Comment