EasyApache 4 (EA4) installs, configures, updates, and validates your web server, PHP, and the other components of your web server. EasyApache 4 represents a total overhaul of how cPanel & WHM ships and maintains our Apache and PHP distributions.
We do not require that you use EasyApache, but it provides an easy and convenient way to modify your web server. Your cPanel & WHM license includes EasyApache.
To run EasyApache, use WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4).
EasyApache 4 provides a graphical interface for yum. You can use it on the command line if you prefer. For more information, read our Yellowdog Updater, Modified (yum) Basics documentation.
EasyApache 4 provides the following benefits:
We recommend that you update EasyApache 4 whenever we release an update for software that you use. For example, if you use PHP on your server, update your EasyApache 4 packages each time that PHP releases an update. To automatically update your installed packages, use a cron job, or select Run System Update in the EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4). You can also update your packages manually with the
yum update command.
The EasyApache options that you select will determine what EasyApache builds into your web server. As a general rule, do not select an option unless you need it. For each option that you select, make certain that you understand the functionality of the option and any security vulnerabilities that may come with it. EasyApache provides some preconfigured profiles with recommendations for their use.
We strongly recommend that you read the EasyApache 4 documentation if you are unsure about which profile to choose. The cPanel Default profile fulfills the requirements of most servers.
EasyApache 4 only supports Apache 2.4. You cannot install an older version of Apache.
If you require a version of PHP that EasyApache 4 does not provide, we recommend that you use the CloudLinux™ PHP Selector, because they provide hardened, secure versions of PHP. Otherwise, you must custom build the RPM. For more information, read our The EasyApache 4 Git Repository and Build Updates documentation.
To install a PHP module, connect to a yum repository, or use WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4). However, the interface does not support modules that we do not provide.
As of cPanel & WHM version 66, the MultiPHP system in EasyApache 4 recognizes PHP packages with prefixes other than
ea-. This allows the use of vendor-provided packages. You must install these packages with yum before you can use them. For more information, read our Yellowdog Updater, Modified (yum) Basics documentation. After you install the package, you can then access it in the MultiPHP system.
Install EasyApache 4 with the EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4) on systems that run cPanel & WHM version 60 through 76, or use the
/usr/local/cpanel/scripts/migrate_ea3_to_ea4 script. For more information, read our How to Install or Uninstall EasyApache 4 documentation.
You must migrate to EasyApache 4 before you upgrade to cPanel & WHM version 78. EasyApache 3 blocks cPanel & WHM version 78.
If you upgrade from EasyApache 3 to EasyApache 4, the system attempts to preserve your custom modifications. However, you may need to perform additional configuration manually.
EasyApache 4 removed OptMods and no longer supports them. However, in addition to the new RPM actions that EasyApache 4 can execute from its specification file, we created the
yum-plugin-universal-hooks RPM. These new hooks allow for executable actions based on the package name that they operate in. For example, if you run a script on an
ea-* package, if any updated packages exist in the
ea4 namespace, the system executes these scripts.
If you use custom Apache modules (for example, Cloudflare or PageSpeed), you must recompile and manually install those modules after you finish the migration process.
EasyApache 4 does not migrate custom MIME types. You must adjust these manually after you migrate your system. EasyApache 4 attempts to match MIME types with the appropriate PHP versions.
Some CloudLinux PHP Selector users may experience a few issues when they migrate to EasyApache 4. The CloudLinux team continually works with cPanel, L.L.C. to improve their integration with cPanel & WHM and EasyApache 4.
Apache 2.4 introduced changes to Apache's configuration file. cPanel & WHM servers use the
AdvConfig feature to manage the
httpd.conf configuration file. We updated this feature to handle Apache upgrades and downgrades. Apache 2.4 also introduced, renamed, and removed several directives.
This is normal behavior. The
cpanellogd daemon sends Apache a SIGUSR1 (graceful restart) signal every ten minutes so that it can rotate log files and process statistics.
Apache occasionally starts processes that listen for new connections. To do this, Apache uses an HTTP request that Apache sends to itself (a dummy request). You can safely ignore these dummy requests.
127.0.0.1for IPv4 or
::1for IPv6) as the remote address.
Dummy requests cannot use SSL. Servers with hosts that use SSL may receive entries in the log file that resemble the following example:
[info] [client ::1] Connection to child 6 established (server localhost:443) [info] Seeding PRNG with 656 bytes of entropy [info] [client ::1] SSL library error 1 in handshake (server localhost:443) [info] SSL Library Error: 336027900 error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol speaking not SSL to HTTPS port!? [info] [client ::1] Connection closed to child 6 with aborative shutdown (server localhost:443)
EasyApache adheres to the php.net supported versions timeline. The profiles that we supply in WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4) only provide PHP versions that php.net currently supports.
RPMs for unsupported versions of PHP will remain on the cPanel, L.L.C. mirrors and servers, but we will not provide any further updates.
PHP 7.0 and higher requires EasyApache 4 and cPanel & WHM version 54 or higher.
Yes. To install multiple versions of PHP on your system, perform the following steps:
For more information, read our PHP Home documentation.
EasyApache 4 supports PHP PECL module installations. To install a PECL module on your EasyApache 4 system via the command line, run the following command as the
scl enable ea-ssh2 'pecl install ssh2'
In this example,
To more easily allow you to install PECL and PEAR extensions, we also provide the following symlinks:
##represents the two-digit PHP version.
##represents the two-digit PHP version.
To install and activate ImageMagick, run the following commands as the
yum install ImageMagick ImageMagick-devel yum install pcre-devel scl enable ea-php## "pecl install imagick"
In this example,
You may receive the following transaction check error message:
Transaction check error: file /usr/lib/debug/usr/lib64/apache2/modules/libphp5.so.debug conflicts between attempted installs of ea-php55-php-debuginfo-5.5.30-7.7.x86_64 and ea-php56-php-debuginfo-5.6.16-5.7.x86_64 file /usr/lib/debug/usr/lib64/apache2/modules/libphp5.so.debug conflicts between attempted installs of ea-php54-php-debuginfo-5.4.45-7.7.x86_64 and ea-php55-php-debuginfo-5.5.30-7.7.x86_64 file /usr/lib64/apache2/modules/libphp5.so from install of ea-php55-php-5.5.30-7.6.x86_64 conflicts with file from package ea-php54-php-5.4.45-7.6.x86_64
The All PHP EasyApache 4 profile originally contained a DSO package for each version of PHP, which resulted in the installation of multiple DSO packages. We adjusted this profile to require that you install DSO manually with either WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4) or yum.
This error occurs when multiple DSO packages exist on the system. You can only run one DSO package at a time. You must manually adjust your system to correct this error.
To correct this error, perform the following steps:
In the PHP Handlers section of WHM's MultiPHP Manager interface (WHM >> Home >> Software >> MultiPHP Manager), look for multiple instances of the DSO handler. Determine the PHP version that you wish to use with DSO.
Log in to your server as the
Run the following command:
This example assumes that you want to use DSO with the
yum remove ea-php54-php ea-php54-php-debuginfo ea-php55-php ea-php55-php-debuginfo
This error occurs in the following circumstances:
In cPanel & WHM version 64 and higher, cPanel's MultiPHP INI Editor (cPanel >> Home >> Software >> MultiPHP INI Editor) writes PHP configuration changes to your
.user.ini file, and
.htaccess file. You can only use the DSO PHP handler with one version of PHP at a time. Because of this limitation, if you change your PHP configuration and then change your PHP version, the
.htaccess file's directives will not apply.
To fix this issue, open cPanel's MultiPHP INI Editor (cPanel >> Home >> Software >> MultiPHP INI Editor) and apply your settings again. The
.htaccess file will update with the proper directives.
mysql_connect ()error when I upgraded to EasyApache 4.
EasyApache 4 uses the
mysqlnd native driver. This driver does not support old pre-MySQL 4.1 passwords. We strongly recommend that you update all of your MySQL database password hashes before you upgrade to EasyApache 4.
500error after I updated to Apache 2.4.27-8
You may see an error that resembles the following example in your error log:
/home/phpinisuphp/public_html/.htaccess: Could not register method 'abcxyz' for <Limit from .htaccess configuration
This error occurs because of Apache changes related to the optionsbleed vulnerability, addressed with CVE-2017-9798. Due to this vulnerability, Apache no longer allows you to create custom
.htaccess registers at runtime. If you require custom registers, you must create them with a custom virtualhost include file. For more information about custom include files, read our Advanced Apache Configuration documentation.
If you see the following error, it usually indicates that a log file is too large for the system (generally, 2 GB or more):
[notice] child pid x exit signal File size limit exceeded (25)
To address this issue, run the
If your server hosts extremely large or active websites that reach this limit often, you may wish to disable logging for that website. If you disable logging, your server's performance will increase and you will avoid this error.
If you disable logging, the system will not generate statistics for that domain.
If you receive an
HTTP Error code: 206 Partial content error message, perform the following steps to find the cause:
tail -f /usr/local/apache/logs/error_logcommand.
mod_userdir module allows visitors to access a website via a URL that contains the user's username. For example, the following URLs use the
This URL style causes a conflict with the
mod_cgi modules, which Apache enables by default when you install EasyApache 4.
To configure your server to allow access to websites via this style of URL, perform the following steps:
mod_cgimodules in the Apache Modules section to Uninstalled.
a fatal error or timeout occurred while processing this directiveerror.
If you receive an
a fatal error or timeout occurred while processing this directive error, check the
/usr/local/cpanel/logs/error_log file for more information about the specific error that the system encountered. For more information, read our The cPanel Log Files documentation.