Skip to content

Latest commit

 

History

History
404 lines (291 loc) · 9.04 KB

File metadata and controls

404 lines (291 loc) · 9.04 KB

VPS Panel Installation & Configuration Tutorial | aaPanel / BT.cn (BaoTa) / 1Panel

License GitHub stars

A step-by-step guide to installing and configuring the most popular VPS control panels — aaPanel, BT.cn (BaoTa), and 1Panel — with one-click scripts, security hardening, and common optimizations.

Continuously updated | Last updated: 2026-03-31

中文 | English


Table of Contents


Why Use a Control Panel?

A web hosting control panel turns a bare Linux server into a managed environment with a graphical interface. Instead of memorizing dozens of terminal commands, you get a browser-based dashboard for websites, databases, SSL, and files.

Panel vs. Manual Setup

Task Manual setup Using a panel
Deploy a website 30+ min ~1 min
Configure SSL ~10 min ~30 sec
FTP management Manual config Built-in
Database management Command line Visual GUI
File management Command line Visual GUI

Mainstream Panel Comparison

Panel Highlights Recommended
aaPanel Free, full-featured, international edition ⭐⭐⭐⭐⭐
BT.cn (BaoTa) Chinese UI, large domestic user base ⭐⭐⭐⭐
1Panel Next-gen, open-source, Docker-native ⭐⭐⭐⭐⭐

How to choose:

  • aaPanel — best if you prefer an English interface and an internationally hosted control panel.
  • BT.cn (BaoTa) — best if you are a Chinese-speaking user who wants the largest community and tutorials.
  • 1Panel — best if you love modern UI and container-based workflows (Docker / coolify-style apps).

aaPanel Installation

1. One-Click Install

# CentOS
yum install -y wget && wget -O install.sh http://www.aapanel.com/install/install.sh && echo "y" | bash install.sh

# Ubuntu / Debian
wget -O install.sh http://www.aapanel.com/install/install.sh && sudo bash install.sh

2. Options During Installation

Select installation directory (default /www):
/www

Select panel port (default 8888):
8888

Set admin username:
admin

Set admin password:
your_password

After installation, visit:
http://your_vps_ip:8888

3. Install the LNMP / LEMP Stack

After logging in, open the App Store and install:

  • Nginx — web server
  • MySQL / MariaDB — database
  • PHP — runtime
  • phpMyAdmin — database management

4. Create a Website

1. Log into aaPanel
2. Click "Website" -> "Add site"
3. Fill in domain and FTP info
4. Choose a PHP version
5. Click "Submit"

5. Configure an SSL Certificate

1. Open the site -> "SSL"
2. Choose "Let's Encrypt"
3. Fill in your email
4. Click "Apply"
5. Enable "Force HTTPS"

BT.cn (BaoTa) Installation

1. One-Click Install

# CentOS
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh

# Ubuntu / Debian
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

2. Before You Install

⚠️ Make sure:
- The system is clean (fresh OS install)
- Ports 8888, 888, 80, 443 are open
- At least 2 GB RAM is recommended

3. Initial Setup

# After installation you will see:
Bt-Panel: http://your_vps_ip:8888
Username: admin
Password: your_password

# First login steps:
1. Bind a BT account (can be skipped)
2. Select a software suite (LNMP / BT fast install)
3. Wait for the installation to finish

4. Common Features

Feature Description
Website management Create & manage sites in one click
FTP Create FTP accounts
Database MySQL management
File manager Visual file operations
SSL Free HTTPS certificates
Cron jobs Backups / scheduled tasks

1Panel Installation

1. About 1Panel

Feature Description
Open source & free Available on GitHub
Modern UI Clean, beautiful interface
Docker support Container management built in
CLI tool 1pctl command provided

2. One-Click Install

# CentOS
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

# Ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

3. Installation Options

Select installation directory (/opt/1panel):
/opt/1panel

Set panel port (random):
(random — please note it down)

Set admin username:
admin

Set admin password:
your_password

After installation:
1Panel control panel: http://your_vps_ip:random_port

4. Using 1Panel

# Manage from the command line
1pctl user-info    # show user info
1pctl restart      # restart the panel
1pctl stop         # stop the panel
1pctl update       # update the panel

# Web UI sections
- App Store    : one-click app installs
- Website      : create & manage sites
- Database     : MySQL / PostgreSQL
- Container    : Docker management
- Backup       : scheduled backups

Panel Security Hardening

1. Change the Default Port

# aaPanel:  Panel Settings -> Change Panel Port
# BT.cn:     Panel Settings -> Change Panel Port
# 1Panel:
1pctl reset panel-port 22222

2. Bind a Domain

# Recommended: only allow access via a domain
# BT.cn:    Panel Settings -> Domain Binding
# aaPanel:  Panel Settings -> Domain Binding

3. Enable Panel SSL

# BT.cn:    Panel Settings -> Panel SSL -> Let's Encrypt
# aaPanel:  Panel Settings -> Panel SSL
# 1Panel:   Panel Settings -> SSL Certificate

4. IP Whitelist

# BT.cn:    Panel Settings -> IP Whitelist
# aaPanel:  Panel Settings -> IP Whitelist

5. Disable Password Login (Use SSH Keys)

# BT.cn: Panel Settings -> SSH Management -> Disable password login

Common Configuration

1. Configure PHP

# Increase upload limit
# BT.cn / aaPanel: PHP Management -> Upload Limit -> 100MB

# Increase memory limit
# PHP Management -> memory_limit -> 256M

# Enable PHP extensions
# PHP Management -> Extensions -> check what you need

2. Configure Nginx

# BT.cn / aaPanel: Config File -> add the following for performance

# Gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

# Buffers
client_body_buffer_size 10k;
client_header_buffer_size 1k;
client_max_body_size 100m;
large_client_header_buffers 4 16k;

3. Configure MySQL

-- Optimize MySQL (BT.cn / aaPanel: Database -> phpMyAdmin -> my.ini)

[mysqld]
max_connections = 200
key_buffer_size = 64M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 32M

4. Configure Cron Jobs

# BT.cn / aaPanel: Cron Jobs

# Backup website (daily at 3:00)
Task type: Backup website
Schedule:  Every day 3:00
Keep:      3 copies

# Backup database (daily at 4:00)
Task type: Backup database
Schedule:  Every day 4:00
Keep:      7 copies

FAQ

Q1: The panel cannot be accessed?

Cause Solution
Port not open Check the firewall
Service not running Restart the panel service
Insufficient memory Add swap or upgrade the plan
# Restart panel services
# BT.cn
bt restart

# aaPanel
btnginx restart

# 1Panel
1pctl restart

Q2: Forgot the panel password?

# BT.cn
bt 5

# aaPanel
btapi

# 1Panel
1pctl reset panel-password

Q3: How do I migrate a website?

1. Package the original website files
2. Export the database
3. Upload to the new server
4. Import the database
5. Update website config
6. Point the domain DNS to the new server

Recommended VPS

Name Highlights Price Link
VPSVIP VPS reviews & buying guides Server benchmarks & recommendations Website
Vultr Hourly billing, global locations From $3.5/mo Website
BandwagonHost Great price/performance $49.99/yr Website

License

CC BY-NC-SA 4.0 - 2026


VPSVIP | ClashVIP | ClashHub


For more VPS & Clash tools, check out Awesome VPS & Clash Tools.