aaPanel - Getting Started Guide
aaPanel is a free web hosting control panel that lets you deploy websites with Nginx or Apache, MySQL or MariaDB, and PHP - all managed through a simple web interface. This server comes with aaPanel 7.x pre-installed. The software stack (LAMP/LNMP) is not pre-installed - you choose and install it on first login.
Step 1 - Verify aaPanel Works
Your server's IP address and root password are shown on the Server Details page in your client panel. aaPanel is available immediately after your server is created. Open https://your.server.ip:7800/login in a browser to verify it works.
aaPanel login:
- Username:
admin - Password: the Panel Password you entered during the order
aaPanel only works over HTTPS. Your browser will show a security warning about the self-signed certificate - click Advanced > Proceed (or Accept the Risk in Firefox). This is expected and safe.
If you placed the server behind a VyOS router on a private network, set up port forwarding for ports 22 (SSH), 80 (HTTP), 443 (HTTPS) and 7800 (aaPanel). aaPanel hosts websites that must be reachable from the internet.
Step 2 - Install Your Web Stack
On first login, aaPanel will prompt you to choose a web stack:
| Stack | Components |
|---|---|
| LNMP (recommended) | Nginx + MySQL + PHP |
| LAMP | Apache + MySQL + PHP |
Select your preferred stack and versions, then click One-Click to install. Installation takes 5-15 minutes depending on your server resources.
You can also install components individually from the App Store tab.
Step 3 - Add Your First Website
After installing a web stack, click Website → Add site and enter your domain name. aaPanel will create the web directory and configuration automatically.
Before adding a domain, point it to your server by creating A records at your domain registrar:
| Type | Name | Value |
|---|---|---|
| A | @ | your.server.ip |
| A | www | your.server.ip |
DNS changes usually take a few minutes, but can take up to 24 hours. You can check the status at dnschecker.org.
Step 4 - Enable SSL for Your Domain
aaPanel has built-in Let's Encrypt support. To enable a free SSL certificate:
- Go to Website and click on your domain
- Click the SSL tab
- Select Let's Encrypt
- Check the domain names and click Apply
The certificate will be installed and renewed automatically.
Post-Installation
Fail2Ban - Brute-Force Protection
Your server comes with Fail2Ban pre-configured to protect SSH from brute-force attacks.
| Rule | Max Attempts | Ban Duration |
|---|---|---|
| SSH | 5 failed logins | 10 minutes |
Useful commands:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
aaPanel also has its own brute-force protection. Configure it in Panel Settings. If you accidentally lock yourself out, connect via VNC console in your client panel.
Service Management
aaPanel runs as a systemd service. Services installed through aaPanel (Nginx, Apache, MySQL, PHP-FPM) are best managed from the panel, but systemd works too:
# Restart aaPanel itself
/etc/init.d/bt restart
# Check aaPanel status
/etc/init.d/bt status
# Web stack (after installation)
systemctl status nginx
systemctl restart mysql
One-Click Applications
aaPanel includes a one-click installer for popular applications. Go to App Store to install WordPress, Laravel, Node.js, Java, Python and other frameworks without using the command line.
Server Credentials
aaPanel admin credentials are stored in /root/.aapanel_credentials.
Software Included
| Component | Details |
|---|---|
| Ubuntu | 24.04 LTS |
| aaPanel | 7.x (English edition) |
| Security | Fail2Ban, UFW firewall |
Troubleshooting
| Problem | Solution |
|---|---|
| Can't access aaPanel | Make sure you use https:// and port 7800 with /login path. Accept the self-signed certificate warning |
| Panel loading slowly on first access | aaPanel initialization takes up to 1 minute after first boot. Wait and refresh the page |
| Forgot panel password | SSH in and run: cd /www/server/panel && python3 tools.py panel "newpass". Or check /root/.aapanel_credentials |
| LAMP/LNMP installation failed | Ensure your server has at least 1 GB RAM and 10 GB disk. Retry installation from the App Store tab |
| Domain not resolving | Check that your domain's A record points to the server IP. Use dnschecker.org to verify |
| Blocked by Fail2Ban | Use VNC console in your client panel to unban your IP: fail2ban-client set sshd unbanip 1.2.3.4 |
| Forgot root password | Use VNC console in your client panel to reset it |