Slashdot Mirror


Apache 2.2.0 Released

ikewillis writes "According to an announcement on apache.org, Apache 2.2.0 has been released. From the announcement: 'This version of Apache is a major release and the start of a new stable branch. New features include Smart Filtering, Improved Caching, AJP Proxy, Proxy Load Balancing, Graceful Shutdown support, Large File Support, the Event MPM, and refactored Authentication/Authorization.' View the ChangeLog or check out the new feature list."

27 of 179 comments (clear)

  1. the wild west! by griffster · · Score: 3, Funny

    I'm waiting for Microsoft to rename IIS "Cowboy 1.0" :)

  2. How does 2.2 stack up to 1.3? by green+pizza · · Score: 3, Interesting

    I read the feature list and changelog earlier today but without taking the time to set up a test server and experiment with it I really have no idea how it compares to 1.3. For the most part we have stuck with 1.3.x for it's stability, performance on our older hardware (from 256MB dual 75MHz SPARCstation 20 to 1 GB 440 MHz Netras), and rock solid compatibility with mod_perl and Perl 5.6.

    I'll be willing to try upgrading in the near future in hopes of experimenting with and making use of the some of the newer featues, but I would like to hear some first-hand information from those who have recently made the leap to 2.2, if at all possible.

    1. Re:How does 2.2 stack up to 1.3? by Not+The+Real+Me · · Score: 4, Interesting

      Slashdot is still running "Apache/1.3.33 Unix mod_gzip/1.3.26.1a mod_perl/1.29"

      In the meantime, you should upgrade to 2.2, post a link, tell us what happens to your server.

  3. Can reconfigure without restart NOW by dananderson · · Score: 4, Informative
    You can re-configure without restarting Apache 2.0 now (maybe even Apache 1.0, but I don't use that) by sending SIGHUP to the Apache process. The parent Apache process re-reads the config file.

    You can also do this: apachectl -k restart

    1. Re:Can reconfigure without restart NOW by Matt+Perry · · Score: 5, Informative
      Actually you want SIGUSR1. HUP does a regular restart which will cause any children to terminate immediately. Any requests in progress are terminated. USR1 (graceful restart) will allow the child processes to finish serving their requests and newly spawned children will have the new configuration.

      See the docs on stopping and restarting for reference.

      --
      Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
    2. Re:Can reconfigure without restart NOW by The+Clockwork+Troll · · Score: 5, Informative

      If you plan to rely on graceful restarts, be sure to set MaxChildren appropriately low, proportional to your server request rate, otherwise your config changes will never get picked up.

      --

      There are no karma whores, only moderation johns
    3. Re:Can reconfigure without restart NOW by Alwin+Henseler · · Score: 3, Funny

      Who needs manpages anymore? Just ask on /., and some seasoned sysadmin will come to your rescue! (note: not claiming anything about the parent poster, looks genuine though)

      --This comment also served to you by Apache
  4. Great Job ASF by webperf · · Score: 5, Insightful

    A round of thanks to all the hard work done by the HTTPD team.

    you guys ROCK

    and special thanks to paul who pushed this through!

  5. Re:Bid Update? by Coneasfast · · Score: 3, Insightful

    I don't get the feeling that this is a very significant update!

    any project in it's mature stages wont change much, at least not noticeable by most users.
    if bash creates a new release, you aint gonna notice the difference.
    if linux creates a new release, you aint gonna notice either (unless it's a major release, but in comparison, this apache release is not)

    --
    Marge, get me your address book, 4 beers, and my conversation hat.
  6. Re:Right... by Matt+Perry · · Score: 4, Informative

    Since version 1.x you've been able to make config changes without a restart. Just edit your config files and then run "apachectl -k graceful" or send a USR1 kill signal to the parent Apache process. Apache reloads the config without restarting.

    --
    Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
  7. Inertia by code65536 · · Score: 5, Interesting

    That's interesting how they jumped from the 2.1.x beta versions to 2.2.0. They didn't do this when they went from the 2.0.x beta to the 2.0.x stable (hence the large .55 attached to 2.0.x right now). It's kinda like what Perl does with having devel and stable versions have odd and even numbers, respectively.

    Anyway, I guess the big question is, how many people will actually adopt 2.2.0. I still remember when 2.0 came out to mostly a yawn as most people kept using 1.3.x. Even today, most of the servers that I come across or administer are still using 1.3.x because unless you were running Windows, 2.x didn't really offer spectacular improvements over 1.3.x, and looking at the changes for 2.(1|2).x (anyone who's going to transfer a >2GB file over HTTP is crazy ;)), I have this feeling that we might see the same 1.3->2.0 inertia.

    1. Re:Inertia by Floody · · Score: 5, Informative

      Anyway, I guess the big question is, how many people will actually adopt 2.2.0. I still remember when 2.0 came out to mostly a yawn as most people kept using 1.3.x. Even today, most of the servers that I come across or administer are still using 1.3.x because unless you were running Windows, 2.x didn't really offer spectacular improvements over 1.3.x, and looking at the changes for 2.(1|2).x (anyone who's going to transfer a >2GB file over HTTP is crazy ;)), I have this feeling that we might see the same 1.3->2.0 inertia.

      The change from 1.3 -> 2.0 was a very major one. The entire api was retooled; and for good reason, ap 1.3 had some rather serious deficiencies in the extensibility department (module load order significance, etc). 2.0 saw the birth of the exceedingly well designed APR (Apache Portable Runtime), a module-participation-driven abi ("hooks") and fast stack-unwinding i/o handling ("fitlers"). All good stuff, but slightly less able performance-wise on low-cpu-count hardware (extensibility always comes with a pricetag) and completely imcompatible with any module of even moderate complexity that had previously been written.

      Times have changed though. The robustness of the abi design combined with the APR has led to some outstanding modules, such as extensive state awareness and dynamic load-balance adjustment without even USR1-style interruption. None of these capabilities are even remotely plausible under 1.3.

      The point is: 2.2 is still the same core api design. Certainly, it contains some enhancements, but the bridge that must be crossed is miniscule in comparison to the 1.3/2.0 transition.

      There is still much room for improvement (when isn't there?). For example, mpm looks like a good idea on paper, but how well does it really work in terms of abstracting the process/thread semantics into fairly "pluggable" components? How well can it really work? Thread-based design requires a completely different approach or the end result (treating threads like processes) simply nets you more "accounting" overhead and few significant gains to offset that (yes, I realize it wins on win32 which does not have a light-weight process model).

  8. Combining mod_proxy with mod_cache by paulproteus · · Score: 4, Interesting

    I've been struggling with setting up a mirrors server for our computing club here. I'd like to mirror all of Debian, for example, but I'm finding that storing (and, worse, updating) 80 gigs only to serve a tiny fraction of the files to our users is a dismal trade-off. I had been experimenting with ProxyPass, but since it didn't cache the results locally, it wasn't really providing a speed benefit.

    mod_disk_cache plus mod_proxy's ProxyPass seems like just the ticket - I could give it a few servers to proxy for, give it a few hundred gigs of cache, and it would then automatically intelligently cache for those servers. This would be a great, easy plug-in solution.

    Has anyone used mod_proxy and mod_cache in this fashion? It'd be great to hear about others' experiences or configuration examples.

    --
    |/usr/games/fortune
    1. Re:Combining mod_proxy with mod_cache by gleam · · Score: 4, Informative

      I'd suggest going with Squid 3.0 (beta, but very stable in my experience) acting as a caching reverse proxy instead of Apache.

      use cache_peer to setup multiple debian mirrors as parents and it'll share the load between them.

      In my testing with squid 3.0 vs squid 2.5 vs apache 2.1.9 (the last beta version before 2.2.0), squid vastly outperformed apache when it came to this type of application.

      I'm sure someone will explain to me that apache 2.2 is actually far faster than squid, but in my experience, it's not.

      If you want to provide the mirror as a subdirectory of your current site, instead of giving it its own IP and domain, just set up squid to reverse proxy your entire site. You can configure different paths in the url to go to different parent servers, so /debian/ will be your debian mirror parent servers but everything else will be localhost:81, or whatever.

      YMMV etc etc, but that's what I'd do.

      --
      this .sig is not a .sig.
  9. Do you really need to change? by CyricZ · · Score: 4, Insightful

    What are the newer features that you're planning on using?

    Indeed, it sounds like you have what may be the perfect situation. Even if your servers are somewhat older, and not the most powerful, they are still very solid Sun systems. They will basically last forever. You suggest that mod_perl is working very well for you at the moment, too.

    Perhaps an upgrade would be the worst thing you could do. Sticking with older, proven systems is many times a very wise idea.

    --
    Cyric Zndovzny at your service.
  10. wtf? by Anonymous Coward · · Score: 4, Interesting

    Storing state in the server and retrieving it via cookies, etc., is not CPS, it's just saving and retrieving state. And who still uses CGI anyway?

    And who says continuations are a valid way to write web apps? I prefer to use request/response because that's the model of the underlying architecture. I also want my URLs to represent named entry points, not continuations within some arbitrary program.

    And how the heck would Apache know how to save a continuation in any arbitrary programming language? Or is Apache supposed to turn into a set of libraries, one for Smalltalk, one for Ruby, one for Lisp.. ?

    Explain what you mean, son....

  11. Thank god for LFS. by Anonymous Coward · · Score: 4, Insightful

    For those of you saying you don't need to transfer >2GB it reminds me of comments like, "640k is enough for anybody", "64-bit isn't needed on the desktop", "no advantage to dual core" etc etc.

    This will finally mean I can wget DVD ISO images! Work with large files over WebDAV and it will also mean my logs can grow over 2GB which is cool.

    HTTP works where FTP has problems when dealing with complex networks (firewalls/NAT etc etc).

    1. Re:Thank god for LFS. by Slashcrap · · Score: 4, Insightful

      No it doesn't unless you try and run a server from behind a firewall.

      And who the hell would want to run a server from behind a firewall? What a ridiculous idea.

      Just use passive mode and it will just work just as well as http.

      I see you've never configured a firewall then.

      Claiming that http servers need to support over 2gb is like claiming that DNS servers need to. And show me a real reason to go for 64-bit on the desktop.

      He gave some perfectly valid reasons for wanting LFS - WebDAV for one. You ignored them, probably because you didn't understand them. And then you called him an idiot. At least your sense of irony is well developed.

    2. Re:Thank god for LFS. by Renegrade · · Score: 3, Insightful

      FTP is a horrible protocol - two TCP streams to do the work of one? Secondary connection data stored in the first connection's stream? No real standard to getting stat() info on files? No resumes/byte ranges in the base standard? On the fly ascii translation??

      While HTTP has it's own warts, it does support things like byte ranges, proxying, single TCP stream transfers, etc.

      I'd personally love to see a new FTP2 protocol that ditches all the old mainframe stuff, kills the ASCII transfers, and allows proper stat()ing of files (could have different modes like STAT BASIC (size, mtime, r/w status), STAT UNIX (size, all *times, 0777 perms, owners, etc), STAT WINNT (windows ACL data) STAT UNIXACL, etc), allow byte-range download specifications, all over a single stream, in a single protocol in a single RFC.

  12. apt-proxy by Anonymous Coward · · Score: 3, Informative

    FWIW there's a debian-specific solution in the form of apt-proxy, a program that runs on your server, then the clients point their /etc/apt/sources.list at you, etc. etc. I haven't used it, but I know it exists, so your mileage may/will vary. (At my last job I was responsible for setting up a large web cluster; one machine acted as sort of the "mothership" providing all sorts of network services to the web hosts and so on... I was just looking into apt-proxy when I ended up getting a better job elsewhere. ;))

    http://apt-proxy.sourceforge.net/

  13. Re:Different mirrors for different directories by gleam · · Score: 3, Informative

    Yes, Squid 3.0 can handle that easily using built in config options, and squid 2.5 can handle it with an external redirector script.

    --
    this .sig is not a .sig.
  14. Re:GUI? by code65536 · · Score: 5, Insightful

    I've used the IIS GUI once because I was curious. *shudder* GUIs are useful only when well-designed.

    1/ There are Apache GUIs. Google them up. Some are free, some are not.

    2/ Opening the config file in a GUI text editor and navigating around with a mouse should be fairly easy, especially with the copious amount of documenation in the config.

    3/ It's very difficult to express the rich level of complexity of Apache configurations in a GUI. Just imagine how on Earth a GUI can be made to handle nested VirtualHosts, Directorys, and Files. Throw in some regexp, and suddenly, you are faced with a situation where it becomes a heck of a lot easier to just edit the config file. To say that a GUI is always easier than text is incorrect; it depends on the situation, and Apache configs are one of those situations where this is the case (kinda like how when dealing with non-photographic web graphics, you need to use PNG or GIF and avoid JPG like the plague and how when dealing with photographic web graphics, you have to use JPG... each rules over their own niche of strength).

    4/ If a GUI is made, it is highly likely that it won't be as powerful as just using a text editor; it's not as expressive (see above). But there's really not much to do with the basic configuration, either. For the most part, the default configuration works just fine, and if someone needs to edit the settings, it's mostly for the complicated stuff that would be a bloody mess to do in a GUI.

    5/ Compactness and portability.

  15. Re:GUI? by Orange+Crush · · Score: 3, Informative

    There are a couple of GUI frontends for configuration available, but I don't believe this release includes one "out of the box." If you're running Apache on Windows there are a number of commercial products available for GUI configuration. There's a whole bunch of free ones for Linux/Unix, webmin being one of my favorites since it has modules for just about everything under the sun (unix users & groups, samba shares, mysql, etc.) Although I've never had much trouble editing the text conf files by hand. We have a lot of sites and virtual hosts--it was much quicker and easier to set it all up in Apache via typing and cutting and pasting the relevant bits than when we used to run IIS.

  16. Re:Stick with NCSA HTTPd 1.5.2a by Mjlner · · Score: 5, Funny
    "I think I'm going to stick with something I can really trust!

    Maybe I'll try CERN httpd 2.14, I'm not sure if 3.0 has enough of a track record."

    Running Debian stable, eh?

    --
    Lemon curry???
  17. Re:When are they going to fix mpm_perchild by Cronq · · Score: 3, Interesting

    AFAIK there is 0 interest in fixing perchild in apache community. Too bad because this is the biggest disadvantage of apache. There is simply NO WAY to run vanilla apache + mod_python/mod_php/mod_perl/mod_whatever in a SECURE way in multiuser enviroment :-(

  18. but WHEN! by jaimz22 · · Score: 3, Interesting

    i just want to know when i'll be able to restart each vhost independently, like in IIS. or atleast have it rehash the config with out shutting the server down ( or is that already possible )?

  19. Re: Version numbers by rbowen · · Score: 5, Informative

    In the mean time (ie, since the 2.0 release) we've changed the versioning model to the "odds are dev, evens are stable" model. So as soon as 2.2 released, development moved to the 2.3 branch, which will release as 2.4. So, yes, like Perl and Linux and many other things.

    As for transferring >2GB files, this comes up many times every day on #apache, and fairly frequently on the mailing lists, so people do actually want to do this.

    Folks that are still using 1.3 are missing out on enormous strides forward. The "it still works fine, why should I upgrade" crowd are completely welcome to remain where they are, and we're not going to compel to move, but they are going to miss out on all sorts of cool things, in the name of "it's good enough already." Their loss, not ours.

    --
    Apache guy, Open Source enthusiast, runner