This document discusses the main improvements and benefits that EasyApache 4 provides for site owners, server owners, server administrators, and application developers.
EasyApache 4 represents a total overhaul of how cPanel & WHM ships and maintains our Apache and PHP distribution. EasyApache installs, configures, updates, and validates your web server, PHP, and other components of your web server.
cPanel & WHM does not require that you use EasyApache, but it provides an easy and convenient method to modify your web server. Your cPanel & WHM license includes the EasyApache software.
cPanel & WHM installs EasyApache 4 by default on new installations of systems that run cPanel & WHM version 58 or higher.
EasyApache 4 offers the following improvements over EasyApache 3:
Binaries are cost-efficient improvements that save time and monetary resources for site owners, server owners, and developers. Rather than compile binaries from source, we build RPM packages with binaries that you can easily install via yum. This allows for quicker, automatic updates of packages. The system forks any custom packages from the Red Hat® specification files, but contain the latest version. Binary packages also allow Apache and PHP to automatically update.
Binary Packages allow for quicker updates, installations, and the ability to spin down and spin up different web stacks and configurations quickly. This reduces the cost for site owners and server owners. These binaries reduce the time it takes for updates and installs to a few minutes. This also allows developers to quickly spin up and spin down different configurations.
EasyApache 4 uses the Software Collections Library (SCL) for PHP packages. The use of SCLs enables the installation of multiple, concurrent version of PHP on the file system.
An SCL is an alternate path inside the
/opt file that contains the full file system that various software needs. When you enable an SCL, it adds the path within that environment to the system. Commands that do not specify a path and scripts that use the
/usr/bin/env file to determine their path can then use this path to find the appropriate version of the software.
To execute a script with a software collection environment, you must run the
scl command. For example, to run the
-v command on a
php56 collection, run the following command:
This command's output will resemble the following example:
The system originally stored Apache files in the
/usr/local/apache directory. This directory no longer exists except for a few symlinks.
EasyApache 4's path reorganization includes the following benefits:
The following table lists the new file directories where EasyApache 4 now stores the Apache files:
|File or Directory location||Description|
This directory contains the actual Apache executable, binary file, and webserver.
|This directory contains all the logs for the |
This directory contains the configuration directory for Apache and contains all directories for Apache includes, modules, and configuration files. This directory does not contain log files.
This directory uses the symlink to the
|This directory contains all of the dynamic modules for Apache.|
This SCL directory contains all of Apache's binary files.
|This file contains HTTP requests that the server received and that did not go to a domain.|
|This directory contains a log of HTTP requests that the system routed to a domain.|
|This file contains error information.|
|This directory contains the document root for the server. It contains default pages that users can see.|
|This directory contains an alias to the |
|This directory contains an alias to the |
EasyApache 4 supports multiple versions of PHP. Multiple PHP versions allow you to assign different PHP versions to each of your domains. Coupled with automatic upgrades, this ensures that your PHP applications run on the most up-to-date, secured PHP versions.
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
yum-plugin-universal hooks. These new hooks allow for executable actions based on the package name 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.