Apache Settings

Adjust how Apache serves your websites and uses server resources.

Where to find it: Sign in as root, open Server > Configuration, then choose Apache Settings.

Available to: Root only.

Before you start

Apache Settings can affect server-wide or multi-account behavior. Review the current state, expected service impact, and rollback path before applying a change.

How to use it

  1. Find the setting for the Apache behavior you want to change.
  2. Review its description and supported values in the table below.
  3. Save, or use Save & Apply to apply it, then check a hosted website.

Available settings

These are the settings offered by the current SHM page. Defaults describe the baseline for an unset value; your saved configuration may differ. Review the effect and capacity of the server before changing a value.

Connections & Timeouts

Controls how Apache handles persistent connections and request timeouts.

SettingValues and baselinePurpose and when to change it
Persistent connections (KeepAlive)
keep_alive
on / off
Baseline: On
Enables HTTP persistent connections, allowing clients to reuse the same TCP connection for multiple requests.
Keep On for better performance on most workloads. Turn Off only if you have a specific reason.
KeepAlive timeout (KeepAliveTimeout)
keep_alive_timeout
int; range 1–60
Baseline: 5
How long (seconds) Apache keeps an idle KeepAlive connection open.
Keep low to avoid tying up worker capacity. Increase only if clients frequently reuse connections.
Max requests per KeepAlive (MaxKeepAliveRequests)
max_keep_alive_requests
int; range 0–100000
Baseline: 50
Maximum number of requests allowed per persistent connection. 0 means unlimited.
Keep a reasonable limit to reduce long-lived connections. Use 0 only if you understand the impact.
Request timeout (Timeout)
timeout
int; range 1–600
Baseline: 300
Overall request timeout (seconds). Affects slow clients and long-running requests.
Default 300 seconds keeps Apache aligned with SHM proxy/PHP timeout defaults. Lower it only for hardened low-latency workloads.
Proxy timeout (ProxyTimeout)
proxy_timeout
int; range 1–600
Baseline: 300
Timeout (seconds) for proxied requests when Apache is acting as a proxy.
Default 300 seconds keeps Apache aligned with upstream application timeouts.
Service open-file limit (systemd LimitNOFILE)
service_nofile_limit
int; range 1024–1048576
Baseline: 65535
Open-file limit written to the httpd systemd drop-in and apache limits.d file used by SHM apply/install flows.
Apache has no Nginx-style worker_connections directive. This is the correct SHM-level file descriptor limit for httpd; SHM restarts httpd after apply so the parent process inherits it.

Worker MPM

Controls the Apache worker MPM block. These directives apply only when mod_mpm_worker is loaded.

SettingValues and baselinePurpose and when to change it
Worker ServerLimit
mpm_worker_server_limit
int; range 1–20000
Baseline: 10
Upper limit for the number of child processes in worker MPM.
Keep aligned with MaxRequestWorkers and ThreadsPerChild so Apache has enough process capacity without overcommitting the server.
Worker StartServers
mpm_worker_start_servers
int; range 1–1024
Baseline: 1
Number of child server processes created at startup for worker MPM.
Keep low unless the server receives heavy traffic immediately after restart.
Worker ThreadLimit
mpm_worker_thread_limit
int; range 1–4096
Baseline: 64
Upper limit for ThreadsPerChild in worker MPM.
Set this at or above ThreadsPerChild. Raising it requires a full Apache restart.
Worker MinSpareThreads
mpm_worker_min_spare_threads
int; range 1–200000
Baseline: 32
Minimum number of idle worker threads maintained by Apache.
Keep enough spare threads for traffic bursts without forcing too many idle workers.
Worker MaxSpareThreads
mpm_worker_max_spare_threads
int; range 1–200000
Baseline: 640
Maximum number of idle worker threads maintained by Apache.
Keep this at or above MinSpareThreads and below the capacity implied by ServerLimit and ThreadsPerChild.
Worker ThreadsPerChild
mpm_worker_threads_per_child
int; range 1–4096
Baseline: 64
Number of threads created by each child process in worker MPM.
Default 64 matches SHM high-capacity shared-hosting defaults. Keep it at or below ThreadLimit.
Worker MaxRequestWorkers
mpm_worker_max_request_workers
int; range 1–200000
Baseline: 640
Maximum number of simultaneous requests served by worker MPM.
Size this from real RAM/CPU capacity. Too high can overload the server under traffic spikes.
Worker MaxConnectionsPerChild
mpm_worker_max_connections_per_child
int; range 0–1000000
Baseline: 10000
Maximum connections handled by a worker child before it is recycled. 0 disables recycling.
Use a finite value to recycle long-lived processes and reduce memory drift.
Worker GracefulShutdownTimeout
mpm_worker_graceful_shutdown_timeout
int; range 0–3600
Baseline: 1
Seconds Apache waits for worker MPM children to exit during graceful shutdown.
Low values make service restarts complete quickly. Increase only for workloads that need longer graceful drains.

