Apache 2.4 on Windows: a legacy path, not a default
Run Apache 2.4 on Windows only for compatibility, with the right binaries, httpd.conf, service install and reverse-proxy limits.
- Build
- 26100.33650
- Edition
- Standard / Datacenter
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-29
- Page type
- Vendor
The short answer
Section titled “The short answer”Apache 2.4 runs on Windows, but it is a compatibility path:
- the ASF does not publish official Windows binaries; most teams use Apache Lounge builds;
- Windows uses
mpm_winnt, not the Linux MPMs; - fewer modules and different performance characteristics;
- IIS or Nginx is usually the better default on Windows.
Use Apache only when an app/vendor requires it, or you are migrating an existing .htaccess/httpd configuration.
Install
Section titled “Install”- Get a trusted x64 build (Apache Lounge or a vendor you already patch).
- Extract to
C:\Apache24(no spaces). - Edit
conf/httpd.conf:ServerRoot "C:/Apache24"Listen 8080if IIS owns 80DocumentRoot "C:/sites/lab"<Directory "C:/sites/lab">withRequire all granted
- Test and install the service:
C:\Apache24\bin\httpd.exe -tC:\Apache24\bin\httpd.exe -k installC:\Apache24\bin\httpd.exe -k startUse forward slashes in config paths. httpd -t must pass before -k start.
Modules
Section titled “Modules”Enable only what the app needs:
LoadModule rewrite_module modules/mod_rewrite.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule ssl_module modules/mod_ssl.somod_proxy without access control can become an open proxy. Restrict ProxyRequests Off and proxy only known upstreams:
ProxyRequests OffProxyPass "/app/" "http://127.0.0.1:3000/"ProxyPassReverse "/app/" "http://127.0.0.1:3000/"ProxyPassReverse rewrites redirects; without it, the app may redirect to its internal hostname.
Listen 443<VirtualHost *:443> ServerName lab.local SSLEngine on SSLCertificateFile "C:/Apache24/conf/lab.crt" SSLCertificateKeyFile "C:/Apache24/conf/lab.key" DocumentRoot "C:/sites/lab"</VirtualHost>PEM files again; Windows certificate store is not read directly. Test with httpd -t and openssl s_client.
Windows boundaries
Section titled “Windows boundaries”| Topic | Apache on Windows |
|---|---|
| Official binaries | Not from ASF; use a trusted build |
| MPM | mpm_winnt |
.htaccess |
Works, but per-request overhead; prefer vhost config |
| Service | httpd -k install |
| Performance | Not Linux-equivalent |
| HTTP/3 | Depends on build/modules; do not assume |
Migration checklist
Section titled “Migration checklist”- Map
DocumentRootand vhosts. - Port every
LoadModuleand.htaccessrule; test withhttpd -t. - Move TLS PEM/key and set ACLs.
- Replace
ProxyPasstargets; verifyProxyPassReverse. - Test Host header, redirects, uploads and logs.
- Keep IIS/Nginx as the target if Apache is only historical.
Lab boundary
Section titled “Lab boundary”E1. Apache was not installed in this lab. The commands and config shapes are the migration starting point; validate the exact build and module list on Server 2025.