Apache httpd 2.4.1 Released

ditto

Verified User
Joined
Apr 27, 2009
Messages
2,577
Code:
              Apache HTTP Server 2.4.1 Released

The Apache Software Foundation and the Apache HTTP Server Project are
pleased to announce the GA release of version 2.4.1 of the Apache HTTP
Server. This version of Apache HTTP Server is the first GA release of
the new 2.4.x branch.

Apache HTTP Server 2.4 provides a number of improvements and
enhancements over the 2.2 version. A listing and description of these
features is available via:

  http://httpd.apache.org/docs/2.4/new_features_2_4.html

Please see the CHANGES_2.4 file, linked from the download page, for a
full list of changes.

We consider this release to be the best version of Apache HTTP Server
available, and encourage users of all prior versions to upgrade.
Apache HTTP Server 2.4.1 is available for download from:

  http://httpd.apache.org/download.cgi

This release requires the Apache Portable Runtime (APR) version 1.4.x
and APR-Util version 1.4.x. 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 may require minimal source code changes.

  http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html

A summary of all of the security vulnerabilities addressed in this and
earlier releases is available:

  http://httpd.apache.org/security/vulnerabilities_24.html

Important:
Windows users: AcceptFilter None has replaced Win32DisableAcceptEx 
and the feature appears to have interoperability issues with mod_ssl.
Apache 2.4.1 may not yet be suitable for all Windows servers.  There 
is not yet a Windows binary distribution of httpd 2.4, but this is
expected to be remedied soon as various dependencies graduate from
beta to GA.
Ref: http://mail-archives.apache.org/[email protected]> and http://httpd.apache.org/
 
Here is a interesting discussion http://www.webhostingtalk.com/showthread.php?t=1128815 about this http://www.serverwatch.com/server-news/apache-2.4-delivers-more-performance.html (Apache 2.4 claims to be on par or faster than Nginx according to Jim Jagielski, ASF President.) Here is a quote from the article at Serverwatch.com:

For existing Apache 2.2.x users, migrating to 2.4 is quite easy, according to Jagielski. He noted that there are minimal configuration changes. He added that the vast majority of modules do not require any changes to run under 2.4; they just need to be re-compiled and then the work is done.

Also see Slashdot: Apache 2.4 Takes Direct Aim At Nginx http://apache.slashdot.org/story/12/02/21/1632230/apache-24-takes-direct-aim-at-nginx
 
Last edited:
I have Custombuild 1.2.30 and I have downloadserver=files1.directadmin.com , I do not yet see the new Apache version in custombuild.

Do I need to change options.conf to apache_ver=2.4 ?
 
help !!

Code:
Backing up certificate and key, and turning off httpd for DirectAdmins's check.
Found /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz
Extracting /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz...
./build: line 4854: echo: write error: Operation not permitted
Configuring httpd-2.4.1
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Apache Portable Runtime library ...

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

*** There was an error while trying to configure Apache 2. Check the configure/ap2/configure.apache file
 
I've changed the value 'apache_ver' to 2.4, its downloading the httpd-2.4.1 without any problems.
But then its trying to download 'httpd-2.4.1-deps.tar.gz' which fails.

You can try this below, but at your own risk.
downoad deps manual: wget http://httpd.apache.org/dev/dist/httpd-2.4.1-deps.tar.gz
change the md5sum in versions.txt to 'cfe420cfeca3723562078eeb43547d0b'.
Try again: ./build apache
 
Yes, you need to change this option to apache_ver=2.4

After compiling new apache i got funny result with ab perfomance test:
Code:
# ab -n 10000 -c 8  http://my.apache.host/phpinfo.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking my.apache.host (be patient)
Completed 1000 requests
Completed 2000 requests
...

Document Path:          /phpinfo.php
Document Length:        48467 bytes

