Getting Started with CorePanel
Welcome to CorePanel - the modern, secure, and blazingly fast web hosting control panel designed for RHEL-based servers. This guide will help you get started with CorePanel and unlock the full potential of your hosting infrastructure.
What is CorePanel?
Section titled “What is CorePanel?”CorePanel is a next-generation web hosting control panel that combines security, performance, and ease of use. Built from the ground up for modern hosting needs, CorePanel provides:
- True User Isolation: Each account runs in a completely isolated environment with dedicated PHP-FPM pools
- WordPress Optimization: Built-in Early Hints, on-the-fly WebP, and performance optimizations
- Modern Stack: CoreHttpd with HTTP/3, PHP 8.4, 8.3, 8.2 and 7.4 side by side, and MariaDB 10.11 LTS out of the box (dynamic caching & JS/CSS minification on Pro)
- Security First: SELinux Enforcing, native pxShield WAF, privilege-separated services, and more
Quick Start
Section titled “Quick Start”Prerequisites
Section titled “Prerequisites”Before installing CorePanel, ensure your server meets these requirements:
- Operating System: RHEL 8/9/10, AlmaLinux, or Rocky Linux
- Architecture: x86_64 (64-bit)
- RAM: Minimum 2GB (4GB+ recommended)
- Disk Space: At least 20GB free space
- Network: Clean installation with internet access
Installation Steps
Section titled “Installation Steps”Installing CorePanel is straightforward. Follow these steps:
- Update your system
dnf update -y- Run the installer
curl -fsSL https://get.corepanel.net/install.sh | bashThe installer sets up the full stack: CoreHttpd, PHP-FPM (7.4 and 8.4), MariaDB 10.11 LTS, Postfix/Dovecot, Rspamd, PowerDNS, Pure-FTPd, and the CorePanel services.
It asks for confirmation before touching the server, because it takes ownership of the whole hosting stack and there is no uninstall — install on a fresh server only. For unattended provisioning, skip the prompt with --yes:
curl -fsSL https://get.corepanel.net/install.sh | bash -s -- --yes- Initialize the server
Run the interactive setup wizard to configure the panel hostname, administrator email, and password:
corepanel system initSee Initial Server Setup for a full walkthrough of the wizard.
- Access the panel
Once initialization completes, access your panel at its configured domain:
https://panel.example.comLog in with the user coreadmin and the password shown at the end of the wizard (also stored in /root/.corepanel_password).
If the panel domain does not resolve in DNS yet, you can reach the panel right away at https://<server-ip> (accept the self-signed certificate warning; verify the fingerprint printed by the wizard). That IP endpoint stays available afterwards as your way back in if DNS or the certificate ever breaks — see Accessing the panel by IP.
Core Concepts
Section titled “Core Concepts”Understanding these key concepts will help you make the most of CorePanel:
Accounts and Isolation
Section titled “Accounts and Isolation”Each account in CorePanel runs in a completely isolated environment:
| Feature | Description | Security Benefit |
|---|---|---|
| Dedicated PHP-FPM Pool | Each account has its own PHP process | Prevents cross-account PHP exploits |
| Separate Linux User | Each account is a separate system user | Operating system-level isolation |
| Disk Quotas | Per-account storage limits | Prevents storage abuse |
| File Permissions | Strict permission enforcement (0600 isolation) | No unauthorized file access |
WordPress Optimization
Section titled “WordPress Optimization”CorePanel includes built-in WordPress optimizations:
- Early Hints (HTTP 103): Pre-load critical resources before the page loads (all editions, on by default)
- Image Optimization: On-the-fly WebP conversion (all editions, on by default)
- Dynamic Caching: Intelligent caching with automatic cache invalidation (Pro and up)
- JS/CSS Minification: On-the-fly asset minification (Pro and up)
Backup System
Section titled “Backup System”CorePanel’s backup system provides:
- Full Account Backups: A self-describing archive with the home directory, MySQL databases, mailboxes, and credentials
- Scheduled Backups: Recurring per-account or server-wide schedules (daily/weekly/monthly presets or custom cron) with retention pruning
- Full Restore: Recreate an entire account — domains, DNS, mail, databases, and files — from a single archive
Common Operations
Section titled “Common Operations”Here are some common tasks you’ll perform with the corepanel CLI:
Creating a New Account
Section titled “Creating a New Account”Accounts are created from their primary domain. The CLI prompts for the account password (at least 12 characters, with lower-case, upper-case, and digit):
corepanel account create example.com --owner-email john@example.comFinding an Account ID
Section titled “Finding an Account ID”Most commands identify accounts by their numeric id. Resolve a domain to its id with:
corepanel account list --search example.comAdding a Domain
Section titled “Adding a Domain”Add an alias (parked) or addon domain to an existing account, using its account id:
corepanel domain add 12 shop.example.net --type addonChecking Service Status
Section titled “Checking Service Status”corepanel statusNext Steps
Section titled “Next Steps”Now that you understand the basics, explore these topics:
- Initial Server Setup: The
corepanel system initwizard in detail - CLI Reference: Every
corepanelcommand, flag, and example - Mail System: Learn about the email stack, SPF, DKIM, and authentication
Automation
Section titled “Automation”Everything the panel does goes through CorePanel’s JSON-RPC 2.0 API — the same interface used by the web UI and the corepanel CLI. For scripted provisioning today, use the CLI, which supports non-interactive usage and JSON output:
# Scripted account provisioningprintf '%s' "$ACCOUNT_PASSWORD" | corepanel account create example.com --password-stdin --php 8.4 --quota 5120
# JSON output for scriptingcorepanel account list --search example.com --json | jq '.[0].accountId'