DevHeads.net

Apache HTTP Server 2.4.27 Released

Apache HTTP Server 2.4.27 Released

July 11, 2017

The Apache Software Foundation and the Apache HTTP Server Project
are pleased to announce the release of version 2.4.27 of the Apache
HTTP Server ("Apache"). This version of Apache is our latest GA
release of the new generation 2.4.x branch of Apache HTTPD and
represents fifteen years of innovation by the project, and is
recommended over all previous releases. This release of Apache is
a security, feature, and bug fix release. Users are encouraged
to upgrade as soon as possible.

We consider this release to be the best version of Apache available, and
encourage users of all prior versions to upgrade.

Apache HTTP Server 2.4.27 is available for download from:

<a href="http://httpd.apache.org/download.cgi" title="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a>

Apache 2.4 offers numerous enhancements, improvements, and performance
boosts over the 2.2 codebase. For an overview of new features
introduced since 2.4 please see:

<a href="http://httpd.apache.org/docs/trunk/new_features_2_4.html" title="http://httpd.apache.org/docs/trunk/new_features_2_4.html">http://httpd.apache.org/docs/trunk/new_features_2_4.html</a>

Please see the CHANGES_2.4 file, linked from the download page, for a
full list of changes. A condensed list, CHANGES_2.4.27 includes only
those changes introduced since the prior 2.4 release. A summary of all
of the security vulnerabilities addressed in this and earlier releases
is available:

<a href="http://httpd.apache.org/security/vulnerabilities_24.html" title="http://httpd.apache.org/security/vulnerabilities_24.html">http://httpd.apache.org/security/vulnerabilities_24.html</a>

Of particular note in this release are 3 COMPATIBILITY items:

o HTTP/2 will not be negotiated when using the Prefork MPM
o FastCGI compatibility with PHP-FPM is fixed
o mod_lua no longer exports the undocumented and unsupported
'apr_table' variable.

This release requires the Apache Portable Runtime (APR), minimum
version 1.5.x, and APR-Util, minimum version 1.5.x. Some features may
require the 1.6.x version of both APR and APR-Util. The APR libraries
must be upgraded for all features of httpd to operate correctly.

This release builds on and extends the Apache 2.2 API. Modules written
for Apache 2.2 will need to be recompiled in order to run with Apache
2.4, and require minimal or no source code changes.

<a href="http://svn.apache.org/repos/asf/httpd/httpd/trunk/VERSIONING" title="http://svn.apache.org/repos/asf/httpd/httpd/trunk/VERSIONING">http://svn.apache.org/repos/asf/httpd/httpd/trunk/VERSIONING</a>

When upgrading or installing this version of Apache, please bear in mind
that if you intend to use Apache with one of the threaded MPMs (other
than the Prefork MPM), you must ensure that any modules you will be
using (and the libraries they depend on) are thread-safe.

Please note that Apache Web Server Project will only provide maintenance
releases of the 2.2.x flavor through June of 2017, and will provide some
security patches beyond this date through at least December of 2017.
Minimal maintenance patches of 2.2.x are expected throughout this period,
and users are strongly encouraged to promptly complete their transitions
to the the 2.4.x flavor of httpd to benefit from a much larger assortment
of minor security and bug fixes as well as new features.

Comments

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By David Copeland at 07/11/2017 - 09:41

I'm wondering what the reason for this is?

Thanks.

On 11/07/17 09:04 AM, Jim Jagielski wrote:

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Yehuda Katz at 07/11/2017 - 10:03

H2 is threaded and prefork is not, so the performance is poor or it doesn't
work at all.

There was a discussion about this on the dev list:
<a href="https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc2dcb2fbcbf472d895f32e@%3Cdev.httpd.apache.org%3E" title="https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc2dcb2fbcbf472d895f32e@%3Cdev.httpd.apache.org%3E">https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc...</a>