Event MPM

Controls the Apache event MPM block. These directives apply only when mod_mpm_event is loaded.

SettingValues and baselinePurpose and when to change it
Event ServerLimit
mpm_event_server_limit
int; range 1–20000
Baseline: 10
Upper limit for the number of child processes in event MPM.
Keep aligned with MaxRequestWorkers and ThreadsPerChild so Apache has enough process capacity without overcommitting the server.
Event StartServers
mpm_event_start_servers
int; range 1–1024
Baseline: 1
Number of child server processes created at startup for event MPM.
Keep low unless the server receives heavy traffic immediately after restart.
Event ThreadLimit
mpm_event_thread_limit
int; range 1–4096
Baseline: 64
Upper limit for ThreadsPerChild in event MPM.
Set this at or above ThreadsPerChild. Raising it requires a full Apache restart.
Event MinSpareThreads
mpm_event_min_spare_threads
int; range 1–200000
Baseline: 32
Minimum number of idle worker threads maintained by Apache.
Keep enough spare threads for traffic bursts without forcing too many idle workers.
Event MaxSpareThreads
mpm_event_max_spare_threads
int; range 1–200000
Baseline: 640
Maximum number of idle worker threads maintained by Apache.
Keep this at or above MinSpareThreads and below the capacity implied by ServerLimit and ThreadsPerChild.
Event ThreadsPerChild
mpm_event_threads_per_child
int; range 1–4096
Baseline: 64
Number of threads created by each child process in event MPM.
Default 64 matches SHM high-capacity shared-hosting defaults. Keep it at or below ThreadLimit.
Event MaxRequestWorkers
mpm_event_max_request_workers
int; range 1–200000
Baseline: 640
Maximum number of simultaneous requests served by event MPM.
Size this from real RAM/CPU capacity. Too high can overload the server under traffic spikes.
Event MaxConnectionsPerChild
mpm_event_max_connections_per_child
int; range 0–1000000
Baseline: 10000
Maximum connections handled by an event child before it is recycled. 0 disables recycling.
Use a finite value to recycle long-lived processes and reduce memory drift.
Event GracefulShutdownTimeout
mpm_event_graceful_shutdown_timeout
int; range 0–3600
Baseline: 1
Seconds Apache waits for event MPM children to exit during graceful shutdown.
Low values make service restarts complete quickly. Increase only for workloads that need longer graceful drains.

Prefork MPM

Controls the Apache prefork MPM block. These directives apply only when mod_mpm_prefork is loaded.

SettingValues and baselinePurpose and when to change it
Prefork StartServers
mpm_prefork_start_servers
int; range 1–20000
Baseline: 40
Number of child server processes created at startup for prefork MPM.
Higher values can reduce warm-up delay but consume more memory immediately after restart.
Prefork MinSpareServers
mpm_prefork_min_spare_servers
int; range 1–20000
Baseline: 10
Minimum number of idle child processes maintained by prefork MPM.
Keep enough spare processes for bursts without wasting memory.
Prefork MaxSpareServers
mpm_prefork_max_spare_servers
int; range 1–20000
Baseline: 40
Maximum number of idle child processes maintained by prefork MPM.
Keep this at or above MinSpareServers.
Prefork ServerLimit
mpm_prefork_server_limit
int; range 1–200000
Baseline: 640
Upper limit for prefork child processes.
Keep at or above MaxRequestWorkers and MaxClients.
Prefork MaxClients
mpm_prefork_max_clients
int; range 1–200000
Baseline: 640
Legacy Apache 2.2 name for the prefork worker limit, kept in the generated config for compatibility.
Keep this aligned with MaxRequestWorkers.
Prefork MaxRequestWorkers
mpm_prefork_max_request_workers
int; range 1–200000
Baseline: 640
Apache 2.4 prefork maximum number of simultaneous requests.
Size this from real RAM capacity. Prefork workers are process-based and can consume much more memory than event/worker threads.
Prefork MaxConnectionsPerChild
mpm_prefork_max_connections_per_child
int; range 0–1000000
Baseline: 10000
Maximum connections handled by a prefork child before it is recycled. 0 disables recycling.
Use a finite value to recycle long-lived processes and reduce memory drift.

