Installation Guide - System Requirements


Overview

Before you install cPanel & WHM or cPanel DNSOnly®, make certain that your system meets all of our minimum requirements for new installations.

Warning:
  • This document lists the minimum requirements to install cPanel & WHM. A 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 root user in order to install cPanel & WHM. If you do not possess root-level access, contact your system administrator or hosting provider for assistance.

License

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.

Warning:
  • 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.

Note:
  • cPanel & WHM requires a valid license. If this is a new installation, you can activate a free 15-day trial license.

  • 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.

Networking requirements

Hostname

A registered fully-qualified hostname that does not match any of your server’s domains and resolves to a valid IPv4 or IPv6 address.

Note:
If your server does not use a resolvable fully-qualified domain name as the hostname, it will automatically receive one from cPanel, L.L.C. For more information, read our Automatically-Issued Hostnames documentation.

IP addresses

  • 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.

Ethernet device

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.

Warning:

You cannot use an IP address that a DHCP service dynamically assigns to your server.

Firewalls

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.

Important:

Red Hat® Enterprise Linux (RHEL), CloudLinux™, and CentOS 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 CloudLinux 6, run the following commands:

1
2
3
/etc/init.d/iptables save
/etc/init.d/iptables stop
/sbin/chkconfig --del iptables

To deactivate firewalls on CentOS 7 and 8, CloudLinux 7 and 8, and RHEL 7, run the following commands to deactivate the firewall, where ~/firewall.rules represents the firewall rules file:

1
2
3
iptables-save > ~/firewall.rules
systemctl stop firewalld.service
systemctl disable firewalld.service
Warning:

cPanel & WHM version 92 for CentOS 8 and CloudLinux 8 is experimental software and is not recommended for production environments. For more information, read our cPanel & WHM for CentOS 8 documentation.

Utilities

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 ipaliases module.

Warning:
  • 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.

Note:

On systems that run CentOS 8, the cPanel & WHM installer will automatically disable the Network Manager service and enable the network.service service.

Warning:

cPanel & WHM version 92 for CentOS 8 and CloudLinux 8 is experimental software and is not recommended for production environments. For more information, read our cPanel & WHM for CentOS 8 documentation.

Hardware requirements

Operating system and version Processor RAM Disk Space Architecture
CentOS 7, CloudLinux 7, or RHEL 7 1.1 GHz
  • Minimum: 1 GB
  • Recommended: 2 GB
  • Minimum: 20 GB
  • Recommended: 40 GB
64-bit
CloudLinux 6 1.1 GHz
  • Minimum: 768 MB
  • Recommended: 1 GB
  • Minimum: 20 GB
  • Recommended: 40 GB
64-bit
CentOS 8 and CloudLinux 8
Experimental
1.1 GHz
  • Minimum: 1 GB
  • Recommended: 2 GB
  • Minimum: 20 GB
  • Recommended: 40 GB
64-bit
Warning:

Hardware considerations

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.

Note:
  • The cPanel & WHM installation and upgrade processes require at least 5 GB of additional disk space in the /usr/local/cpanel directory.

  • 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.

Operating systems

cPanel, L.L.C. supports all of the official production release kernels for these operating systems:

CentOS

We currently support CentOS version 7.

Note:
  • Installations of cPanel & WHM on CentOS servers must use CentOS version 7.

  • 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.

We offer minimal functionality for CentOS version 8. This version is unsupported.

We added an experimental version of cPanel & WHM version 92 that has minimal functionality in CentOS 8 and CloudLinux 8 servers. However, we currently do not provide support for this version.

Warning:
  • cPanel & WHM version 92 for CentOS 8 is experimental software and is not recommended for production environments. For more information, read our cPanel & WHM for CentOS 8 documentation.

  • 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.

CloudLinux

We currently support CloudLinux versions 6 and 7.

Warning:
  • We strongly recommend that you install cPanel & WHM on a basic CloudLinux installation. Certain CloudLinux features, such as CageFS, MySQL® Governor, and LVE Manager, modify cPanel & WHM when you install them. Because of this, we also recommend that you customize your CloudLinux installation after you install cPanel & WHM.

  • cPanel, L.L.C. does not support the use of Xen® paravirtualization (Xen PV) with CloudLinux.

  • If you are using an operating system source that cPanel, L.L.C. did not provide, you must disable SELinux.

We offer minimal functionality for CloudLinux version 8. This version is unsupported.

