cPanel/WHM (Web Host Manager) - The Best Installation Guide On The Internet with simple script

Sure! Here's a step-by-step, beginner-friendly tutorial on how to install the latest version of cPanel/WHM (Web Host Manager), including system requirements.
???? What is cPanel?
cPanel is a popular web hosting control panel that makes managing websites, domains, emails, databases, and files easy—even for non-techies. It’s usually used by hosting providers and server administrators.
✅ Minimum System Requirements
Before installing cPanel, make sure your server meets these:
1. Operating System (OS):
-
✅ AlmaLinux 8/9
-
✅ Rocky Linux 8/9
-
✅ CloudLinux 8/9 (Paid)
❌ Ubuntu, Debian, and Windows are NOT supported.
2. Server Type:
-
A fresh, clean server (No other control panel installed)
-
Root access (full admin rights)
3. Hardware Requirements:
Component | Minimum | Recommended |
---|---|---|
CPU | 1 Core | 2+ Cores |
RAM | 1 GB | 2 GB+ |
Disk | 20 GB | 40 GB+ SSD |
Network | Static IP address | Required |
⚠️ Dynamic or shared IP addresses will not work.
???? Pre-install Checklist
✅ Root SSH access
✅ Static IP
✅ Fully updated system
✅ Hostname (e.g., server.yourdomain.com
)
???? Step-by-Step Installation of cPanel
???? Step 1: Connect to Your Server
Use SSH to log in as root. You’ll need a terminal or software like PuTTY (on Windows).
ssh root@your-server-ip
???? Step 2: Set the Hostname
Set a valid hostname (e.g., host.yourdomain.com
):
hostnamectl set-hostname host.yourdomain.com
???? Step 3: Update the System
Make sure your OS is updated:
dnf update -y
???? Step 4: Disable Network Manager (if prompted)
systemctl stop NetworkManager
systemctl disable NetworkManager
⚠️ Optional but sometimes required depending on the system.
???? Step 5: Download and Run the cPanel Installer
Switch to the home directory and run:
cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest
???? This process can take 30–60 minutes, depending on your server.
???? Step 6: Log into WHM
After installation, access WHM (Web Host Manager):
https://your-server-ip:2087
Use your root username and password to log in.
???? Licensing
-
cPanel is paid software.
-
After installation, it will start a 15-day free trial.
-
You’ll need to buy a license from https://cpanel.net.
???? Security Tips After Installation
-
Set a strong root password.
-
Configure the firewall (CSF recommended).
-
Disable unused services.
-
Take regular backups.
???? Summary
Task | Status |
---|---|
Server Ready (OS, IP) ✅ | ✔️ |
Hostname Set | ✔️ |
System Updated | ✔️ |
cPanel Installed | ✔️ |
WHM Login Working | ✔️ |
???? What Are Prerequisites?
Before installing cPanel, your server must:
-
Have the correct OS
-
Be updated
-
Have a valid hostname
-
Have required packages and configurations
Let’s break it down for each supported distro.
Here is a quick installer file to make things easy.
Simply copy the below as a cpanel-prereqs.sh file - Here is a single auto-setup script code that prepares your server for cPanel installation on AlmaLinux 8/9 or Rocky Linux 8/9 (and also works for CloudLinux with minor tweaks).
#!/bin/bash
# cPanel Prerequisites Installer Script for AlmaLinux / Rocky Linux
# Run this as root: bash cpanel-prereqs.sh
# Function to display a message
print_msg() {
echo -e "\n\033[1;32m$1\033[0m\n"
}
print_msg "Starting cPanel prerequisites setup..."
# 1. Update system
print_msg "Updating system packages..."
dnf update -y
# 2. Install required packages
print_msg "Installing required packages..."
dnf install -y perl curl screen wget epel-release
# 3. Set hostname
read -p "Enter a fully qualified domain name (FQDN) for your server (e.g., host.example.com): " fqdn
hostnamectl set-hostname "$fqdn"
print_msg "Hostname set to $fqdn"
# 4. Set timezone (Optional: change this to your timezone)
print_msg "Setting timezone to Asia/Kolkata (you can change this)..."
timedatectl set-timezone Asia/Kolkata
# 5. Disable NetworkManager (optional – only if facing issues)
read -p "Do you want to disable NetworkManager? (y/n): " disable_nm
if [[ "$disable_nm" == "y" ]]; then
systemctl stop NetworkManager
systemctl disable NetworkManager
print_msg "NetworkManager disabled"
else
print_msg "Skipping NetworkManager disable step"
fi
# 6. Confirm static IP notice
print_msg "Please ensure your server is using a static public IP address."
# 7. Show completion message
print_msg "✅ Prerequisites installed and system ready for cPanel installation!"
# 8. Suggest next step
echo -e "\nTo install cPanel, run the following commands:\n"
echo -e "cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest\n"
What's Your Reaction?






