Linux cPanelsSystem Administration

aaPanel – An Open Source Alternative For cPanel

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 trendy control panel for web hosting. Most web hosting companies, including Hostgator, Bluehost, and GoDaddy, provide cPanel to perform tasks on servers easily. But, it is not free.

In this series, I am hunting down the best open source control panels for web hosting. aaPanel is one such hosting panel that provides an easy-to-use GUI interface with many 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
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 installation completed
aaPanel login credentials
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
aaPanel dashboard

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

aaPanel recommended packages
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 ports 80, 443, 22, and 21, as popular services use these ports on almost all servers.

aaPanel dashboard
aaPanel dashboard
aaPanel Change default port
aaPanel Change default port
aaPanel Settings
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. An 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
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
Websites list

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

Add FTP account
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
FTP accounts

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

Change FTP port
Change FTP port

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

Add database
Add database

Change MySQL root password.

Change 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
phpMyAdmin
phpMyAdmin databases
phpMyAdmin databases

System Monitor

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

aaPanel System Monitor
aaPanel System Monitor

Server Security

To improve system security, it is important to block all unused ports. Open or block the server port from the security tab, 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
Panel Security Settings

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

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

aaPanel Apps Store
aaPanel Apps Store

Conclusion

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.



10 comments

Hunter September 21, 2020 at 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.

Reply
priya December 3, 2020 at 4:07 pm

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

Reply
doug May 1, 2021 at 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.

Reply
Doug the Plug May 1, 2021 at 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.

Reply
hareesh October 15, 2021 at 12:10 pm

I’d been seeing your sha****ess comments on many blogs, it seems you are someone from competitor. Or else give reasons for your di****ad comments

Reply
Dude December 2, 2021 at 6:19 pm

State your reasons for believing aaPanel is insecure. Back up your claims with evidence please.

Reply
Johnathan December 10, 2021 at 11:41 pm

@doug & @Doug the Plug, I find that just because you may not be able to comprehend the process of how this program works, you may feel intimidated. As for your political views, your source (which you failed to even show) is about as useful as CNN. (no reliable source available because it’s their own opinion)
As for a Panel being unsecure. maybe if you was actually intelligent enough to set up the proper firewalls, and SSL certificates, complex passwords and use the proper ports then @doug & @Doug the Plug your site wouldn’t be unsecure. But who am I to make a comment, I’ve been using this panel for awhile now and I’ve had zero problems that any intelligent person can’t handle.
It is also apparent that if this was such an inferior piece of software then why are you so enamored with it’s security. As I can only assume that you would never use it, or was it that your just not intelligent enough to set up a proper secure web server. I’m going with the later on that.
Have a good day!

Reply
Mayowa April 1, 2022 at 12:51 am

Please why is my CPU usage and Load Status making it up to 100% please I need help

Reply
Sohail April 4, 2022 at 12:26 pm

Hi Mayowa,

It could be due to running the panel on server with low resources. Please upgrade your server or tell me if your server has good resources yet performing poor.

Reply
Roman July 24, 2022 at 5:56 am

I had set Apache but I had seen php-fmp overload CPU and Memory
Your site is very slow?
You should pass any panel and only pure Linux with Apache config can help you.

Best wishes

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.