cPanel and WHM installation is a server-administrator task for a fresh supported operating system with root access. It is not something to run inside an existing shared-hosting account, and it should not be installed over another control panel or production software stack.
IN THIS ARTICLE
Check access and requirements
Check the current vendor requirements for the exact operating system, resources, hostname, networking and licence. Keep console access and a recovery plan. Installation changes the server substantially, and cPanel does not provide a normal uninstaller.
01 Install cPanel and WHM on a new self-managed server
- Provision a clean supported server and apply the vendor’s preparation requirements. Configure a valid fully qualified hostname and working DNS for the server.
- Confirm the licence and public static IP arrangement are eligible, including any supported NAT setup. Ensure required network access is available without exposing unrelated services.
- Connect as root through an authorised secure session. Use the installation command from the official guide after verifying its current URL: Code or configuration example
cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest - Allow installation to complete and retain the installer log. Do not install competing web, database or mail packages while the installer is running.
- Open WHM using the verified HTTPS server address and complete its initial configuration. Configure nameservers, service contacts, security, backups and packages before moving customer sites.
Confirm the expected result
Check licensing, service health, hostname certificates and a test hosting account. Perform a restore test and mail-delivery checks before relying on the server for production.
What should I do if the cPanel and WHM installation fails?
If installation fails, use the official troubleshooting guide and log rather than repeatedly rerunning unrelated scripts. Reinstallation or removal can require rebuilding the operating system, so recover existing data before taking that route.