|Table of Contents|
What is EasyApache 4?
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.
How do I run EasyApache 4?
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.
Why should I run EasyApache 4, and how often should I run it?
EasyApache 4 provides the following benefits:
- Updates to PHP, Apache, and the modules that you select.
- Multiple concurrent versions of PHP.
- Decreased security vulnerabilities due to automatic updates.
- A simplified method to add, remove, or install components of your web server.
- Recommendations about compatibility.
- Easy access to information about the options you select.
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.
Which EasyApache 4 options should I select?
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.
What kind of symlink race condition protection does EasyApache 4 provide?
What should I do if I need an Apache module, PHP module, or PHP versions that is not available in EasyApache 4?
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.
Migrate to EasyApache 4
How do I upgrade to EasyApache 4?
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.
Can I keep my custom configurations?
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.
How does the migration to EasyApache 4 impact custom Apache modules?
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.
Will EasyApache 4 migrate my custom MIME types?
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.
I run a CloudLinux™ server and use the CloudLinux PHP Selector. How will the migration to EasyApache 4 impact this feature?
Some CloudLinux PHP Selector users may experience a few issues when they migrate to EasyApache 4. The CloudLinux team continually works with cPanel, Inc. to improve their integration with cPanel & WHM and EasyApache 4.
- For more information about the current state of CloudLinux migrations to EasyApache 4, read CloudLinux's Migrating to EasyApache 4 documentation.
- You can also post your questions in the CloudLinux Forums or cPanel Forums.
What functionality changed in Apache 2.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.
Why does Apache restart every ten minutes?
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.
What are Apache dummy requests?
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.
- Dummy requests appear in access log files with the local host (
127.0.0.1for IPv4 or
::1for IPv6) as the remote address.
- On a lightly-loaded server, WHM's Apache Status interface (WHM >> Home >> Server Status >> Apache Status) frequently displays a high number of dummy request connections. This occurs because the feature displays the last request to a worker slot (typically, a dummy request that starts a process so that the process can repeat).
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)
Which PHP versions does EasyApache 4 support?
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, Inc. mirrors and servers, but we will not provide any further updates.
How do I install a vendor-provided version of PHP?
Can I install more than one version of PHP?
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:
- Configure your system in WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4).
- Assign PHP versions to your users in WHM's MultiPHP Manager interface (WHM >> Home >> Software >> MultiPHP Manager).
For more information, read our PHP Home documentation.
How can I install PHP PECL Packages?
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:
- PECL —
##represents the two-digit PHP version.
- PEAR —
##represents the two-digit PHP version.
How do I install ImageMagick?
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,
Common issues and errors
I receive a transaction check error when I run the
yum update command.
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:
Note title Note:
This example assumes that you want to use DSO with the
ea-php56package. As a result, it removes all versions of DSO except the one that the
Code Block language bash
yum remove ea-php54-php ea-php54-php-debuginfo ea-php55-php ea-php55-php-debuginfo
- Run the
I use DSO and my PHP configuration is not correct.
This error occurs in the following circumstances:
- Your system runs cPanel & WHM version 64 or higher.
- You use DSO and PHP.
- You changed your PHP configuration in WHM's MultiPHP INI Editor interface (WHM >> Home >> Software >> MultiPHP INI Editor).
- You changed your PHP version to a different major version. For example, from PHP 5 to PHP 7, or vice versa.
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.
I received a
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.
I received a
500 error 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.
I received a File size limit exceeded error.
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.
I received a Partial content error.
If you receive an
HTTP Error code: 206 Partial content error message, perform the following steps to find the cause:
- Log in via SSH as the
- Run the
tail -f /usr/local/apache/logs/error_logcommand.
- Refresh the page that contains the error in your browser. The SSH session will display an error message that contains information about the error.
I receive a Not Supported error when I access my website with a mod_userdir-style URL.
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:
- Navigate to WHM's EasyApache 4 interface (WHM >> Home >> Software >> EasyApache 4).
- Select the desired profile in the Profile section.
- Click Customize.
- Set the
mod_cgimodules in the Apache Modules section to Uninstalled.
- Install EasyApache with the new profile.
- Set your PHP handler to use suPHP in WHM's MultiPHP Manager interface (WHM >> Home >> Software >> MultiPHP Manager).
I received an
a fatal error or timeout occurred while processing this directive error.
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.