Get 2.4
What are you waiting for? httpd 2.4 has been the preferred stable release since 2012; httpd 2.2 is still supported, but it first appeared in 2006 and we won't keep updating it forever. Start moving to 2.4 before you have to.
The "official" list of reasons to upgrade is long but admittedly quite boring. The key takeaways for 2.4 are
- all sorts of configuration improvements
- Event MPM as the commonly used processing model on Unix, with drastically reduced thread requirements, even compared with the experimental Event MPM with 2.2
- numerous improvements in support of lean web server configurations which communicate with web applications running out of process
- new SSL features such as support for Elliptic Curve keys, OCSP for validating client certificate status, and OCSP Stapling to allow clients to validate server certificate status
You need this stuff!
Some of the drag on the uptake of 2.4 has been due to Linux distribution cycles, but there are also plenty of cases where the documented configuration for using third-party software with httpd is some old and heavy mechanism from when you were in high school, and the promoted configuration for nginx is a lean web server setup with segregation between front-end and application.
httpd bundled with the OS
As time goes on, more and more OS distributions are including httpd 2.4. Even when they don't, even versions from several years ago may include a version of OpenSSL new enough to support modern protocols (as well as httpd 2.4).
Distribution/version |
Has httpd 2.4? |
If not: Platform has sufficient OpenSSL? |
Debian Wheezy |
No (httpd 2.2.22) |
Yes |
Fedora 20 |
Yes |
– |
FreeBSD Ports for FreeBSD 9 and 10 |
Yes |
– |
openSUSE 12.3 |
No (httpd 2.2.22) |
Yes |
openSUSE 13.1, 13.2 |
Yes |
– |
RHEL/CentOS 6 |
No (httpd 2.2.15) |
Yes |
RHEL/CentOS 7 |
Yes |
– |
Ubuntu 14 |
Yes |
– |
Ubuntu 12 |
No (httpd 2.2.?) |
Yes |
For situations with a sufficient level of OpenSSL bundled, other support libraries such as Expat, PCRE, and zlib are also bundled. You just need to build apr 1.latest, apr-util 1.latest, and httpd 2.4.latest.
Modern ways to configure applications with httpd
Where "Modern" == lean web server proxying application requests to separate processes