Concurrency Level:      8
Time taken for tests:   34.341 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      486050000 bytes
HTML transferred:       484670000 bytes
[B]Requests per second:    291.20 [#/sec] (mean)[/B]
Time per request:       27.473 [ms] (mean)
Time per request:       3.434 [ms] (mean, across all concurrent requests)
Transfer rate:          13821.93 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       7
Processing:     4   27  15.2     25     103
Waiting:        3   24  13.6     23     102
Total:          4   27  15.1     25     103

Percentage of the requests served within a certain time (ms)
  50%     25
  66%     28
  75%     31
  80%     34
  90%     48
  95%     60
  98%     73
  99%     80
 100%    103 (longest request)

tested on Athlon 64 Processor 3500+ with only 1GB RAM
LA rised to ~2-2.5
 
I did not notice whether it is good for eternity, I tried several times error was a more nimble
Please!!
 
I'm unable to compile mod_ruid2 with new apache too.
I've already send the founder of mod_ruid2 a email for help c.q. work around.

When I have a reply I'll let you guys know asap!! Until its not compatible i'm using 2.2.22 instead of 2.4.
 
apache 2.4.1

John tolk me that this is in test mode. So there are no known problems. I think it is wise to wait for production servers.

But if anyone have any tests comparing % of CPU usage it would be great!
 
It will be fixed very soon (John will upload apr and apr-util packages), a temporary fix is --with-included-apr removal from configure.apache file.

help !!

Code:
Backing up certificate and key, and turning off httpd for DirectAdmins's check.
Found /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz
Extracting /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz...
./build: line 4854: echo: write error: Operation not permitted
Configuring httpd-2.4.1
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Apache Portable Runtime library ...

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

*** There was an error while trying to configure Apache 2. Check the configure/ap2/configure.apache file
 
It will be fixed very soon (John will upload apr and apr-util packages), a temporary fix is --with-included-apr removal from configure.apache file.


Hmm,

that doesn't work here. I have included it to my configure.apache but it doesn't work!

EDIT:
You need to remove this line from it: --with-included-apr

Edit 2: Doesn't work after that..


mod_lbmethod_byrequests.c:194: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:194: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:195: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:195: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:196: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:196: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:198: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:198: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:162: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:162: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:163: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:163: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:164: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:164: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:165: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:165: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:166: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:166: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:168: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:168: warning: (near initialization for 'AP_DECLARE_MODULE')
make[4]: *** [mod_lbmethod_byrequests.slo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [mod_lbmethod_bytraffic.slo] Error 1
make[4]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules/proxy/balancers'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules/proxy/balancers'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1'
make: *** [all-recursive] Error 1

*** The make has failed, would you like to try to make again? (y,n):
 
Last edited:
Hmm,

that doesn't work here. I have included it to my configure.apache but it doesn't work!

You should remove the line ;)

Edit:
I commented it out, after deleting it, i'm getting the same error as kevinwalter.
 
Last edited:
seems the update is broken
seems the extract feature doenst work even if i uploaded it the file manually on /usr/local/directadmin/custombuild
Downloaded file /usr/local/directadmin/custombuild/httpd-2.4.1-deps.tar.gz does not exist or is empty after download
cwd is: /usr/local/directadmin/custombuild
Fileserver might be down, using the backup file server..
--2012-02-23 15:28:59-- http://69.30.193.202/services/custombuild/httpd-2.4.1-deps.tar.gz
Connecting to 69.30.193.202:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2012-02-23 15:28:59 ERROR 404: Not Found.



*** MD5 Checksum for httpd-2.4.1-deps.tar.gz failed *again*.***
The md5 checksum value may be incorrect, or a wrong file is being downloaded.
Install continuing with this possibly corrupted file. (it may also be fine)


File already exists: httpd_2
File already exists: httpd_2_freebsd
File already exists: httpd_2_debian
Backing up certificate and key, and turning off httpd for DirectAdmins's check.
Found /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz
Extracting /usr/local/directadmin/custombuild/httpd-2.4.1.tar.gz...
*** Cannot find /usr/local/directadmin/custombuild/httpd-2.4.1-deps.tar.gz. Aborting ***
 
Last edited:
Same error here:

Code:
mod_lbmethod_bytraffic.c: In function 'find_best_bytraffic':
mod_lbmethod_bytraffic.c:60: error: 'apr_OFN_ap_proxy_retry_worker_t' undeclared (first use in this function)
mod_lbmethod_bytraffic.c:60: error: (Each undeclared identifier is reported only once
mod_lbmethod_bytraffic.c:60: error: for each function it appears in.)
mod_lbmethod_bytraffic.c:60: error: expected expression before ')' token
mod_lbmethod_bytraffic.c:67: warning: implicit declaration of function 'APLOGNO'
mod_lbmethod_bytraffic.c:67:65: error: invalid digit "9" in octal constant
mod_lbmethod_bytraffic.c:68: error: expected ')' before string constant
mod_lbmethod_bytraffic.c:84: warning: implicit declaration of function 'PROXY_WORKER_IS_DRAINING'
mod_lbmethod_bytraffic.c:116: error: expected ')' before string constant
mod_lbmethod_bytraffic.c:117: warning: passing argument 6 of 'ap_log_error' makes pointer from integer without a cast
/usr/include/apache/http_log.h:171: note: expected 'const char *' but argument is of type 'int'
mod_lbmethod_bytraffic.c: At top level:
mod_lbmethod_bytraffic.c:147: warning: excess elements in struct initializer
mod_lbmethod_bytraffic.c:147: warning: (near initialization for 'bytraffic')
mod_lbmethod_bytraffic.c:149: warning: excess elements in struct initializer
mod_lbmethod_bytraffic.c:149: warning: (near initialization for 'bytraffic')
mod_lbmethod_bytraffic.c:160: warning: data definition has no type or storage class
mod_lbmethod_bytraffic.c:160: warning: type defaults to 'int' in declaration of 'AP_DECLARE_MODULE'
mod_lbmethod_bytraffic.c:160: warning: parameter names (without types) in function declaration
mod_lbmethod_bytraffic.c:160: error: function 'AP_DECLARE_MODULE' is initialized like a variable
mod_lbmethod_bytraffic.c:161: error: invalid initializer
mod_lbmethod_bytraffic.c:161: error: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:161: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:161: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:162: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:162: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:163: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:163: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:164: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:164: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:165: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:165: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:166: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:166: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_bytraffic.c:168: warning: excess elements in scalar initializer
mod_lbmethod_bytraffic.c:168: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c: In function 'find_best_byrequests':
mod_lbmethod_byrequests.c:88: error: 'apr_OFN_ap_proxy_retry_worker_t' undeclared (first use in this function)
mod_lbmethod_byrequests.c:88: error: (Each undeclared identifier is reported only once
mod_lbmethod_byrequests.c:88: error: for each function it appears in.)
mod_lbmethod_byrequests.c:88: error: expected expression before ')' token
mod_lbmethod_byrequests.c:95: warning: implicit declaration of function 'APLOGNO'
mod_lbmethod_byrequests.c:96: error: expected ')' before string constant
mod_lbmethod_byrequests.c:97: warning: passing argument 6 of 'ap_log_error' makes pointer from integer without a cast
/usr/include/apache/http_log.h:171: note: expected 'const char *' but argument is of type 'int'
mod_lbmethod_byrequests.c:112: warning: implicit declaration of function 'PROXY_WORKER_IS_DRAINING'
mod_lbmethod_byrequests.c:142:69: error: invalid digit "8" in octal constant
mod_lbmethod_byrequests.c:143: error: expected ')' before string constant
mod_lbmethod_byrequests.c: At top level:
mod_lbmethod_byrequests.c:177: warning: excess elements in struct initializer
mod_lbmethod_byrequests.c:177: warning: (near initialization for 'byrequests')
mod_lbmethod_byrequests.c:179: warning: excess elements in struct initializer
mod_lbmethod_byrequests.c:179: warning: (near initialization for 'byrequests')
mod_lbmethod_byrequests.c:190: warning: data definition has no type or storage class
mod_lbmethod_byrequests.c:190: warning: type defaults to 'int' in declaration of 'AP_DECLARE_MODULE'
mod_lbmethod_byrequests.c:190: warning: parameter names (without types) in function declaration
mod_lbmethod_byrequests.c:190: error: function 'AP_DECLARE_MODULE' is initialized like a variable
mod_lbmethod_byrequests.c:191: error: invalid initializer
mod_lbmethod_byrequests.c:191: error: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:191: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:191: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:192: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:192: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:193: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:193: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:194: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:194: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:195: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:195: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:196: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:196: warning: (near initialization for 'AP_DECLARE_MODULE')
mod_lbmethod_byrequests.c:198: warning: excess elements in scalar initializer
mod_lbmethod_byrequests.c:198: warning: (near initialization for 'AP_DECLARE_MODULE')
make[4]: *** [mod_lbmethod_bytraffic.slo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [mod_lbmethod_byrequests.slo] Error 1
make[4]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules/proxy/balancers'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules/proxy/balancers'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1/modules'
make[1]: *** [shared-build-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.1'
make: *** [all-recursive] Error 1

*** The make has failed, would you like to try to make again? (y,n):

:(
 
CustomBuild 1.1.36 and 1.2.31 should be uploaded to DA servers today, with a fix for apr/apr-util.
 
Back
Top