# Apache HTTP Server 2.4, where art thou?



## fggggg13432ew (Sep 2, 2012)

2012-04-17 <-- Apache 2.4 Apache HTTP Server was released as "stable" by the Apache foundation.
2012-04-20 <-- It should've been available for FreeBSD in the ports tree.
2012-09-02 <-- Today, almost FIVE MONTHS later, it is still not in the FreeBSD ports tree.

I have been waiting, hoping, checking and pulling my hair daily for all these days. I've asked people, searched for any signs of life, subscribed to the mailing list, but nobody seems to care.

It's a surreal experience. I would do it myself if I could, but I don't have the expertise. This is not laziness or whining. I simply have a set of skills different from this, and thus this is not "my task" in this world.

Could somebody offer any hope for me? Is anyone working on this at all? Why does it take so incredibly long? 2.4 has massive improvements. And no, I'm not going to switch to nginx or anything else, and compiling source code is not an option.

I'm going crazy over this.


----------



## swills@ (Sep 2, 2012)

Have you considered working on it and sending in a patch? We're well aware, but it is a volunteer project after all. Volunteer!


----------



## fggggg13432ew (Sep 2, 2012)

swills said:
			
		

> Have you considered working on it and sending in a patch? We're well aware, but it is a volunteer project after all. Volunteer!


I don't know how to respond to this since I already addressed it in the first post.


----------



## wblock@ (Sep 2, 2012)

You can wait for someone else to do it, do it yourself, or possibly even pay someone to do it.  With the help of the existing port, the Porter's Handbook, and somewhat less than five months of time, it's possible to put together a preliminary port.

Are there specific problems the new version fixes, or new features that are needed?


----------



## fggggg13432ew (Sep 2, 2012)

wblock@ said:
			
		

> Are there specific problems the new version fixes, or new features that are needed?


Huge performance improvements, mostly. To compete with earlier mentioned competitors. Now it's really behind on FreeBSD.


----------



## SirDice (Sep 2, 2012)

I'm guessing the imminent release of 9.1 has put things on hold for a while. The ports tree is usually quite static around the time of a release.


----------



## fggggg13432ew (Sep 2, 2012)

SirDice said:
			
		

> I'm guessing the imminent release of 9.1 has put things on hold for a while. The ports tree is usually quite static around the time of a release.



It used to be 8.3 or something that blocked it... now it's yet another release... sigh.


----------



## kpa (Sep 2, 2012)

Unless someone has made a promise they are going to port apache 2.4 to FreeBSD there's no one in the world who has a responsibility to do so. The ports for FreeBSD are almost 100% volunteer based project. Step up yourself and start hacking


----------



## fggggg13432ew (Sep 2, 2012)

kpa said:
			
		

> Unless someone has made a promise they are going to port apache 2.4 to FreeBSD there's no one in the world who has a responsibility to do so. The ports for FreeBSD are almost 100% volunteer based project. Step up yourself and start hacking



For the billionth time: I don't have the necessary skills.

And of course nobody is FORCED literally to do it. It should not be something that anyone needs to be forced or talked into. It should be NATURAL. Also, one might really wonder why there isn't some official "fallback maintenance team" for super important ports such as this one.


----------



## kpa (Sep 2, 2012)

In that case, keep asking. The freebsd-ports and freebsd-apache mailing lists should have at least some people that are capable and willing to do the porting. It's a matter of asking in a way that convinces those people that it's worth doing, just saying that it has to be done gets nowhere.


----------



## adamk (Sep 2, 2012)

fggggg13432ew said:
			
		

> For the billionth time: I don't have the necessary skills.
> 
> And of course nobody is FORCED literally to do it. It should not be something that anyone needs to be forced or talked into. It should be NATURAL. Also, one might really wonder why there isn't some official "fallback maintenance team" for super important ports such as this one.



So who would decide what's a super important port? Personally, I could care less about apache 2.4.


Adam


----------



## baot (Sep 2, 2012)

Are you the same guy that comes in ##FreeBSD every other day, demanding someone updates it?


----------



## fggggg13432ew (Sep 3, 2012)

adamk said:
			
		

> Personally, I could care less about apache 2.4.



So you do care, then?


----------



## adamk (Sep 3, 2012)

While I'm quite sure you realize I meant to say that I *couldn't* care less about apache 2.4, I would point out that saying I do care less about it doesn't actually mean I care about it in any significant manner 

For what it's worth, I'd rather see Xorg updated 

Adam


----------



## SirDice (Sep 4, 2012)

There's nothing wrong with Apache 2.2 and I doubt there will be many people that actually require the improved performance of 2.4. Sure, there will be people that will greatly benefit from it, but I think the vast majority of the current Apache users wouldn't notice any difference.

Sometimes you just have to be a little patient.


----------



## mix_room (Sep 4, 2012)

While you say that you don't have the necessary skills, you don't say that you are unwilling to learn them. I am pretty certain that if you take the www/apache22 port as a basis, read the change-logs from apache2.2 to apache2.4 and apply them as necessary you will at least get partial results. Then you can share your work with other people, and you will see that someone will be willing to help you with the remaining portions. 