Security & Privacy

Controls information exposure and potentially risky protocol behavior.

SettingValues and baselinePurpose and when to change it
Allow TRACE method (TraceEnable)
trace_enable
on / off
Baseline: Off
Enables or disables the HTTP TRACE method.
Keep Off to reduce exposure to cross-site tracing attacks.
Apache symlink and Options protection
symlink_protection
on / off
Baseline: On
Controls whether generated customer vhosts protect Apache .htaccess Options from enabling risky features. When On, SHM uses Nonfatal=Override and customer Options directives are ignored without HTTP 500, so lines such as Options -ExecCGI or Options +FollowSymLinks do not change Apache behavior. When Off, SHM disables this protection and allows customer .htaccess Options overrides, including FollowSymLinks and ExecCGI when Apache handlers permit them.
Keep On. Turn Off only when the server owner deliberately accepts the symlink and CGI execution risk, then rebuild vhosts and retest affected sites.
Server signature (ServerSignature)
server_signature
on / off
Baseline: Off
Controls whether Apache adds a footer with version info on server-generated pages (like error pages).
Keep Off to reduce information leakage.
Server tokens (ServerTokens)
server_tokens
Prod, ProductOnly, Minimal, Major, Minor, OS, Full
Baseline: ProductOnly
Controls how much server version information is included in response headers.
Use Prod or ProductOnly to minimize information exposure.
DNS lookups for client IPs (HostnameLookups)
hostname_lookups
on / off
Baseline: Off
When On, Apache does a reverse DNS lookup for client IPs.
Keep Off for performance and to avoid DNS-related delays.
Canonical name handling (UseCanonicalName)
use_canonical_name
on / off
Baseline: Off
Controls how Apache constructs self-referential URLs.
Keep Off unless you have a specific URL-generation requirement.

Logging & Status

Controls log verbosity and server-status visibility.

SettingValues and baselinePurpose and when to change it
Log level (LogLevel)
log_level
emerg, alert, crit, error, warn, notice, info, debug, trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8
Baseline: warn
Controls how verbose Apache logs are.
Use warn for most production servers. Use info/debug only for troubleshooting.
Extended status (ExtendedStatus)
extended_status
on / off
Baseline: On
Enables extended status information for server-status monitoring.
Keep On if you use server-status locally for monitoring.
ETag behavior (FileETag)
file_etag
None, All
Baseline: None
Controls ETag generation for caching.
Keep None for consistent caching behavior on shared hosting and clustered environments.

SSL

TLS stapling controls.

SettingValues and baselinePurpose and when to change it
OCSP stapling (SSLUseStapling)
ssl_use_stapling
on / off
Baseline: Off
Enables OCSP stapling support (if configured) to speed up TLS handshakes.
Enable only if you have a complete OCSP stapling setup and understand the requirements.

Symlink protection and hosted-domain rebuilds

Apache symlink and Options protection is enabled by default. In this mode, customer .htaccess Options directives are ignored without causing HTTP 500; they cannot enable FollowSymLinks or ExecCGI through those overrides. Turning the protection off changes this boundary and should be a deliberate server-owner decision.

After changes that affect generated domain configuration, use Rebuild hosted domains and verify representative sites. Event, Worker, and Prefork have separate capacity settings; only the selected MPM uses its corresponding block. Save & Apply may restart Apache to apply process and open-file limits.

Theme color