Skip to content

cPanel EA4 NGINX Modules

Hoster & MSP partner program

Running ea-nginx on customer servers as a hoster or managed-services provider? One license covers your whole fleet, with a 24-hour rebuild SLA on every cPanel ea-nginx release. Contact us to become a partner.

Single-server operators: see the Ultra subscription for reposync-enabled access.

Why this matters for cPanel hosters

cPanel's ea-nginx is great, but it ships bare. Your customers ask for Brotli, for country blocking, for a WAF, for WordPress cache purging, for WebP on the fly, and you end up saying "not supported" or hand-compiling modules that break on the next ea-nginx update.

GetPageSpeed EA4 fixes that. 140+ production NGINX modules, pre-built against the exact ea-nginx ABI, automatically rebuilt when cPanel updates it, installed with a single dnf command.

You keep cPanel. Your customers get enterprise NGINX. You stop babysitting ABI mismatches.

What you can sell with it

Customer ask Module Package
"My site is slow" Brotli compression, 15-25% smaller than gzip ea-nginx-brotli
"WordPress cache won't clear" Proxy Cache Purge integration ea-nginx-cache-purge
"We're getting attacked" ModSecurity WAF with OWASP CRS ea-nginx-modsecurity
"Block this country" GeoIP2 lookups and rules ea-nginx-geoip2
"Serve WebP automatically" On-the-fly image conversion ea-nginx-image-filter
"Add/strip response headers" Header rewriting ea-nginx-headers-more
"Basic bot protection" NAXSI WAF ea-nginx-naxsi
"Rate limit by cookie/header" Dynamic rate limiting ea-nginx-dynamic-limit-req
"Nicer directory listing" Fancy auto-index ea-nginx-fancyindex
"Real visitor IPs behind Cloudflare" Real IP from trusted proxies built-in, configured via our snippets

Full list: 140+ modules, same as our standard repo. If we ship it for nginx, we ship it for ea-nginx.

Why EA4 needs its own packages

cPanel's EasyApache 4 uses a custom ea-nginx build that does not match stock NGINX:

  • Module path: /etc/nginx/modules/ instead of /usr/lib64/nginx/modules/
  • Config path: /etc/nginx/conf.d/modules/
  • ABI pinning: modules must match the exact ea-nginx build or nginx refuses to load them

Compile it yourself and you own the maintenance. Use our repo and we own it.

Installation

Step 1: Install the GetPageSpeed Repository

dnf -y install https://extras.getpagespeed.com/release-latest.rpm

On cPanel servers the ea4 sub-repo auto-enables itself. Nothing else to do.

Step 2: Install Modules

EA4 packages use the ea-nginx- prefix instead of nginx-module-:

dnf -y install ea-nginx-cache-purge
dnf -y install ea-nginx-brotli
dnf -y install ea-nginx-headers-more
dnf -y install ea-nginx-geoip2
dnf -y install ea-nginx-modsecurity

Then restart nginx:

systemctl restart nginx

That's the whole install.

Package naming

Everything in our main repo has an EA4 twin. Swap the prefix:

Standard package EA4 package
nginx-module-cache-purge ea-nginx-cache-purge
nginx-module-brotli ea-nginx-brotli
nginx-module-headers-more ea-nginx-headers-more
nginx-module-geoip2 ea-nginx-geoip2
nginx-module-modsecurity ea-nginx-modsecurity
nginx-module-naxsi ea-nginx-naxsi
nginx-module-image-filter ea-nginx-image-filter

Same pattern for the rest of the 140+ catalog.

WordPress cache purging (the killer feature)

If you host WordPress on cPanel, and most cPanel hosters do, this is the one you sell first.

The ea-nginx-cache-purge module pairs with the Proxy Cache Purge WordPress plugin. Customer publishes a post, comments, updates a product, and the affected cache entries are invalidated instantly. No stale pages, no "why is my change not showing?" tickets.

Zero-maintenance updates

When cPanel ships a new ea-nginx, our builders detect it and rebuild every module against it, usually within hours. The package version encodes both versions so dnf always picks the right match:

ea-nginx-cache-purge-1.29.4+2.5.5-1.gps.el9
                      │      │
                      │      └── Module version (2.5.5)
                      └── Matches your ea-nginx (1.29.4)

Run dnf upgrade on your normal cadence. Modules stay in lockstep with ea-nginx. You never touch a compiler.

Repository details

Property Value
Repository ID getpagespeed-extras-ea4
Base URL https://extras.getpagespeed.com/redhat/$releasever/ea4/$basearch/
GPG Key /etc/pki/rpm-gpg/RPM-GPG-KEY-GETPAGESPEED
Supported RHEL / CentOS / AlmaLinux / Rocky 8 and 9

Manual repository enable

If auto-detection does not fire (custom cPanel install, weird partitioning), enable it manually:

dnf config-manager --set-enabled getpagespeed-extras-ea4

Or set enabled=1 under the [getpagespeed-extras-ea4] section in /etc/yum.repos.d/getpagespeed-extras.repo.

Selling this to your customers

Three angles that close:

  1. Speed: Brotli + cache-purge takes TTFB on a typical WordPress site from 400ms to under 100ms. Core Web Vitals pass. Google ranks them higher. They stay on your hosting.
  2. Security: ModSecurity + NAXSI + GeoIP2 blocks the bulk of automated attacks before they hit PHP. Fewer compromised accounts, fewer support tickets, fewer chargebacks.
  3. Differentiation: "Enterprise NGINX modules included" is a line your competitors on bare cPanel cannot match without the same repo. Put it on your pricing page.

Get started

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install ea-nginx-cache-purge ea-nginx-brotli ea-nginx-headers-more
systemctl restart nginx

Three commands, enterprise NGINX on cPanel. Talk to us about a hoster license for your whole fleet.