Sent from a device with a very small keyboard and hyperactive autocorrect.

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By David Copeland at 07/11/2017 - 10:13

I had it set up on an essentially a private site to try it so the volume
was very low, and so I never had a problem.

Thanks,
Dave Copeland.

On 11/07/17 10:03 AM, Yehuda Katz wrote:

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Stefan Eissing at 07/11/2017 - 10:25

It can work in certain configurations. Especially if you *only* serve static files. As soon as mod_php, proxy connections or gzip/brotli content compression gets in the mix, it may get slow or stop working altogether.

This is not a bug, but a principle collision between HTTP/2 parallel requests and mpm_prefork single-threaded model. In pre-2.4.26, we kept it single threaded and people experienced bad performance and locks. In 2.4.26 will had several threads and people experienced the crashes of mod_php.

People that require prefork are better served with the 6 parallel connections of HTTP/1.1 clients. People who do not have to run their server single-threaded are better off with mpm_event. There is no good comfort place for h2+prefork. We think we can invest our time better in other places.

Cheers,

Stefan

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By David Copeland at 07/11/2017 - 10:41

On 11/07/17 10:25 AM, Stefan Eissing wrote:

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Luca Toscano at 07/11/2017 - 09:56

Hi David,

<a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61237" title="https://bz.apache.org/bugzilla/show_bug.cgi?id=61237">https://bz.apache.org/bugzilla/show_bug.cgi?id=61237</a> contains the
background that brought to this decision :)

Luca

2017-07-11 15:41 GMT+02:00 David Copeland <david. ... at jsidata dot ca>:

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Luca Toscano at 07/11/2017 - 10:00

Also a more in depth explanation from the dev@ mailing list:

<a href="https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc2dcb2fbcbf472d895f32e@%3Cdev.httpd.apache.org%3E" title="https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc2dcb2fbcbf472d895f32e@%3Cdev.httpd.apache.org%3E">https://lists.apache.org/thread.html/bae472cadaeeb761b88bb4569cc0b7d87bc...</a>

Luca

2017-07-11 15:56 GMT+02:00 Luca Toscano <toscano. ... at gmail dot com>:

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Eric Covener at 07/11/2017 - 09:58

On Tue, Jul 11, 2017 at 9:41 AM, David Copeland
<david. ... at jsidata dot ca> wrote:
In the previous release, HTTP2 made prefork run multi-threaded. People
often chose prefork due to non-threadsafe code running in the server.

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By David Copeland at 07/11/2017 - 10:08

On 11/07/17 09:58 AM, Eric Covener wrote:
Just looking at the HTTP/2 HowTo
(<a href="https://httpd.apache.org/docs/trunk/howto/http2.html" title="https://httpd.apache.org/docs/trunk/howto/http2.html">https://httpd.apache.org/docs/trunk/howto/http2.html</a>). It suggests
setting H2MiniWorkers will make it possible anyway if one wishes to take
the risk and try it. Is this not correct?

Thanks.

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Hajo Locke at 07/11/2017 - 10:43

Hello,

Am 11.07.2017 um 16:08 schrieb David Copeland:
Thanks,
Hajo

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By Hajo Locke at 07/11/2017 - 10:13

Hello,

Am 11.07.2017 um 15:58 schrieb Eric Covener:
Thanks,
Hajo

Re: [ANNOUNCEMENT] Apache HTTP Server 2.4.27 Relea

By William A. Rowe Jr. at 07/11/2017 - 12:12

On Tue, Jul 11, 2017 at 9:13 AM, Hajo Locke <Hajo. ... at gmx dot de> wrote:
Please also note, mod_php has been strongly discouraged for years.

The conventional advise is to configure the php fcgi sapi, using either
mod_proxy_fcgi with php fpm, or mod_fcgid, and a modest number of
single process php fcgi workers to serve requests, and either event or
worker MPM. This is still not spelled out well in the formal PHP docs
(but who reads docs?)