I’m sure everyone of you reading this knows about and have used Cpanel. It’s great, simple and gets things done but what if your website grows enough that you need a VPS to host it on? Technically, you can have Cpanel installed on your VPS server but it’s gonna cost you extra.
VPS servers themselves can be costly and having to pay for Cpanel as well will just increase your hosting bill.
What if we told you there’s a clean and simple alternative to Cpanel? Which is free as well. Yes, you’ve heard that right. Meet aaPanel
What is aaPanel ?
aaPanel is a free and open-source control panel which ships with all essential control panel features without paying for a license or subscription. aaPanel is designed for a minimal and streamlined control panel experience so you get what you need without having to install a range of plugins. Get in-depth resource expansion, free security extensions, and a powerful online editor to code right in the control panel. aaPanel receives weekly updates to provide up-to-date features and secure your environment.
How to install aaPanel ?
Getting started with aaPanel is very easy. 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.
What are the Server Requirements to run aaPanel ?
- 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)
Installing aaPanel on a Linux server
Currently, aaPanel supports Debian, Ubuntu, and CentOS. If you have no server, go with Linode. They provide solid servers for a great price.
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.
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.
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.
The installation takes too much time. On my server (i7 Hexacore, 16GB memory), the LAMP installation took around an hour to complete.
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.
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’.
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.
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.
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.
The panel also allows us to change the FTP port. I recommend changing the default FTP and ssh port.
It’s easy to manage websites’ databases with aaPanel. Go to Menu >> Databases.
Change MySQL root password.
If LAMP or LNMP is installed successfully, you can also manage databases with phpMyAdmin. Click phpMyAdmin, and it will open phpMyAdmin.
The server monitoring is important, so the system monitoring is built-in to the panel. It provides real-time CPU, memory, storage usage.
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.
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 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.