Skip to content

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.

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

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

Installing CorePanel is straightforward. Follow these steps:

  1. Update your system
Terminal window
dnf update -y
  1. Run the installer
Terminal window
curl -fsSL https://get.corepanel.net/install.sh | bash

The 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:

Terminal window
curl -fsSL https://get.corepanel.net/install.sh | bash -s -- --yes
  1. Initialize the server

Run the interactive setup wizard to configure the panel hostname, administrator email, and password:

Terminal window
corepanel system init

See Initial Server Setup for a full walkthrough of the wizard.

  1. Access the panel

Once initialization completes, access your panel at its configured domain:

https://panel.example.com

Log 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.

Understanding these key concepts will help you make the most of CorePanel:

Each account in CorePanel runs in a completely isolated environment:

FeatureDescriptionSecurity Benefit
Dedicated PHP-FPM PoolEach account has its own PHP processPrevents cross-account PHP exploits
Separate Linux UserEach account is a separate system userOperating system-level isolation
Disk QuotasPer-account storage limitsPrevents storage abuse
File PermissionsStrict permission enforcement (0600 isolation)No unauthorized file access

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)

CorePanel’s backup system provides:

  1. Full Account Backups: A self-describing archive with the home directory, MySQL databases, mailboxes, and credentials
  2. Scheduled Backups: Recurring per-account or server-wide schedules (daily/weekly/monthly presets or custom cron) with retention pruning
  3. Full Restore: Recreate an entire account — domains, DNS, mail, databases, and files — from a single archive

Here are some common tasks you’ll perform with the corepanel CLI:

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):

Terminal window
corepanel account create example.com --owner-email john@example.com

Most commands identify accounts by their numeric id. Resolve a domain to its id with:

Terminal window
corepanel account list --search example.com

Add an alias (parked) or addon domain to an existing account, using its account id:

Terminal window
corepanel domain add 12 shop.example.net --type addon
Terminal window
corepanel status

Now that you understand the basics, explore these topics:

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:

Terminal window
# Scripted account provisioning
printf '%s' "$ACCOUNT_PASSWORD" | corepanel account create example.com --password-stdin --php 8.4 --quota 5120
# JSON output for scripting
corepanel account list --search example.com --json | jq '.[0].accountId'