Installation Guide - System Requirements for CentOS
This document describes the system requirements for your cPanel & WHM installation in a CentOS server. You can install cPanel & WHM in CentOS version 7 and 8 and Red Hat® Enterprise Linux® (RHEL) version 7.
Before you install cPanel & WHM or cPanel DNSOnly®, make certain that your CentOS or RHEL system meets all of our minimum requirements for new installations.
This document lists the minimum requirements to install cPanel & WHM. A CentOS or RHEL server that meets only these requirements may not function properly, especially when the server runs certain high demand functions.
You must log in to the server as the
rootuser in order to install cPanel & WHM. If you do not possess
root-level access, contact your system administrator or hosting provider for assistance.
Servers on an IP address with an active CloudLinux license will automatically convert to CloudLinux. To stop the conversion and keep CentOS on your server, add the
--skip-cloudlinuxinstallation option to the end of your installation command.
Each cPanel & WHM server requires its own license. If you do not already own a license for cPanel & WHM, you can obtain one for your server’s IP address. To obtain a cPanel & WHM license, visit the cPanel Store.
You cannot transfer a single cPanel & WHM license across multiple servers. This action may cause cPanel, L.L.C. to lock your license. For more information, read our Legal Agreements documentation.
Due to networking requirements, you cannot run an IPv6-only cPanel & WHM server. You must have at least one IPv4 address.
In order to activate a new license, you must have a cPanel Store account with a verified email address.
cPanel DNSOnly requires a DNSOnly license, which the server automatically obtains during installation. If this does not occur, contact cPanel Customer Service.
A hostname that meets the following requirements:
- Registered and fully-qualified domain name.
- Does not match any of your server’s domains.
- Maximum of 60 characters in length.
- Resolves to a valid IPv4 or IPv6 address.
A valid IP address.
A valid subnet address.
A default gateway IP address.
A 1:1 NAT and NAT loopback configuration if you server resides in a NAT-configured network.
A properly-configured Ethernet device with a static IP address and fully-qualified hostname. The system attempts to detect and set the ethernet device during the installation process.
You cannot use an IP address that a DHCP service dynamically assigns to your server.
Even though the installer attempts to open the necessary ports during the installation process, we recommend that you disable OS firewalls before you run the cPanel & WHM installation. When the installation process finishes, we recommend that you then configure a firewall with a third-party client. such as APF or CSF.
CentOS and RHEL distributions allow you to disable the firewall for the operating system’s installation configuration. We strongly recommend that you use this method.
To deactivate firewalls on CentOS 7 and 8 and RHEL 7, run the following commands to deactivate the firewall, where
~/firewall.rules represents the firewall rules file:
On systems that run CentOS 8, the cPanel & WHM installer will automatically disable the Network Manager service and enable the
For systems that run CentOS 7 and RHEL 7: you must disable Network Manager before you run the cPanel & WHM installation. The Network Manager service automates the network’s settings and disrupts connections to the IP addresses that reside in the
Disable Network Manager from the server’s console to prevent any interruption to network connectivity.
Exercise extreme caution when you run the commands to disable Network Manager. If you do not follow them exactly, your server may lose its network services.
|Operating system and version||Processor||RAM||Disk Space||Architecture|
|CentOS 8||1.1 GHz||
|CentOS 7 or RHEL 7||1.1 GHz||
We strongly recommend that you install at least 3 GB of RAM if you want to install the Clam AntiVirus Scanner (ClamAV) antivirus software.
We strongly recommend that installations on the Amazon® hyperscaler use the cPanel & WHM AWS Marketplace listing. That image uses the CentOS operating system.
You cannot install cPanel & WHM on a system that runs Amazon Linux. We do not support Amazon Linux 1 or 2. For more information, read the cPanel Deprecation Plan.
We do not support Advanced RISC Machines (ARM) architecture systems.
When you choose a server, consider the following questions:
How many sites do you plan to host?
Servers that host a large number of websites with associated email addresses and databases require more processing power, disk space, and RAM.
What kind of web hosting do you plan to do?
You can run cPanel & WHM with the minimum requirements in the table above. However, servers that host videos, music, or high-volume applications require more processing power, disk space, and RAM.
If you plan to host CPU-intensive applications on a virtual machine, we recommend that you evaluate your CPU load usage. You may need to assign additional CPU cores to satisfy the processing requirements of high-performance applications.
The cPanel & WHM installation and upgrade processes require at least 5 GB of additional disk space in the
Before the installation process begins, the system checks to ensure that your server meets these minimum memory requirements. If your server does not meet these requirements, the installation process will return an error message and then exit.
CentOS and RHEL versions
cPanel, L.L.C. supports all of the official production release kernels for CentOS 7 and 8 and Red Hat Enterprise Linux 7.
You can install cPanel & WHM in CentOS version 7 and 8.
Installations of cPanel & WHM on CentOS servers must use CentOS version 7 or 8.
- We offer support for cPanel & WHM version 92 in CentOS 7, and experimental support in CentOS 8.
- We offer support for cPanel & WHM versions 94 and 96 in CentOS 7 and CentOS 8.
We recommend that you use the minimal installer.
If you are using an operating system source that cPanel, L.L.C. did not provide, you must disable SELinux.
To install CentOS, read the CentOS Installation Guide.
Red Hat Enterprise Linux
You can install cPanel & WHM in Red Hat Enterprise Linux version 7.
Installations of cPanel & WHM on RHEL servers must use RHEL version 7.
cPanel, L.L.C. does not support installation on Red Hat Update Infrastructure (RHUI) systems.
If you are using an operating system source that cPanel, L.L.C. did not provide, you must disable SELinux.
To install Red Hat Enterprise Linux on a clean server, read the Red Hat Installation Guide.
After you install Red Hat Enterprise Linux, you must run the
rhn_register command to register the server with the Red Hat Network.
You must register the server before you install cPanel & WHM or cPanel DNSOnly. If you do not register the server, the installation will fail.
If your server is on the Red Hat Network and uses the satellite subscription method, you must install the
subscription-manager package before you install cPanel & WHM.
To subscribe to the Optional RPMs channel for RHEL 7, run the following command:
subscription-manager repos --enable rhel-7-server-optional-rpms
You may need to subscribe to additional channels to maintain all of the packages that cPanel & WHM requires.
In Linux, the operating system possesses several levels of operating states. Each different level represents a system configuration and allows users to access different processes.
|Operating system||Operating state||Setting||Location|
|CentOS 7 or RHEL 7||Target||
Change the operating state
To change the OS’s runlevel for CentOS or RHEL, run the following command as the
root user, where
TARGET.target represents the operating state target:
systemctl set-default TARGET.target
For a complete list of targets, visit freedesktop.org’s systemd.target article.
You must disable SELinux to make your system compatible with cPanel & WHM.
To disable SELinux security features, use one of the following methods:
Use the graphical interface to disable SELinux while you configure your operating system, and then reboot the server.
/etc/selinux/configfile to set the
disabled, and then reboot the server. The contents of the
/etc/selinux/configfile should resemble the following example:
1 2 3 4 5 6 7 8 9 10
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targetedImportant:
Make certain that the number sign (
#) does not precede
SELINUX=disabled. If a
#precedes this configuration option, the system ignores the option.
- To run cPanel & WHM on your server, SELinux must remain disabled.
- SELinux in
enforcingmode does not allow cPanel & WHM to function properly. For more information about SELinux modes, read the SELinux Mode documentation.
- While cPanel & WHM can function with SELinux in permissive mode, we recommend that you do not use it. Permissive mode generates a large number of log entries.
- To check the status of SELinux on your server, run the
- SELinux in
- Do not transfer the SELinux configuration file between computers. It may destroy the file’s integrity.
Uninstall ESET File Security
cPanel & WHM is not compatible with ESET® File Security. You must uninstall ESET File Security before you can install cPanel & WHM.
For information on how to uninstall ESET File Security, read ESET’s Knowledgebase.
Perl must exist on your server before the installation script for cPanel & WHM can run successfully. If Perl does not exist during installation, the cPanel & WHM installer attempts to install Perl via the
yum -y install perl command.
If you see errors during this step of the installation process, read our Troubleshoot Your Installation documentation.
For more information about Perl on your server, and which versions of Perl ship with specific operating systems, read our Guide to Perl in cPanel & WHM documentation. cPanel & WHM servers use multiple Perl environments.
We strongly recommend that you allow your operating system’s distribution to control the system Perl installation. Do not customize this Perl installation.
When you install your operating system (OS), we recommend that you use the XFS® or
We only develop and test cPanel & WHM on filesystems that support flock. Some network filesystems (for example, NFS) may require additional configuration in order to function properly. However, these configurations are difficult to implement successfully and we do not support them.
Your system’s applications may require additional swap space. Consult your application’s software developers or documentation for their swap space recommendations.
Additional partitions improve performance for some servers, especially servers with high email volume. The OS can only access a limited number of files per partition.
|Partition||RAM and minimum size|
||N/A — Grow to fill disk (40 GB recommended, 20 GB minimum).
To host a greater number of accounts, allocate more disk space to this partition.
CentOS’s automatic partitioning scheme is not optimized for cPanel servers. This scheme creates a relatively small home partition and a relatively large root partition (
In order to optimize space partitions for CentOS, we recommend the following options:
In Linux, an inode is a filesystem object that contains the owner, permissions, and other important metadata. Every file, image, directory, email, and symbolic link on your server requires an inode.
On average, files on webservers are usually smaller than on other types of servers. Therefore, we recommend that you allocate more than the default number of inodes on your server’s partitions.
If you install everything on a single partition, the base cPanel & WHM or cPanel DNSOnly installation requires at least 1,000,000 inodes, plus at least 50,000 inodes per cPanel account that you plan to host.
cPanel products support the following virtual environments with the following restrictions:
KVM — No additional restrictions.Note:
If you use a Linux bridge on a KVM server, you may experience problems with multicast routing.
These problems affect the server’s ability to resolve nodes on the network. For example, IPv6 Stateless Address Autoconfiguration (SLAAC) addresses may drop off intermittently, or the server may experience problems when it attempts to find the router.
To resolve this issue, set the
multicast_routersystem knob value to
2. For more information, read the CentOS-virt mailing list thread.
Linux Containers — cPanel & WHM requires additional configuration to run inside a Linux Container. For more information, read our Linux Containers documentation.
Linux-VServer — No additional restrictions.
Microsoft Server® 2008 Hyper-V, Microsoft Server 2012 Hyper-V — cPanel only supports the drivers and configurations that Microsoft® provides.
- cPanel only supports stable releases.
Oracle VM VirtualBox, VirtualBox OSE — No additional restrictions.
QEMU — No additional restrictions.
SmartOS — cPanel & WHM detects this virtual environment and reports as functional, but we do not officially support it.
- We support Virtuozzo version 7 and earlier.
- We only support Virtuozzo KVM and container environments.
VMware® Server, VMware ESX Server — No additional restrictions.
Xen, XenEnterprise™, XenExpress™, XenServer™ — No additional restrictions.
We specifically test cPanel & WHM with certain browsers to ensure compatibility. Other browsers will likely function, but may display differently or experience issues with certain features.
We develop and test cPanel & WHM to function with the latest versions of the following browsers:
Chrome™ (MacOS®, Microsoft® Windows®, Linux)
Firefox (MacOS, Windows, Linux)
Microsoft Edge (Windows)
Mobile versions of Firefox, Chrome, and Safari are also compatible with cPanel & WHM.
These browsers support some email features. The interfaces in cPanel & WHM will likely function, but you may notice minor defects or inconveniences that relate to specific functionality.