Use this guide if you did not choose the cPanel template during checkout. We’ll cover a fresh manual installation on supported OSes, required prerequisites (FQDN, static IPv4, SELinux), the official installer command, first-time WHM setup, and common pitfalls.
Before You Start
- Fresh OS (no panel installed): Only install cPanel on a clean OS. Removing cPanel requires a full OS reinstall.
 - Supported OS (choose one):
- AlmaLinux 8 or 9 (recommended)
 - Rocky Linux 8 or 9
 - CloudLinux 8 or 9 (licensed)
 - Ubuntu 22.04 LTS
 
 - Static public IPv4 (no dynamic IP). If using NAT, configure proper 1:1 NAT.
 - Hostname (FQDN): e.g. 
server.example.com— must be a unique FQDN, not used by a cPanel account or a service subdomain likecpanel.example.com. - Resources: Minimum ~2 GB RAM recommended, 40 GB+ disk (more for email/databases). SSD/NVMe preferred.
 - License: You can start with a 15-day trial and convert to a paid license later.
 
Step 1 — Connect to the VPS and Update the OS
SSH to the server as root:
ssh root@YOUR.SERVER.IP
AlmaLinux / Rocky:
dnf -y update
Ubuntu 22.04:
apt update && apt -y upgrade
Set timezone (optional) and a proper FQDN hostname:
timedatectl set-timezone Europe/Bucharest
hostnamectl set-hostname server.example.com
    
Tip: Point an A record for server.example.com to your VPS IP. You can issue SSL for the hostname later in WHM.
Step 2 — SELinux & System Prep (RPM-based OS)
AlmaLinux / Rocky / CloudLinux only: cPanel is not compatible with SELinux. Disable it before installation.
# Check current mode (Enforcing/Permissive/Disabled)
getenforce || sestatus
# Temporarily set to Permissive for this session (if Enforcing)
setenforce 0  # ignore if it errors (already Permissive/Disabled)
# Permanently disable across reboots:
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# or manually edit /etc/selinux/config and set: SELINUX=disabled
# Reboot if SELinux was changed:
reboot
    
Ubuntu: Do not install SELinux; it’s not supported with cPanel. No action needed here.
Step 3 — (Optional) Add Swap if RAM Is Tight
If your VPS has low RAM, add a small swapfile to reduce out-of-memory risks during install:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
    
Step 4 — Run the Official cPanel Installer
Use the vendor-provided installer. It will fetch dependencies (including Perl if missing) and configure services.
cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
Notes:
- Install only on a fresh OS without other control panels or LAMP stacks.
 - Do not close your SSH session until the installer completes.
 - If something fails, check the log: 
/var/log/cpanel-install.log 
Step 5 — First Login to WHM and Initial Setup
- Open WHM: https://YOUR.SERVER.IP:2087
 - Login with: 
rootand your root password. - Complete the setup wizard:
- Enter a contact email for server alerts.
 - Confirm the hostname (
server.example.com) and main resolvers. - Set up nameservers (or use external DNS first; you can change later).
 - Agree to terms and finish.
 
 
/usr/local/cpanel/cpkeyclt.Step 6 — Open Ports (Only If You Later Enable LifeinCloud Firewall)
By default, LifeinCloud Firewall is off, so you can reach WHM/cPanel immediately. If you enable it later, allow:
- WHM: TCP 
2087(SSL) - cPanel: TCP 
2083(SSL) - Web: TCP 
80,443 - Mail (optional): TCP 
25,465,587,110,995,143,993 - FTP (optional): TCP 
21 - SSH: TCP 
22(or your custom port) 
For licensing, ensure the server can reach cPanel via DNS (outbound UDP/TCP 53) and inbound 2083/2087 as applicable.
Step 7 — Post-Install Checklist
- Secure WHM access: Change root password (if needed), add SSH keys, and restrict SSH password auth.
 - Hostname SSL: In WHM, issue an SSL for 
server.example.comso WHM/cPanel/webmail use a trusted certificate. - Packages & Features: Create hosting packages, enable services you need (Apache/PHP-FPM, Mail, DNS).
 - Backups: Configure automated backups (local + remote). Verify restores.
 - rDNS (PTR): If sending mail, set the PTR of your server IP to your hostname and add SPF/DKIM/DMARC.
 - Updates: Keep the OS and cPanel updated (WHM → cPanel Update Preferences).
 
Troubleshooting
- Installer failed: Check 
/var/log/cpanel-install.log. Ensure fresh OS, SELinux disabled (RPM-based), and sufficient RAM/disk. - WHM won’t load: Use 
https://YOUR.SERVER.IP:2087. If you enabled firewall rules, confirm port2087is allowed. - License issues: Verify a trial/paid license is active for your public IPv4, then run:
/usr/local/cpanel/cpkeyclt
 - Change hostname later: WHM → Networking Setup → Change Hostname (use a valid FQDN).
 - Service errors/logs: cPanel logs live under 
/usr/local/cpanel/logs/; installer log at/var/log/cpanel-install.log. 