It is always a lot easier, and also a lot more fun, to help people who have tried to do things themselves first. Not only are you then teaching them something, but they also have a much greater appreciation for the amount of work that goes into doing something. 

Just give it a shot. Worst case - it doesn't work. For me it seems that the default instruction on http://httpd.apache.org/docs/2.4/install.html work quite well for FreeBSD, ie it builds without obvious errors. This means that you are already quite close to having a working port.


----------



## shitson (Sep 12, 2012)

fggggg13432ew said:
			
		

> 2012-04-17 <-- Apache 2.4 Apache HTTP Server was released as "stable" by the Apache foundation.
> 2012-04-20 <-- It should've been available for FreeBSD in the ports tree.
> 2012-09-02 <-- Today, almost FIVE MONTHS later, it is still not in the FreeBSD ports tree.
> 
> ...



I'm sure at one time in their lives everyone who has ever done anything, didn't have the experience they have now or needed at the time. 5 months is a long time to sit on your hands.


----------



## ManaHime (Sep 18, 2012)

You might not have the skill to port it right now but nothing prevents you from learning.

Also this is a user based forum so if you want help with updating a port I would recommend asking on the mailing lists.

Peoples are generally nice there... When you know how to politely ask and not demand something.


----------



## NewGuy (Sep 19, 2012)

If the original poster needs Apache updated so badly that they are "going crazy" over it, then they should either learn how to port or offer a bounty for it. Expecting volunteers to make a minor update a priority just smacks of entitlement.


----------



## AlexJ (Sep 20, 2012)

*@NewGuy*
Do you really think that http://httpd.apache.org/docs/2.4/new_features_2_4.html is a "minor update" ?

*@Original_topic_starter*
Take a look at */usr/ports/www/apache22/files*, there is a lot of important patches related to _FreeBSD_ only that need to be applied to the new branch and to be make sure it works well before publish it. This is a new branch and old patches need to be review very carefully before applying it. Beside of that, take a look here http://httpd.apache.org/docs/2.4/upgrading.html. Nobody want make experiments on users and ruin own business by teaching people(who tend to follow popular things(copy/paste from howto) and not really willing to learn anything new).
There is some work on this branch, but until it proves itself as the production quality it wouldn't be published. Until it happened, you can just download source code and compile it. 
http://httpd.apache.org/docs/2.4/install.html provide pretty straightforward instructions how to do it
(
You can avoid to install *lynx* by replacing downloading command to *fetch*. Well, all you need to do it is:

```
cd /path/to/directory/where/source/code/will/be/downloded 
fetch http://www.reverse.net/pub/apache//httpd/httpd-2.4.3.tar.gz
tar xvf ./httpd-2.4.3.tar.gz
cd ./httpd-2.4.3
mkdir -p -m 755 /usr/local/www/apache24    # directory where you want to keep compiled apache24 to avoid mess up with port's apache
./configure --prefix=/usr/local/www/apache24
make
make install # it will be installed to /usr/local/www/apache24
ee /usr/local/www/apache24/conf/httpd.conf 
/usr/local/www/apache24/bin/apachectl -k start
```
). 
As it already was stated here, at least on 8.3 you will be successful on this process. 
So you can get up and running apache24 in less then 20 minutes.
It would be helpful if you will report any issues while using apache24.


----------



## NewGuy (Sep 20, 2012)

*Apache*



			
				AlexJ said:
			
		

> *@NewGuy*
> Do you really think that http://httpd.apache.org/docs/2.4/new_features_2_4.html is a "minor update" ?



Yes, that's why I wrote it. Honestly, what kind of question is that?


----------



## AlexJ (Sep 20, 2012)

NewGuy said:
			
		

> Yes, that's why I wrote it. Honestly, what kind of question is that?



NO, I just thought that having access to generic expressions is a big step forward that can't be called as a "minor upgrade". It's a long awaited feature for those who need create conditional configurations. Just in case if you didn't see it yet :http://httpd.apache.org/docs/2.4/expr.html

Try to create apache's configuration where you need to restrict access by business hours, IP/netmask. In apache22 it is a real PITA. The only tools - regex to compare with "*-ipmatch*" binary operator in 2.4

Human readable expressions like

```
<If "%{HTTP_HOST} == 'example.com'">
    Redirect permanent / http://www.example.com
</If>
```

to compare with 


```
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(\/)?$ http://www.example.com [R=301,L]
```
(Well, of course it questionable. For those who use it for a long time it would be preferable second solution, but our developers was really happy with first solution)

Ability to use *Lua* for configuration and business logic IMHO also is a huge step forward. It would be much easy to create Lua script instead of writing own module.

Ability to restrict allowed commands in *.htaccess* by AllowOverrideList

Finally, it is now possible to Define variables in the HTTPD configuration.

There's a lot of new, long awaiting features, so I was curious when you call this as  "minor upgrade". 
Well, we all have different tasks, so dragon in my eyes is a fly in yours, so please do not take it as offense or sarcasm.


----------



## mix_room (Sep 21, 2012)

Have you actually tried the official release. Seeing as it compiles fine for both me and AlexJ that should be a starting point for you.

Once you have compiled it, package it into a port, and ask people to test it for you. If you do this you will be pushing your progress along a whole lot faster than by asking people to do the work for you.


----------

