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

Overview

EasyApache 4 provides multiple ways for you to customize your Apache configuration.

Important:

  • 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 4 can overwrite your custom configuration.
  • We strongly recommend that you read the Apache Configuration documentation before you customize your Apache configuration.

How it works

EasyApache 4 builds your global Apache configuration from the following components:

  • Global templates — EasyApache 4 uses the global configuration templates in the /var/cpanel/templates/apache2_4/ directory to create your global Apache configuration.
  • The modules, options, and extensions that EasyApache 4 installs for Apache.

EasyApache builds each virtualhost tag from the following components:

  • Any custom templates in the /var/cpanel/templates/apache2_4/ directory
  • 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 /etc/apache2/conf.d/userdata/ directory.
  • Additional templates for each domain — EasyApache includes the files in the appropriate /etc/apache2/conf.d/userdata/ directory for each domain to build the configuration of each virtualhost tag. 

Modify the configuration options for Apache

.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 Apache can read it, Apache uses its contents to modify the configuration for the request. For more information about how to use .htaccess files, read Apache’s HTTP Server Tutorial.

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

 

<IfModule mod_suphp.c>
    suPHP_ConfigPath /etc
</IfModule>

Modify your global Apache configuration

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

Modify the Apache configuration directives via WHM

To modify the Apache global configuration directives that cPanel & WHM builds by default, use WHM's Global Configuration interface (WHM >> 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 through WHM, use WHM's Include Editor interface (WHM >> Home  >> Service Configuration >> Apache Configuration >> Include Editor).

Modify the Apache configuration via the CLI with new .conf files

To modify the Apache configuration via the command line interface (CLI), create custom configuration files in the /etc/apache2/conf.d/ directory. Your new configuration files must use the .conf file extension to ensure that the system will recognize them. Also, your .conf files must possess root:root ownership and 0600 permissions. 

Important:

After you modify, add, or remove a .conf file, you must restart the Apache service with the service httpd restart command. 

Modify the content of specific virtual hosts

You can use the CLI to add include files that modify the content of the virtual host 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 virtual host containers with include files, read our Modify Virtualhost Containers With Include Files documentation.

Additional documentation