Warning:
  • cPanel & WHM version 92 for CloudLinux 8 is experimental software and is not recommended for production environments. For more information, read our cPanel & WHM for CentOS 8 documentation.

  • We strongly recommend that you install cPanel & WHM on a basic CloudLinux installation. Certain CloudLinux features, such as CageFS, MySQL® Governor, and LVE Manager, modify cPanel & WHM when you install them. Because of this, we also recommend that you customize your CloudLinux installation after you install cPanel & WHM.

  • cPanel, L.L.C. does not support the use of Xen® paravirtualization (Xen PV) with CloudLinux.

  • If you are using an operating system source that cPanel, L.L.C. did not provide, you must disable SELinux.

If cPanel & WHM already exists on your server, you own an IP address-based CloudLinux license, and you wish to convert from CentOS to CloudLinux, run the following commands:

1
2
3
wget http://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy
sh cldeploy -i
reboot

To install CloudLinux on a clean server, read the CloudLinux Installation Guide.

After you install CloudLinux, run the following commands:

1
2
/usr/sbin/clnreg_ks
yum update

CloudLinux licensing

You must obtain a CloudLinux license before you begin the installation process. This license allows you to run CloudLinux and to receive patches and updates.

  • You can acquire the license from your provider or from the cPanel Store. If you purchase the license from the cPanel Store, you will automatically receive an IP address-based license.

  • We grant this license based on the static IP address at which you installed the operating system (OS).

  • If you purchase an IP address-based CloudLinux license, the cPanel & WHM installation process automatically installs CloudLinux.

Red Hat Enterprise Linux

We currently support Red Hat Enterprise Linux version 7.

Note:
  • 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.

Warning:

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.

Amazon Linux

Warning:
  • You cannot install cPanel & WHM on a system that runs Amazon Linux. We do not support Amazon Linux 2, and Amazon Linux 1 reached End Of Life status on June 30, 2020. For more information, read the cPanel Deprecation Plan.

  • Use the official cPanel & WHM AMI to install cPanel & WHM on the Amazon hyperscaler. That image uses the CentOS operating system.

Operating state

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
CloudLinux 6 Runlevel
  • Default: 3
  • Recommended: 3
/etc/inittab
CentOS 7, CloudLinux 7, or RHEL 7 Target multi-user.target /usr/lib/systemd/system
CentOS 8 and CloudLinux 8
Experimental
Target multi-user.target /usr/lib/systemd/system
Warning:

cPanel & WHM version 92 for CentOS 8 and CloudLinux 8 is experimental software and is not recommended for production environments. For more information, read our cPanel & WHM for CentOS 8 documentation.

Change the operating state

To change the OS’s runlevel for CloudLinux 6 perform the following steps as the root user:

  1. Open the /etc/inittab file with a text editor.

  2. Locate the following line:

    id:5:initdefault

  3. Change the number after id: to the runlevel that you wish to set. For a complete list of runlevels, read linfo.org’s Runlevel definition documentation.

  4. Save your changes.

To change the OS’s runlevel for CentOS, CloudLinux, or RHEL 7, 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.

Disable SELinux

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.

  • Edit the /etc/selinux/config file to set the SELINUX parameter to disabled, and then reboot the server. The contents of the /etc/selinux/config file 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=targeted
    Important:

    Make certain that the number sign (#) does not precede SELINUX=disabled. If a # precedes this configuration option, the system ignores the option.

Warning:
  • To run cPanel & WHM on your server, SELinux must remain disabled.
    • SELinux in enforcing mode 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 sestatus command.
  • 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 installation

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.

Note:

We strongly recommend that you allow your operating system’s distribution to control the system Perl installation. Do not customize this Perl installation.

Filesystems

When you install your operating system (OS), we recommend that you use the XFS® or ext4 filesystems.

Note:

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.

Partitions

Note:
  • 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).
Note:
To host a greater number of accounts, allocate more disk space to this partition.
swap
  • 2 GB or less — Two times the amount of RAM on the server.
  • 2 GB to 4 GB — The same as the amount of RAM on the server.
  • 4 GB or more — 4 GB
Warning:
  • 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:

Inodes

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.

Virtual environments

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_router system 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.

  • OpenVZ

    • cPanel only supports stable releases.
    • CloudLinux is not compatible with OpenVZ.
  • 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.

  • Virtuozzo™

    • CloudLinux is not compatible with Virtuozzo.
    • 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.

Compatible browsers

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)

  • Internet Explorer® (Windows)

  • Safari® (MacOS)

Mobile versions of Firefox, Chrome, and Safari are also compatible with cPanel & WHM.

Note:

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.