cPanel is the most widely used control panel in the web hosting world. Thanks to its graphical interface you can handle domain management, SSL installation, email accounts, databases and file operations easily, without needing any terminal knowledge. In this guide we go through all of cPanel's core features hands-on.
Related guides: What DNS is and how to change its settings · Domain names and WHOIS lookup · Guide to hosting types · Nginx configuration · Plesk panel management
cPanel Dashboard Overview
When you log in to cPanel you land on the main dashboard. This panel consists of server resource usage, shortcuts and categorised tools. Using the search bar in the top right corner you can quickly get to the tool you want.
| Section | Contents | What it is used for |
|---|---|---|
| Files | File Manager, Backup, Disk Usage | Uploading, editing and backing up files |
| Databases | MySQL Databases, phpMyAdmin | Creating and managing databases |
| Domains | Addon Domains, Subdomains, Redirects | Adding domains and subdomains |
| Email Accounts, Forwarders, MX Entry | Email accounts and forwarding | |
| Security | SSL/TLS, IP Blocker, Hotlink Protection | Certificates and access security |
| Software | Softaculous, PHP Selector, Node.js | Installing applications and choosing a PHP version |
| Metrics | Visitors, Errors, Bandwidth | Traffic and error analysis |
Adding Domains and Subdomains
You can host more than one website in cPanel. Sites other than the main domain are added as Addon Domains. Every addon domain gets its own directory, email accounts and statistics.
Adding an Addon Domain
- Go to cPanel > Domains > Addon Domains
- Type your domain name into the "New Domain Name" field (e.g. newsite.com)
- The Subdomain and Document Root fields fill in automatically
- If you wish, you can create a separate FTP account for this domain
- Click the "Add Domain" button
Adding a Subdomain
Subdomains let you create separate sections under your main domain. For example blog.yoursite.com or api.yoursite.com.
cPanel > Domains > Subdomains
Subdomain: blog
Domain: yoursite.com
Document Root: /home/username/public_html/blog
→ Click the Create buttonInstalling an SSL Certificate
HTTPS is mandatory both for security and for SEO. In cPanel you can easily install a free Let's Encrypt certificate or an SSL certificate you have bought.
AutoSSL (Free Let's Encrypt)
The AutoSSL feature is enabled at most hosting providers. It installs and renews a free SSL certificate automatically for all your domains.
- Go to cPanel > Security > SSL/TLS Status
- You will see a list of all your domains
- Domains without a certificate will be marked "AutoSSL Domain Validated"
- Click the "Run AutoSSL" button to start generating certificates
- The process can take a few minutes — the green padlock icon appears when the page is refreshed
Manual SSL Installation
If you need to install a specific SSL certificate (a Wildcard or EV SSL, for example):
cPanel > Security > SSL/TLS > Manage SSL Sites
1. Select the domain
2. Certificate (CRT): paste the contents of the certificate file
3. Private Key (KEY): paste the private key
4. Certificate Authority Bundle (CABUNDLE): paste the intermediate certificate
5. Click the "Install Certificate" button# .htaccess — HTTP to HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Creating an Email Account
With cPanel you can create professional email addresses on your own domain (info@yoursite.com, for example). You can set a separate quota for each account and access it through webmail.
cPanel > Email > Email Accounts > Create
Email: info
Domain: yoursite.com
Password: StrongPassword123!
Storage Space: 1024 MB (or Unlimited)
→ Click the Create buttonTo use your email account in Outlook, Thunderbird or on your mobile device, use the IMAP/SMTP settings below:
| Setting | Incoming (IMAP) | Outgoing (SMTP) |
|---|---|---|
| Server | mail.yoursite.com | mail.yoursite.com |
| Port | 993 (SSL) | 465 (SSL) |
| Encryption | SSL/TLS | SSL/TLS |
| Username | info@yoursite.com | info@yoursite.com |
| Authentication | Normal password | Normal password |
Creating and Managing Databases
Most web applications (WordPress, Laravel and so on) need a MySQL/MariaDB database. Through cPanel you can create a database, assign a user and manage everything with phpMyAdmin.
Creating a MySQL Database
cPanel > Databases > MySQL Databases
1. "Create New Database" — enter a database name: wp_mysite
2. "Create New User" — username: wp_user, set a password
3. "Add User to Database" — assign the user to the database
4. Tick the "ALL PRIVILEGES" option and click "Make Changes"With phpMyAdmin you can manage your database visually: viewing tables, running SQL queries, exporting and importing data.
-- Example queries you can run in the phpMyAdmin SQL tab
-- Show table sizes
SELECT table_name,
ROUND(data_length/1024/1024, 2) AS data_mb,
ROUND(index_length/1024/1024, 2) AS index_mb
FROM information_schema.tables
WHERE table_schema = 'wp_mysite'
ORDER BY data_length DESC;
-- Take a backup (use the Export tab, format: SQL)Using the File Manager
The cPanel File Manager lets you upload, edit, delete files and change permissions from the browser without needing an FTP client.
- Follow the path cPanel > Files > File Manager
- The public_html folder is the root directory of your website
- Use the "Upload" button to upload files (you can upload a zip and unpack it with "Extract")
- To edit a file, right-click > Edit or use the Code Editor
- To change permissions, right-click > Change Permissions (files: 644, folders: 755)
| Permission | Value | Description |
|---|---|---|
| Files | 644 | Owner reads/writes, everyone else only reads |
| Folders | 755 | Owner has full rights, everyone else reads/executes |
| wp-config.php | 600 | Only the owner reads/writes (security) |
| .htaccess | 644 | Owner reads/writes, everyone else reads |
Backup Operations
Regular backups are the single most important layer of protection against data loss. cPanel offers both full backups and partial backups (database, email, files).
Full Backup
cPanel > Files > Backup > Full Backup
Backup Destination: Home Directory
Email Address: admin@yoursite.com (gets a notification when it finishes)
→ Click "Generate Backup"
→ The backup file is created in your Home directoryPartial Backup and Restore
- Home Directory: a tar.gz archive of all your files
- MySQL Databases: a separate SQL dump for each database
- Email Forwarders & Filters: backups of the email configuration
- To restore, use the "Restore" tool in the relevant section
Modern Web Hosting and Server Infrastructure
A high-performance web hosting service rests on three basic infrastructure decisions: NVMe SSD disks (4-6 times the IOPS of a classic SATA SSD), the LiteSpeed Web Server or an Nginx + LSCache combination (9 times the request capacity of Apache) and CloudLinux + Imunify360 isolation. The hosting provider's control panel (cPanel, Plesk, DirectAdmin), daily backup policy, data centre location and support team response time also make a big difference. A local data centre gives visitors in your own country low latency, while European locations such as Hetzner Frankfurt or OVH Roubaix suit global traffic better. As a site grows, moving from shared hosting to a VPS and then to a dedicated server lets CPU/RAM/disk resources scale with what the website needs.