cPanel & WHM no longer develops or updates EasyApache 3. We deprecated EasyApache 3 on December 31, 2018. We removed support for EasyApache 3 in cPanel & WHM version 78.
Advanced Apache Configuration - EasyApache - cPanel Documentation

You can find our user documentation at

Check out our new API beta site!

Page tree
Skip to end of metadata
Go to start of metadata


EasyApache provides multiple methods that you can use to customize your Apache configuration.


  • Make certain that you only use the methods below to modify your Apache configuration. If you use a method that we do not support, cPanel & WHM and EasyApache can overwrite your custom configuration.
  • We strongly recommend that you read the Apache Configuration documentation before you customize your Apache configuration.

Featured documentation

  EasyApache 3


Change Log Release Notes  



Migrate from Tomcat 5.5 to 7

How to Deploy Java Applications


EasyApache 3 does not support new installations of Tomcat.

As of cPanel & WHM version 76, EasyApache 4 now supports Tomcat 8.5. For more information, read our Tomcat documentation.

How it works

EasyApache builds your global Apache configuration from the following components:

  • Global templates — EasyApache uses the global configuration templates in the /usr/local/apache/conf/includes/ directory to create your global Apache configuration.
  • The modules, options, and extensions that EasyApache builds by default for your version of Apache.
  • The EasyApache options that you select.

EasyApache builds each virtualhost tag from the following components:

  • Any custom templates in the subdirectories that are within the /var/cpanel/templates/2_2/ and /var/cpanel/templates/2_4/ directories.
  • Account information for each domain — When you make a configuration change to an account or domain in the cPanel or WHM interfaces, cPanel & WHM changes the content of the appropriate file in the /usr/local/apache/conf/userdata/ directory.
  • Additional templates for each domain — EasyApache includes the files in the appropriate /usr/local/apache/conf/userdata/ directory for each domain to build the configuration of each virtualhost tag. 

Modify the configuration options for Apache

To modify the configuration options for your Apache build, use raw opts. Raw opts are also known as custom configure flags.

Raw opts are lines of data that advanced users can add to a specific file on the server in order to customize the configuration of Apache or PHP builds. EasyApache allows you to specify any configuration option supported by Apache and/or PHP.

For more information on raw opts, read our Advanced Apache Configuration documentation.

.htaccess files

When Apache processes a request, it searches for an .htaccess configuration file inside the directory that contains the requested file. If the .htaccess file exists and is readable by Apache, Apache will use its contents to modify the configuration for the request. For more information about how to use .htaccess, read Apache’s HTTP Server Tutorial.

Some events in a cPanel & WHM environment will trigger a syntax check of a .htaccess file. When it runs the check, Apache will skip any modules that loaded at runtime. Any attempt to reference configuration directives that these modules provide will produce syntax errors. To prevent these errors, you must wrap those directives inside an <IfModule></IfModule> block. The following is an example of an <IfModule></IfModule> block.


<IfModule mod_suphp.c>
    suPHP_ConfigPath /etc

Modify your global Apache configuration

To modify your global Apache configuration, use one of the following methods:

Modify the Apache configuration directives via WHM

To modify Apache's global configuration directives that cPanel & WHM builds by default, use WHM's  Advanced Apache Configuration  interface (Home >> Service Configuration >> Apache Configuration >> Global Configuration).

Modify the Apache configuration files with include files via WHM

To modify the Apache configuration's include files view WHM, use WHM's  Advanced Apache Configuration  interface (Home >> Service Configuration >> Apache Configuration >> Include Editor).

Modify the Apache configuration with include files via CLI

To modify the Apache configuration's include files via the command line interface (CLI), edit the appropriate configuration files in the /usr/local/apache/conf/includes/ directory.


After you modify an include file, make certain that you restart the Apache service with the service httpd restart command.

Modify the content of specific virtualhosts

You can use the CLI to add include files that modify the content of the virtualhost containers in your Apache configuration. You may wish to do this to modify the configuration of an individual domain or a specific user's domains. For more information on how to modify your virtualhost containers with include files, read our Advanced Apache Configuration documentation.

Modify the httpd.conf file directly


We do not recommend that you use this method. cPanel & WHM or EasyApache may overwrite your changes.

If you must modify your httpd.conf Apache configuration file directly, perform the following steps:

  1. Make the necessary changes to your httpd.conf file.
  2. Run the Apache configuration distiller script as the root user with the following command:

    /usr/local/cpanel/bin/apache_conf_distiller --update


The Apache configuration distiller script does not make changes to your Apache configuration. The distiller script updates the datastores in the /var/cpanel/userdata directory.

The Apache configuration distiller script does not guarantee that cPanel & WHM will not overwrite your direct modifications to your httpd.conf file.

To test whether cPanel & WHM will overwrite your modifications, perform the following steps:

  • Create a copy of your httpd.conf file with your direct modifications.
  • Run the /scripts/rebuildhttpdconf script to rebuild your httpd.conf file. If your changes are still present in your httpd.conf file, then cPanel & WHM will not overwrite your modifications.

Change how cPanel & WHM writes virtualhosts

You can use custom templates to change the default content of each virtualhost container. For more information on custom templates, read our Advanced Apache Configuration documentation.