Welcome to the official CCPanel documentation. This guide covers everything from installation to advanced configuration and API usage.
Before installing CCPanel, make sure your server meets the following requirements:
Install CCPanel with a single command as root on a fresh server:
curl -s https://install.ccpanel.net | bash
The installer will detect your OS and configure everything automatically. Installation typically takes 5–10 minutes. Once complete, you'll see your panel URL and login credentials.
CCPanel installed successfully!
Panel URL: https://your-server-ip:2083
Username: admin
Password: generated-password
Once the installer finishes, CCPanel runs in an unlicensed trial mode for 24 hours. You need to activate it with a valid license key before that window ends. Follow the steps below in order — skipping the server prep step is the most common reason activation fails.
Before running the license command, always make sure your OS packages are fully up to date. An outdated kernel or missing system library is the #1 cause of activation and service-start failures.
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y
# AlmaLinux / CentOS / RHEL
sudo dnf update -y
If the update installed a new kernel, reboot once before continuing:
sudo reboot
The license server and panel need outbound HTTPS access and a few inbound ports for the panel itself. If you're behind a cloud firewall (AWS Security Group, DigitalOcean Cloud Firewall, etc.), open these before activating:
license.ccpanel.net — required for activation and daily license checks
# UFW (Ubuntu)
sudo ufw allow 80,443,2083,2087/tcp
sudo ufw reload
# firewalld (AlmaLinux/CentOS)
sudo firewall-cmd --add-port=80/tcp --add-port=443/tcp --add-port=2083/tcp --add-port=2087/tcp --permanent
sudo firewall-cmd --reload
The license key is bound to your server's primary IP address, so a correctly resolving hostname avoids certificate and validation issues later:
hostname -f
timedatectl
If timedatectl shows the clock is off by more than a couple of minutes, sync it — an incorrect system time will cause the license signature check to fail:
sudo timedatectl set-ntp true
Grab your license key from my.dhakaitclub.com → Services → CCPanel, then run:
sudo ccpanel license --activate YOUR_LICENSE_KEY
License activated successfully!
Plan: Professional
Bound IP: 203.0.113.42
Expires: 2027-06-24
Status: ACTIVE
You can re-check activation status at any time with:
sudo ccpanel license --status
Each license is bound to one server IP at a time. If you're migrating, release the license on the old server first so it can be reused:
sudo ccpanel license --release
Then run the --activate command shown above on the new server.
After installation, follow these steps to get your first website running:
https://your-ip:2083CCPanel supports unlimited domains on Professional and Business plans. Each domain gets its own document root, PHP version, error logs, and resource limits.
Supported domain types: main domains, addon domains, subdomains, parked domains, and wildcard subdomains.
CCPanel provides a full REST API to automate account and server management. All API calls require authentication via an API token.
# Create a new hosting account
POST /api/v1/accounts
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"username": "client1",
"password": "secure123",
"email": "client@example.com",
"domain": "example.com",
"plan": "pro"
}
For a full list of API endpoints, see the API Reference section or visit api.ccpanel.net/docs.
The CCPanel WHMCS module allows automatic provisioning, suspension, and termination of hosting accounts when orders are placed or changed in WHMCS.
Installation:
/modules/servers/ in your WHMCS directory