How to Install cPanel/WHM on a VPS and Host Client Websites

How to Install cPanel/WHM on a VPS and Host Client Websites

For web hosting businesses, freelancers managing multiple client websites, or anyone who needs a GUI-based hosting control panel, cPanel/WHM is the industry standard. It provides a browser-based interface for managing hosting accounts, domains, email, databases, and files β€” without requiring clients to touch the command line.

This guide covers installing cPanel/WHM on a VPS, configuring it for multi-account web hosting, and the key settings to get production-ready hosting up and running quickly.

cPanel vs WHM: The Difference

Panel Who uses it What it manages
WHM (Web Host Manager) Server administrator (you) Server-wide settings, account creation, server health
cPanel End users / clients Files, email, databases, domains for their account

You access WHM as the server admin to create and manage hosting accounts. Each account gets its own cPanel login.

Requirements

  • Clean Ubuntu 20.04 or AlmaLinux 8/9 VPS (cPanel works best on RHEL-family; Ubuntu support is newer)
  • Minimum 2 GB RAM (4 GB+ recommended)
  • 20 GB+ SSD storage
  • A hostname with valid DNS pointing to your VPS IP
  • cPanel license ($16–$45/month depending on account count)

πŸ’‘ VPS.DO Tip: cPanel requires a license. Purchase one at cpanel.net or use cPanel’s 15-day free trial. VPS.DO’s KVM VPS plans fully support cPanel installation. View VPS Plans β†’


Step 1: Prepare the Server

# Start with AlmaLinux 8 (recommended for cPanel)
# Install via VPS.DO SolusVM OS reinstall

# Set hostname (must be a resolvable FQDN)
sudo hostnamectl set-hostname server1.yourdomain.com

# Update system
sudo dnf update -y

# Disable SELinux (required by cPanel)
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# Disable NetworkManager (cPanel manages networking)
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

Step 2: Install cPanel/WHM

# Download and run the official cPanel installer
cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest

Installation takes 20–60 minutes depending on server speed. The installer handles all dependencies automatically.

Step 3: Initial WHM Setup

Once installation completes, access WHM at:

https://YOUR_VPS_IP:2087

Login with root and your root password. Complete the setup wizard:

  1. Server Contact β€” Set admin email for alerts
  2. Nameservers β€” Set up ns1.yourdomain.com and ns2.yourdomain.com (add A records in DNS)
  3. Services β€” Enable/disable FTP, mail, etc.
  4. IP Addresses β€” Configure which IPs to use for hosting

Step 4: Create a Hosting Package

In WHM β†’ Packages β†’ Add a Package. Define resource limits for each tier:

Package: Basic Hosting
- Disk Space: 5,000 MB
- Monthly Bandwidth: 50,000 MB
- Max Email Accounts: 10
- Max Databases: 5
- Max Subdomains: 10
- Max Parked Domains: 5
- Max Addon Domains: 2

Step 5: Create a Client Hosting Account

WHM β†’ Create a New Account:

  • Domain: clientdomain.com
  • Username: clientuser (auto-generated)
  • Password: Set a strong password
  • Package: Basic Hosting
  • Contact Email: client@email.com

Click Create. The client can now log in to cPanel at https://clientdomain.com:2083.

Step 6: Install WordPress for a Client (via cPanel)

cPanel includes Softaculous for one-click CMS installation. From the client’s cPanel:

  1. Softaculous Apps Installer β†’ WordPress
  2. Configure: URL, admin username, site name
  3. Click Install β€” WordPress is live in under 2 minutes

Step 7: Configure SSL for Client Domains

WHM β†’ Manage AutoSSL β€” enable AutoSSL for all accounts. This automatically issues and renews Let’s Encrypt certificates for every hosted domain.

Step 8: Set Up Email for Clients

Each cPanel account can create email addresses for their domain. Clients access:

  • Webmail at https://clientdomain.com/webmail
  • IMAP/SMTP settings in cPanel β†’ Email Accounts

Key WHM Maintenance Tasks

Monitor server resources

# WHM β†’ Server Status β†’ Service Status
# WHM β†’ System Information β†’ Memory Usage

Run cPanel updates

/usr/local/cpanel/scripts/upcp --force

Backup configuration

WHM β†’ Backup β†’ Backup Configuration β€” configure automated backups to a remote FTP/SFTP server or S3 bucket. Set daily backups retained for 7 days.

Check mail queue

# View mail queue
/usr/sbin/exim -bp | head -50

# Clear frozen messages
/usr/sbin/exim -bp | grep frozen | awk '{print $3}' | xargs exim -Mrm

cPanel Resource Sizing Guide

Hosting Accounts RAM CPU Storage
1–10 accounts 4 GB 2 vCPU 100 GB SSD
10–30 accounts 8 GB 4 vCPU 300 GB SSD
30–100 accounts 16 GB 8 vCPU 500 GB+ SSD

Final Thoughts

cPanel/WHM transforms a bare VPS into a full-featured web hosting platform in under an hour. It’s the industry-standard choice for reseller hosting, agency client management, and anyone who needs a reliable GUI-based hosting environment. Combined with VPS.DO’s KVM infrastructure, you get a rock-solid foundation for a professional hosting business.

Related articles:

Fast β€’ Reliable β€’ Affordable VPS - DO It Now!

Get top VPS hosting with VPS.DO’s fast, low-cost plans. Try risk-free with our 7-day no-questions-asked refund and start today!