Slashdot Mirror


An Overview of the Boa Web Server

Gentu writes "There is a pretty new and little known, lite web server in town, named Boa. The server can run very fast on older machines, even on embedded devices, but it is only CGI-based. OSNews introduces Boa (running under Linux) and it includes some preliminary benchmarks against Apache and thttpd."

185 comments

  1. Boa vs. Apache? by Anonymous Coward · · Score: 4, Funny


    If Boa is too constricting, you might want to switch back to good ol' Apache

    Bah dum bah!

    1. Re:Boa vs. Apache? by billybob2001 · · Score: 5, Funny

      Does it suppport Python?

      And how's the scale-ability?

    2. Re:Boa vs. Apache? by twoslice · · Score: 3, Funny

      If Boa is too constricting, you might want to switch back to good ol' Apache

      I believe that the Tag line switch was coined by Apple...

      Ellen Feiss talking about switching from Boa to OSX Server:

      I was like using this web server...

      and like it was really fast....

      and it was showing my website when...

      Boop Beep Buh Deep Bip Bop...

      It went poof! Gone! It was like... ...
      ...
      ...
      ...

      Bummer

      --

      From excellent karma to terible karma with a single +5 funny post...
    3. Re:Boa vs. Apache? by axxackall · · Score: 2
      The best web (and not only web) servers with Python support:
      --

      Less is more !
    4. Re:Boa vs. Apache? by JimCricket · · Score: 2, Interesting

      Some other small (and embeddable) web servers to check out:

      Device Management Framework: http://www.artlogic.com/dmf/
      This is a web application platform for making device management apps - say, for controlling a cable modem, printer, or industrial equipment. It supports some cool stuff including SOAP and XML-RPC.

      GoAhead WebServer: http://www.goahead.com/webserver/webserver.htm
      This server is also embeddable but not as useful as the Device Management Framework. It's fine for serving a personal web site, or as an alternative to PWS.

    5. Re:Boa vs. Apache? by Random+Frequency · · Score: 1

      boa is a web server, not an application server.

    6. Re:Boa vs. Apache? by Anonymous Coward · · Score: 0

      Our zope server has died about 20 times in the past 2 years. I've never seen apache die.

  2. performance info is useless by WPIDalamar · · Score: 4, Insightful

    The test performance against apache using a different test program for each server. Furthermore, it looks like Boa is designed for one thing... speed. Apache is designed to be feature complete. It's like comparing apples and pumpkins.

    1. Re:performance info is useless by Anonymous Coward · · Score: 3, Funny

      Nice metaphor. You can make pie out of both of them.

    2. Re:performance info is useless by inthemicz · · Score: 2, Interesting

      Or a mercedes S-class to a Ferrari, what you have to consider is if you want that speed. I dont really think that Boa has been designed as a competitor(not sure if this is the right word) to Apache. Time will tell it may take off you never know

    3. Re:performance info is useless by operagost · · Score: 1

      I agree; feature-complete, Boa is not. Hasn't even hit v1.0 yet after about eight years of development.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    4. Re:performance info is useless by shinyshinyspurs · · Score: 2, Informative

      As far as I know, Boa is used in embedded linux platforms...like Axis webcams, etc. I used it about three or four years ago in webcams. It provided a low-overhead means by which a browser-based configuration tool could be delivered. I think it worked great. The features are not the point. In fact, the absence of features seems to be the point.

    5. Re:performance info is useless by derch · · Score: 1

      Nice metaphor, but it would be more appropriate to say "It's like comparing an apple to a pantry." Apples and pumpkins are both as equally versatile food items.

    6. Re:performance info is useless by tmark · · Score: 4, Insightful

      It's not useless or irrelevant if you happen to be using Apache, don't need it's full feature set, and really need performance. Or maybe you're in a situation where you're considering both, and it MIGHT be convenient to use the full Apache feature set, but might be willing to work around deficiencies to have better performance. In other words, this info is relevant any time when the user is prepared to trade-off features against performance or vice-versa, when the need for feature-set and performance is not absolute and written in stone. In any such circumstance, it's entirely appropriate to compare performance, as long as the user recognizes there are other differences.

    7. Re:performance info is useless by Anarchofascist · · Score: 2

      It's like comparing apples and pumpkins.

      Bad analogy, wrong use of cliche. If I was unfamiliar with pupmkins and had a professional interest in maintaining apples, I would certainly want to hear about all the special features that separate pumpkins and apples.

      I might even appreciate a comparison to lemons, even though I don't want to spend money on a Microsoft product.

      --
      Once more unto the breach, dear friends, once more, Or close the wall up with our American dead!
    8. Re:performance info is useless by Saint+Aardvark · · Score: 2
      Or if you've got a 486 w/16 MB of RAM, say. (Let 'er rip...I've always wanted to see how it does under a slashdotting :-)


      Works fine for me. C'mon, I can't be the only one who's set this up, right?

    9. Re:performance info is useless by LinuxHam · · Score: 3, Funny

      somehow i knew you'd be sending us to mrtg charts, but i was hoping it was going to chart eth0 traffic or something.. you know, give us a goal, something to work towards!! :)

      --
      Intelligent Life on Earth
    10. Re:performance info is useless by Tellarin · · Score: 1, Funny


      no, comparing apache and boa is like comparing apples and oranges

      you insensitive clod!

    11. Re:performance info is useless by PunchMonkey · · Score: 3, Funny

      Or maybe you're in a situation where you're considering both, and it MIGHT be convenient to use the full Apache feature set, but might be willing to work around deficiencies to have better performance.

      Pardon me, but is sounds like you're suggesting we "use the right tool for the right job". Now I don't know if you're from k5 or where, but here on /., we don't do things that way.

      --
      I'll have something intelligent to add one of these days...
    12. Re:performance info is useless by ergo98 · · Score: 2, Insightful

      Indeed it looks like Boa was made specifically for the efficient serving of static content, where Apache, like IIS, is made in a very versatile, full featured manner. Does this render comparisons irrelevant though? Absolutely not. The reality is that most of the content that people do serve up is static content (images, CSS files, etc), and it is entirely reasonable that a server system could include a Boa or similar hyper-optimized server specifically for the static content (i.e. http://www.static.myurl.com/css/styles.css), with the Apache or IIS server being the front line real content system. Using the right tools for the specific tasks could be very beneficial and help avoid the dreaded Slashdotting while Apache or IIS is busy serving up GB of images or static HTML files.

    13. Re:performance info is useless by Tellarin · · Score: 1


      man, moderator on crack again?
      can't one realize my previous post was a joke?

    14. Re:performance info is useless by Anonymous Coward · · Score: 0

      man, moderator on crack again? can't one realize my previous post was a joke? Sometimes "-1 Redundant" means "-1 Lame And Not Funny".

    15. Re:performance info is useless by Anonymous Coward · · Score: 1, Funny

      Bad analogy, wrong use of cliche
      10-yard penalty, replay 3rd down!

    16. Re:performance info is useless by WPIDalamar · · Score: 2

      ah... but they use different test apps on each, so there is no valid comparison there. If they used the same testing program on both, it might mean something.

    17. Re:performance info is useless by cybrthng · · Score: 2

      They both make delicious pies.

      Thats all that matters

    18. Re:performance info is useless by johnnyb · · Score: 2

      I once used Boa in a situation where I couldn't get Apache to compile (an old HPUX machine). It ran a pirate web site at Oklahoma Baptist university, and used to run on http://obunix.okbu.edu:2000/ They wouldn't let us CompSci students have our own web space, so I just ran Boa in the background under my own user account, and told everyone how to set up their pages. It was fun :) I had to go and restart the darned thing every time the administrator rebooted, though (the administrator was not particularly UNIX smart - I played some minor pranks on him w/ X11 - tip to the smart - don't put the IP address of an open X server on the command line of a public system). Anyway, other CompSci students kept it up for a year or two after I left. It was kinda fun.

    19. Re:performance info is useless by _typo · · Score: 2
      It was fun :) I had to go and restart the darned thing every time the administrator rebooted, though (the administrator was not particularly UNIX smart

      If you had to restart the webserver manually on every reboot you're not very UNIX smart either. A cron job running every 5 minutes to see if the server is still up would have taken care of it.

      --

      Pedro Côrte-Real.

    20. Re:performance info is useless by johnnyb · · Score: 2

      We didn't have cron permissions.

      But to answer your question, no I wasn't very UNIX smart at the time.

  3. Pretty new? by Anonymous Coward · · Score: 5, Informative

    Pretty new? You what? I've been running it for five years. Even the OSNews article mentions that "Boa was written sometime in the early 1990's by Paul Philips". It is definitely a nice little server tho'.

    1. Re:Pretty new? by beebware · · Score: 2, Informative

      Plus the fact it's been used in Axis web cameras for many years now (a camera with an embedded webserver, modem connection and network connection).

    2. Re:Pretty new? by murgee · · Score: 2, Interesting

      You can get it for MS-DOS too. The source and executables are available at http://www.fdisk.com/doslynx. If you use a multitasker in DOS you can even run it along side WordPerfect. ;-)

      --
      mrg
    3. Re:Pretty new? by spazoid12 · · Score: 1

      Paul did write it long ago. He also wrote (a now very dated) article on cgi security tips which is referenced on page 671 of O'Reilly's "Perl Cookbook". Drink me. A while back I noticed the link was dead and set up a redirect for him at Go2Net, but I was laid off recently and the Go2Net site will go down around March...so, let's hear it for more dead links published in popular books! Hooray!

    4. Re:Pretty new? by eastbam · · Score: 1

      set lame_joke_mode on

      Slashdot only just found out about this project, ten years later, and now focusing on it. Just like how they are focusing on Linux now, which is also ten year old technology. If they were to catch up with the rest of the world, Slashdot would be covering on Windows NT instead!

      set lame_joke_mode off

  4. Odd comparison? by FreeLinux · · Score: 4, Interesting

    It seems a little odd to compare BOA and Apache. Granted Apache is the web server of choice so a comparison is not too bizarre but, it is still an apples to oranges comparison.

    Boa is much smaller than Apache. This seems like a good thing on the surface, especially for embedded applications, as was suggested in the article. But, Boa is slower and much less functional than Apache. They really aren't comparable servers.

    1. Re:Odd comparison? by PD · · Score: 2

      Not true at all. Boa is much faster than apache on teeny hardware serving static pages. I've got it running on my own server (link in sig) and I doubt that the thing can be slashdotted easily. The pages are small, and text only for the most part.

      The bottleneck that I have is my DSL line uplink speed. My webserver can handle several connections per second, and it's only a Celery 300A with 64 megs of RAM.

    2. Re:Odd comparison? by Anonymous Coward · · Score: 0

      >> I doubt that the thing can be slashdotted easily

      Heh heh, sounds like a challenge. Who is ready to sautee some celery for the Thanksgiving stuffing?

    3. Re:Odd comparison? by massive-cow · · Score: 1

      Only several connections per second?
      Only a Celeron 300 with 64MB of RAM?

      I could write a webserver out of a shell script and [x]inetd that would run ten times faster!

      Yes, Boa is a nice and fast little webserver, but the last time I looked at the code, it was an awful messy hack.

      I also question why it is an odd comparison: the purpose of a web server is serving HTML pages.

      Realistically, serving static HTML pages with Apache *SHOULD* be just as fast as Boa - few Apache features (which apparently disqualifies Apache from actually being compared objectively against anything else) ought to slow down Apache for serving *static* pages.

      It's a stupid argument to argue that Apache isn't slow - it is. Yes, it's also featureful - however, few of those features effect the speed of serving static pages.

      --
      Simplicity is prerequisite for reliability. - Dijkstra
  5. uh by GigsVT · · Score: 5, Informative

    There is a pretty new and little known

    You'd think the submitter would at least read the article. It says right in there that it's been in development since before 1995, "In fact Boa is one of the oldest web servers in constant development".

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
    1. Re:uh by kaisyain · · Score: 3, Interesting

      Very true. Several years ago when I was in college I ported Boa to DOS. At the time I thought it was the world's first DOS httpd but was later informed someone had beaten me to the punch. At the time Corel or someone were releasing their free DOS replacement and talked to me a couple of times about including Boa for DOS but eventually their project died.

    2. Re:uh by PD · · Score: 2

      Boa definitely is a nice little program. I use it on my own website (link in my sig) and have no complaints. It doesn't do a lot, but it does it well. The biggest asset that it has in my opinion is that since it's so small and built with security in mind, I can feel good about running it. It will run CGI scripts, so there's always an opportunity to break security there.

  6. Fast? by Anonymous Coward · · Score: 0

    I thought the whole point of it was to be fast and light. But only a few comments submitted and the site is /.ed already!

  7. there are lots of options by night_flyer · · Score: 3, Informative

    even on the windows side, there is sambar server, tiny server (which is very small and very fast), and a multitude of others, some are feature rich, others just push out plain web pages.

    --


    Thanks to file sharing, I purchase more CDs
    Thanks to the RIAA, I buy them used...
    1. Re:there are lots of options by meadowsp · · Score: 1

      How incredibly informative. Who would have thought that there's more than one web server?

  8. No comparisons by mgkimsal2 · · Score: 3, Interesting

    I didn't see any benchmarks against Apache or thttpd in the article - I saw boa benchmarked with ab and zb. Looks interesting enough to try out, although I still haven't even bothered putting in thttpd to serve graphics yet, so I probably won't ever get around to boa after all. :/

  9. fnord! by MisterP · · Score: 5, Informative

    If you're interested in small webservers, fnord is another one. It even does CGI, vhosts and directory listings and it's only 18K. It requires tcpserver though.

    1. Re:fnord! by the_danielsan · · Score: 3, Informative

      URL should be http://www.fefe.de/fnord/

      (trailing slash)

    2. Re:fnord! by Doug+Neal · · Score: 1

      Did you say small web servers?

      My project, DNHTTPD, is a pretty full featured web server in about 1100 lines of Perl. Virtual hosts, CGIs, SSL, even preliminary Apache-like SSI parsing :)

      It's not finished, still suffers from some serious b0rkage in places, and I'm not exactly working on it full time, but feel free to take a look. It does the job for most simple purposes.

    3. Re:fnord! by frankie · · Score: 2
      URL should be http://www.fefe.de/fnord/ (trailing slash)

      That is not a very good endorsement of fnord. I'd rather use a web server that knows how to redirect "GET /foo" to "GET /foo/" transparently with http headers.

  10. from the article... by mschoolbus · · Score: 1

    "In fact, there are dozens of currently unrealized features that have already been implemented in one branch or another that might someday make it into a Boa release. In fact, there are outstanding requests for various features that have already been implemented in one of the branches that I hope will make it into the first 0.95.0 release."

    What is this all about and why do they keep saying "In fact"?

    1. Re:from the article... by BillX · · Score: 1

      Because it's a much better term to over-use than "hella"

      --
      Caveat Emptor is not a business model.
  11. Still slower than ZWS by fastlink · · Score: 5, Interesting

    Hi
    According to my tests BOA beats Apache.
    BUT the ZEUS web server (www.zeus.com) which is 'feature complete' (including mod_perl in version 4.2) still beats both of them.
    Have a nice day!

    1. Re:Still slower than ZWS by Moloch666 · · Score: 5, Insightful

      For the price to performance ratio apache wins.

      --
      Understanding is a three-edged sword. -- Kosh Naranek
    2. Re:Still slower than ZWS by Virtex · · Score: 3, Insightful

      I tried to verify that, but got a division by zero error when calculating Apache's performance/price ratio. I guess it just wasn't meant to be known.

      --
      For every post, there is an equal and opposite re-post.
    3. Re:Still slower than ZWS by Anonymous+Conrad · · Score: 1

      For the price to performance ratio apache wins.

      Really? I'd bet it's easier to configure and maintain than apache so you save money on admin time.

    4. Re:Still slower than ZWS by YoungHack · · Score: 3, Funny

      That's because you're doing it wrong. You compare by cross multiplying. Instead of (featuresApache)/(priceApache) vs. (featuresOther)/(priceOther) you do (featuresApache)*(priceOther) vs (featuresOther)*(priceApache).

      And Apache wins.

    5. Re:Still slower than ZWS by fupbro · · Score: 1

      Really? I'd bet it's easier to configure and maintain than apache so you save money on admin time.

      For myself, it seems that once you get over the initial curve of Apache (and vi if the admin is really new (and IMO probalby shouldn't be setting up a web server)), editing the httpd.conf file is way faster navigating through Zeus's web interface. Of course if you are talking about adding SSL certs or whatever, I hear you...

    6. Re:Still slower than ZWS by TeknoHog · · Score: 2

      Zeus is not free. If you compare opensource httpds, Boa is one of the faster ones (though not the only of its kind).

      --
      Escher was the first MC and Giger invented the HR department.
    7. Re:Still slower than ZWS by m00nun1t · · Score: 1

      [yawn] only if your time is free.

  12. Excellent for special UID use. by nutcracka · · Score: 5, Interesting

    I've used Boa in a number of cases where certain groups of CGI scripts need to run as a specific UID and I didn't want to use the SUID functionality of Apache. Because it is so lightweight, having a few of these hanging around for various citical system UIDs can really be handy, esp. if you have an aversion to using SUID wrappers and such. A good example is using Boa running as the same UID as the mailing list processor so you can have web administration of the list rosters. And the users don't even know about it because I use the ProxyPass directive to shuttle the requests from the standard port 80 up to the port on which Boa is running, so my logging is still centralized/standardized through Apache.

    Boa is very cool. Kudos to the developers!

  13. Better yet... by vasqzr · · Score: 2, Funny


    How well does it fork?

  14. Disappointing by ekrout · · Score: 1, Troll

    People, I'm sure you all realize as much as the next Open Source supporter/coder/documenter/pioneer that efforts from our end are grossly mismanaged when compared to those of our proprietary counterparts. I can admit this, and do so without embarassment, simply because I'm proud of how far we've all come and am excited about what the next few years have in store for us all.

    That being said, we really need to question these actions of our colleagues who develop the Boa web server. We already have Apache, which is truly a world-class HTTPD server in and of itself. Why do we need to waste the time and effort of so many skilled coders and frontiersmen of the Open Source revolution on a Web server project that should clearly be marked -1, Redundant?

    I agree that Apache can seem a bit bloated sometimes, but I assure you that anyone who reads a few man pages could figure out how to install and configure a minimalistic instance of the server. So in the time it took to write Boa, I'd wager that millions upon millions could have read the Apache documentation and put a minimalized install of it into action.

    I mean, think about it folks. Then, with their newly saved time, these Boa developers could have embarked on another project that's of high merit, something that we as Open Sourcers truly need, and, to quote typical manager talk, "needed yesterday".

    I am doing my part for our revolution, people. I regularly donate to the Electronic Frontier Foundation (EFF), Free Software Foundation (FSF), and Kuro5hin (K5). Moreover, I also spend at least 7 hours every weekend contributing code to some of the more popular projects that you have seen on SourceForge, such as the mail filtering utility and the Gayme instant messaging program.

    I don't know, I guess I just hate to see duplicate work. It's like back in grade school when the teacher would assign "seat" or "busy" work just so she could sneak off to the bathroom and snort some cocaine.

    --

    If you celebrate Xmas, befriend me (538
    1. Re:Disappointing by leoboiko · · Score: 2, Insightful

      It's called "freedom of choice".

      --
      Prescriptive grammar:linguistics :: alchemy:chemistry. Stop being a nazi and learn some science.
    2. Re:Disappointing by Anonymous Coward · · Score: 0

      Interesting. I have certainly felt that way about other products too.

      Choice is good, but too much choice is just too much. 2 or 3 competitors per product is all that's necessary.

      After that it's time to move on.

      Nice post, btw.

    3. Re:Disappointing by peterb · · Score: 5, Insightful

      Why do we need to waste the time and effort of so many skilled coders and frontiersmen of the Open Source revolution on a Web server project that should clearly be marked -1, Redundant?


      Wait a minute, who is "we"?

      I mean, no offense, but who the hell are you to tell a programmer what she should work on? Oh wait, did I say "no offense?" I meant "plenty of offense." As long as the Boa guys are enjoying what they're doing, more power to them. Now, maybe you're whining about Slashdot writing an article on it, but that's hardly the Boa guys fault.

      And, frankly, you sound like the type of person that's going to find something irritating to whine about no matter what.


      I mean, think about it folks. Then, with their newly saved time, these Boa developers could have embarked on another project that's of high merit, something that we as Open Sourcers truly need, and, to quote typical manager talk, "needed yesterday".


      Well, maybe some of us want to do work because it's fun, and we're interested in it, rather than because some random internet bozo thinks he 'needs' it.


      I am doing my part for our revolution, people.


      Yeah, I can see that -- you're already trying to impose your own narrowminded "managerial" (your label, not mine) viewpoint on the people that are trying to get work done, and touting your own superiority. Whooooo, how innovative and revolutionary.

      So why don't you just crawl back into your hole and write whatever code you want to, instead of whining that other people are working on things that don't benefit you personally?
    4. Re:Disappointing by rmolehusband · · Score: 5, Insightful
      Why do we need to waste the time and effort of so many skilled coders and frontiersmen of the Open Source revolution on a Web server project that should clearly be marked -1, Redundant?

      Maybe...
      • For the fun of it!
      • To see if we can!
      • To hack, tinker, improve and innovate?

      OK, so a lot of open source projects start up to fill a gap and a lot of open source projects start up to replace a proprietary or expensive solution, but a lot start up just to try and do something in a new way or innovative way, to experiment or to learn. It's the hacker way.

      OS is so productive becasue of this hacker attitude, stifle it at your peril.
      --
      Reginald Molehusband. Edinburgh, Scotland
    5. Re:Disappointing by baryon351 · · Score: 3, Insightful

      Partly because of the fun of it, but to combat bloatware a culture of making things small, in a practical sense, needs to exist. Apache may be size X, and if the belief is embedded in coders that size X is the minimum to do a job, it won't even be -considered- by the majority that things could be done more efficiently

      Even knowing a webserver exists that is 1/10th the size and runs in 1/10th the memory can give pause to thought, and keep the knowledge open that things can always be made smaller. In 1990 the entire internet was run on machines rarely quicker or more powerful than 386s or 68030s - it would be sad to see a culture of "You can't have a server online that's under 500mhz and a gig of ram" develop - without tiny coding projects like this, that's all too possible.

    6. Re:Disappointing by Stephen+Williams · · Score: 1

      I use a web server for serving documentation to exactly one person (me), using the Debian dwww and dpkg-www programs. Why would I need big ol' Apache to act as a local documentation server? Little servers like Boa are just what I want.

      A more useful real-world example would be an embedded system. Just look at the Apache and Boa memory footprints stated in the article. When memory and storage are both at a premium, Apache is probably not the way to go.

      As with anything, one size doesn't fit all. I agree that Apache is a superb piece of software, and is often the ideal solution. But not always.

      -Stephen

    7. Re:Disappointing by dchamp · · Score: 1
      Moreover, I also spend at least 7 hours every weekend contributing code to some of the more popular projects that you have seen on SourceForge, such as the mail filtering utility and the Gayme instant messaging program.


      Hmm... I did a search for "gayme" on sourceforge, no such project. I suspect you're pulling our leg.

      In any case... if there is such a project, aren't there already several other IM's out there? So then, isn't your arguement about redunancy a little redundant?

    8. Re:Disappointing by Abcd1234 · · Score: 2

      This is probably a troll, but...

      Did it ever occur to you that maybe, just maybe, the Boa folks don't give a damn about your so-called "revolution"? That maybe they're writing code because they want to? Because the *like* to? Because it's *fun*? Frankly, this whole talk of "revolutions" and the like sickens my stomache and degrades the old hacker mentality of doing stuff because it's enjoyable and interesting. Hell, I've written plenty of code and released it for free, but I don't do this because I think I *should*. I do it because I hope it might be useful to someone, and because I enjoy creating new things, and learning in the process. But now, we have people like you, who attempt to politicize this so-called "movement". Well, I say f*ck your movement. I'll work on what I want to work on, and code what I want to code, and if people find it useful, great, and if not, well, so it goes. But I'll be damned if I'll write code because someone else feels I should for the "greater good".

    9. Re:Disappointing by Anonymous Coward · · Score: 0

      Amen brother.
      As important as what a program can do, is what a program CANNOT do. Makes real security much more feasible if the program cannot do things it shouldn't.
      One of the reasons that Open Source is more secure is that it is much easier to find a solution that better matches the intended niche without exposing much else. BTW, the main advantage of security is minimizing interactions with unintended "features" by people who are supposed to be on your side. The black-hats and script kiddies are comparatively minor annoyances.

    10. Re:Disappointing by ToadSprocket · · Score: 0, Flamebait

      This sounds exactly like Republicans and Dems bitching about the Green/Nader/Libertarian Parties taking away votes from them. They know they ain't gonna win, so why bother voting for them? I don't know, but I imagine it's up to the people voting/developing Boa what they want to do.

      --


      If this article confuses you, don't worry. It was posted yesterday in a much clearer fashion.
    11. Re:Disappointing by tgv · · Score: 1

      Hear, hear.

      But I think you have formulated the essence of the Open Source "movement": it can only be kept running by people who like to do it. Otherwise, it will become work, and somebody will have to pay for it.

      No, the original poster is a pointy hair type, who doesn't have a clue. Saying things like "we need ..., and we needed it yesterday". What a luser. Either he's someone trying to leech of open source projects, or he's a pompous little twat, who would very much like to become an open source manager, so that his initials will be on par with this damn George Nicholas Ulysses!

    12. Re:Disappointing by tgv · · Score: 1

      Disappointing is what you are. I just took a look of your home page, a vanity URL if ever I saw one (http://www.erickrout.com/), and boy, even if it's an adapted copy of an Onion article (BTW, did you check the copyrights?), how do you manage to get your head so far up your own arse?

      Don't even *try* to play the manager and the insightful one here, because you don't have a clue as to what the open source "movement" is about. Your comments make you look to an open source contributor as TPHB to Dilbert.

      But anyway, let's make this thing more positive. What do you think "we Open Sourcers truly need"? This is your opportunity...

    13. Re:Disappointing by Mgdm · · Score: 1

      Another point is that a lot of people start coding projects like these as a learning experience. I once tried (and still am in a roundabout sort of way) to write a web server in Java, when I already have Apache and Tomcat and a whole range of other ones in just about every language you could hope for. I tried so that I could learn more about programmming in that language.

      You never know, I might just release the source and beat the Apache Foundation at their own game...;)

  15. I'm unimpressed by Anonymous Coward · · Score: 3, Informative

    I submited this one some weeks ago but it didn't make it to the frontpage. It's a new http server, written 100% in PHP, somebody ever tried it ?

    1. Re:I'm unimpressed by __past__ · · Score: 3, Funny

      Bah, PHP? Try awk, Bash or Postscript for a thrill!

    2. Re:I'm unimpressed by Christianfreak · · Score: 2

      PHP? Good grief! When did PHP suddenly become the end all be all language for writing everything? PHP is designed to make dynamic webpages and IMHO it isn't exactly the greatest at doing that. (Not a troll, good reasons for believeing that, reply if you want to know why).

    3. Re:I'm unimpressed by passthecrackpipe · · Score: 2

      ok, i'll bite. What's wrong with PHP?

      --
      People who think they know everything are a great annoyance to those of us who do.
    4. Re:I'm unimpressed by Christianfreak · · Score: 2

      offtopic but who cares I have karma to burn. Let me qualify this statement by saying that I do know and use PHP, its a part of my job. I'll also say that I know Perl and I think Perl is better so it probably makes me somewhat biased.

      Name space, name space, name space. That's what's wrong with it. I get really tired of writing function names that_seem_to_go_on_forever(). I mean come on. What is the point of array_push() why can't it just be called 'push()'? I know it works on an array!

      Interpolation. Sometimes it works sometimes it doesn't its sort of half done. I can't count how many times my PHP program has crashed because I dared to put a variable inside double quotes. The behavior appears to be almost random.

      Everything feels hacked, this goes back to the namespace issue. There is no logical way to extend PHP so new functions are just thrown into the core language. Many times they act differently than other similar functions (sorry I can't think of an example off the top of my head). Its like some people decided they wanted 'x' function and just threw it in without regard to its implementation. Things don't seem to be reused just new things thrown in. Like why can't we have a standard set of database functions where the database type you are using is declared? Nope, instead we have a whole set of mysql_* functions for MySql and another whole set of pg_* functions for Postgre.

      And finally everytime there is a new release there is some change to the core of the language. So they have to maintain cruft to be compatable and things don't break. If they would improve what they have instead of constantly adding new things this problem would go away.

      Other annoyances (mostly my opinion): Three ways to read variables from a form but still hard to make a program that can accept GET or POST method with the same variable names.

      (item1,item2,item3) is not treated as a list or an array. I can't do ($fieldname,$fieldname2) = mysql_fetch_row() ... nope I have to put them into a temporary array and set them one by one :(.

      Regexes use functions ... this is extremely annoying and there are at least two (three?) different regex sets, plus functions that duplicate what regexes can do!

      Global variables, again my opinion but I would rather declare my varibles local rather than having to declare them global. It wouldn't be so bad if I could declare my global variables once at the top of the program but no .. i have to redeclare them global in each function I'm going to use them in.

      CPAN -- for all of Perl's faults it got CPAN right. PHP needs a standard way of adding modules to its installation (so they can be used system wide) and a good place to store them. You don't know how difficult it is to write a MIME complient message in PHP.

      Finally I think PHP backwards... PHP is a language designed so that the data defines the program. Easy to slap together but difficult to maintain and very difficult to reuse code (I have to make tons of changes to the HTML page). I prefer to program so that my code defines my data. And I can give it new data to achieve new things or looks for a page or whatever ... PHP can do that its just not a simple to do as it is in other languages.

      My two cents :)

    5. Re:I'm unimpressed by Anonymous Coward · · Score: 0

      Half of this simply shows that you don't really know PHP very well. Sure, PHP takes a bit of time to learn, but not nearly as much time as it takes to learn Perl from C.

      Nope, instead we have a whole set of mysql_* functions for MySql and another whole set of pg_* functions for Postgre.

      You can do this yourself if you want. There is something in PHP called "variable functions" that lets you execute variable contents as functions. Look here.

      Regexes use functions ... this is extremely annoying and there are at least two (three?) different regex sets, plus functions that duplicate what regexes can do!

      I personally think this is less confusing than regexes not using functions, but maybe that's because I learned PHP before Perl. The functions that duplicate things that regexes can do are probably a lot faster.

      Other annoyances (mostly my opinion): Three ways to read variables from a form but still hard to make a program that can accept GET or POST method with the same variable names.

      Hello! $GLOBALS or use registered globals.

      Global variables, again my opinion but I would rather declare my varibles local rather than having to declare them global. It wouldn't be so bad if I could declare my global variables once at the top of the program but no .. i have to redeclare them global in each function I'm going to use them in.

      I'd rather have variables automatically local, because that way i don't have to worry about accidental globals. IMHO writing "my" so many times in Perl is incredibly annoying.

      CPAN -- for all of Perl's faults it got CPAN right. PHP needs a standard way of adding modules to its installation (so they can be used system wide) and a good place to store them. You don't know how difficult it is to write a MIME complient message in PHP.

      I agree with you here - it's a lot easier to find code snippets for Perl via CPAN than find various PHP libraries strewn all over the web.

      Finally I think PHP backwards... PHP is a language designed so that the data defines the program. Easy to slap together but difficult to maintain and very difficult to reuse code (I have to make tons of changes to the HTML page). I prefer to program so that my code defines my data. And I can give it new data to achieve new things or looks for a page or whatever ... PHP can do that its just not a simple to do as it is in other languages.

      I completely disagree with you here. In PHP, you can write exactly the same code you'd write with Perl or C++; about the only major differences are the way filehandles work and the differences with Perl's regex. PHP can be used like any other language, and there are so many aliases for functions that you can pretty much guess what a function means. Also, unlike Perl, the documentation is designed for accessibility, not slapped together in a ton of POD files and man pages.

    6. Re:I'm unimpressed by DChristensen · · Score: 1
      (item1,item2,item3) is not treated as a list or an array. I can't do ($fieldname,$fieldname2) = mysql_fetch_row()

      What you're looking for is:

      list($fieldname,$fieldname2)=mysql_fetch_row().

      There are likely other features of the language that you have not come fully into contact with.

      --

      --
      Mac OS X--Unix without the assholes^Whassles.

    7. Re:I'm unimpressed by Christianfreak · · Score: 2

      Thanks for the note. Now I'll just put it under a personal annoyance that I have to call a function to do that (I still think that's braindead) :)

    8. Re:I'm unimpressed by horza · · Score: 2

      Ok, to continue offtopic for a couple of seconds... here is my 2c (and I'm not criticising you in *any* way, or saying you are wrong, this is _my_ experience):

      What is the point of array_push() why can't it just be called 'push()'? I know it works on an array!

      You know it works on an array because it's called array_push :-P

      Nope, instead we have a whole set of mysql_* functions for MySql and another whole set of pg_* functions for Postgre

      You can always use ADODB.

      (item1,item2,item3) is not treated as a list or an array. I can't do ($fieldname,$fieldname2) = mysql_fetch_row() ... nope I have to put them into a temporary array and set them one by one :(

      Well I've never used that syntax in *any* language! (must be a Perl thing?)

      It wouldn't be so bad if I could declare my global variables once at the top of the program but no .. i have to redeclare them global in each function I'm going to use them in.

      This is down to personal taste. I much prefer having to redeclare in each function, as it's a lot safer since you don't have to explicitly declare local variables.

      Personally, PHP does the job for me. It has its short-comings, but for small-medium size web sites you can't beat it imho.

      I still wouldn't write a web-server in it though :->

      Phillip.

    9. Re:I'm unimpressed by mackstann · · Score: 2
      the CPAN of php would be PEAR (pear.php.net)

      one of the inconsistent functions you described is strstr(). most functions that search for something in a string (like ereg* and preg*) have the arguments set up so that the needle is first, haystack last. so you get used to using them like this('findthis', $inhere), but then with strstr you go strstr($whyisthisfirst, 'wtf that makes no sense')

      just my own little two cents, keep in mind i like php and i love doing all kinds of neat shit with it like this and these and this.

      i've played with perl a tiny bit, and while there are things i like about it (=~ comes to mind, also the general shortness of functions and constructs versus php's long_ass_function_names() like parent post mentioned), it does feel very strange - and i question the usefulness (to me). i can pretty much do anything in php that i can think of, the language doesnt hold me back very much or at all. i can write shell scripts in it too - of course people say "no no!! php is for webpages!!", but it's as fast as anything else, and i'm familiar with it so i can be very productive.

  16. Let me put in a plug for bozohttpd by revision1_1 · · Score: 5, Informative

    ...available here. I've had it running on a 386 with only 4MB RAM running the NetBSD "tiny" distribution.

    Small footprint, pretty functional: HTTP, CGI, etc. It's referenced in the BOA docs.

  17. Anything in between by Anonymous Coward · · Score: 2, Interesting

    OK Boa is good for running on a 2mb 386, but I would like to host a domain web with some more features than it could contain. With apache needing at least a 200mhz pc and a hefty speck of ram, what is there for the middle ground, when you have a 486 or early pentium sitting around and should be put it to work?

    1. Re:Anything in between by Anonymous Coward · · Score: 1, Funny

      The best option would be to go get the 486, and bash it over the head of the gumboid who told you a 200mhz pc is needed for apache

    2. Re:Anything in between by MORTAR_COMBAT! · · Score: 3, Informative

      You might try thttpd from ACME Labs. I've used it (also Boa) on several 486 and early pentium machines.

      --
      MORTAR COMBAT!
    3. Re:Anything in between by pyite · · Score: 2

      Erm, since when does Apache need a 200 MHz processor? I've run it on a 486 with no problem. It'll probably run on a 386 with no problem either.

      --

      "Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman

    4. Re:Anything in between by Anonymous Coward · · Score: 0

      I ran apache, php, mysql, perl/cgi , ect on a 486-33 with 16mb ram, it served apges just fine.

  18. Meaning of new? by ggruschow · · Score: 0, Redundant
    There is a pretty new and little known, lite web server in town

    The author is obviously not that into technology. Software released in 1995 isn't new at all by my standards. I certainly wouldn't consider most other things from 1999 new either. A car? certainly not. A building? maybe. A country? Well, OK.

  19. YHBT. YHL. HAND. by MORTAR_COMBAT! · · Score: 1, Troll

    (n.t.)

    --
    MORTAR COMBAT!
  20. Re:Memory access causes a buzzing sound (OT) by Anonymous Coward · · Score: 0
    That's what you get for buying Intel crap.

    It's probably your precious 2.8 GHz P4 overheating and reducing its frequency down to 1.4 GHz... aren't you glad you paid for a feature like this?

  21. This comes down to.. by deppe · · Score: 3, Interesting

    where the www is heading, IMHO. Seven years ago, anyone was hardly using dynamic stuff on the web, and IIRC back then it was mostly flat HTML.

    But today, when 90% of the stuff served (besides images) by web servers are dynamic content, why does a web server like this get a headline?

    Ok, I know it does CGI, but come on, CGI is as dead as Ultrix.

    I'm not trying to let this project down. I'm sure there are plenty of happy users that don't need the "bloat" associated with Apache, IIS and other servers--but I'd be surprised if they did anything more advanced than the occasional photo album homepage.

    We all use bash (mostly). Not because it's the smallest, but because it does everything we've come to expect from a shell.

    To me, Boa seems a lot like the effort to rewrite the unix utilities in asm to reduce size. It's a challenging excersise, but in the long run it's going nowhere.

    1. Re:This comes down to.. by Erasei · · Score: 4, Insightful
      I agree, and disagree.


      I agree that this will never replace Apache. However, from what I have read about it so far, it was never meant to.


      I disagree on the part that this is "dead". Just like Linux, web servers are going in two different directions. The first, and most common is serving web pages for web sites as we think of them today. Public sites either giving information or selling a product.


      There is a new market emerging though, that Boa will be well suited for. The advanced-embedded market. I am not talking PIC processors or having a web server in a lightbult, but the more advanced devices that need a slightly more advanced webserver, without needing things like virtual hosting. This type of web server should do very well on home routers and firewalls and such devices.

      --
      visit my free wallpaper collection, wp.erasei.com
    2. Re:This comes down to.. by Anonymous Coward · · Score: 0

      Actually, I use zsh, it does everything bash does and more.

      However, I still also use pdksh when I need a scripting-complete shell and don't care that much about interactive features.

      The difference in size between shells is much smaller than between web servers...

    3. Re:This comes down to.. by Richard+W.M.+Jones · · Score: 2, Informative
      But today, when 90% of the stuff served (besides images) by web servers are dynamic content, why does a web server like this get a headline?

      <plug>

      Very true. That's why you need a web server like rws which is tiny, and loads C-based CGIs into memory, and has a full database layer.

      </plug>

      Rich.
    4. Re:This comes down to.. by Zerbey · · Score: 1

      === Currently restoring a 1968 Ford Fairlane GT 500, 302 V8, 9" 4.11 geared. ===

      OK I've lost interest in the article. I want to see pictures of the car.

    5. Re:This comes down to.. by horza · · Score: 2

      But today, when 90% of the stuff served (besides images) by web servers are dynamic content, why does a web server like this get a headline?

      My first thought is for serving images. Our server is quite heavily loaded, and it seems a waste that Apache is being used to serve up images (85% of our traffic) which don't use any of its capability.

      Phillip.

    6. Re:This comes down to.. by cloudmaster · · Score: 2

      ...And it'd better not be another *red* Fairlane. ;) How come no one ever paints them blue or green?

      BTW, just to keep this vaguely on-topic, I've used boa for the remote upload / setup interface server in my home-brew car mp3 player since 1998. "A new webserver", bah.

  22. Apache threads by hey · · Score: 1

    The article says Boas "internally multiplexes the connections" but now Apache supports threads - sounds pretty similar to me.

    1. Re:Apache threads by Random+Walk · · Score: 2

      "internally multiplexes the connections" usually
      means a select(2) loop in a single-threaded server
      rather than having a separate thread or subprocess
      for each connection.

  23. i have to agree, except by Anonymous Coward · · Score: 0

    i'd have to agree, except in certain situtations. large sites sometimes run other servers just for images, files, small pages, etc. in that situation i think this server would be very useful.

  24. threads v. multiplexing by MORTAR_COMBAT! · · Score: 4, Interesting

    These are very, very different approaches to creating a scalable server.

    See Non-blocking I/O is good for more background on what multiplexing is and why it is good.

    --
    MORTAR COMBAT!
    1. Re:threads v. multiplexing by cras · · Score: 1
      See Non-blocking I/O is good [acme.com] for more background on what multiplexing is and why it is good.

      Yes, it's fine as long as there aren't any long running tasks. For example cgi-bins, PHP, etc. may block the process for a long time. Of course you could use it for sending static pages and use processes/threads for dynamic pages. That'd be the best way to do it I think.

      The page you linked contains pretty old information BTW. Especially about portability. Posix threads and fd transferring with UNIX sockets are quite portable nowadays.

    2. Re:threads v. multiplexing by ameoba · · Score: 2
      --
      my sig's at the bottom of the page.
    3. Re:threads v. multiplexing by Anonymous Coward · · Score: 1, Funny
      Wellllllllllll.....

      Non blocking I/O is (fairly) portable in terms of the API, but not in terms of performance.

      Some platforms fall to pieces when you try to deal with more than a handful of simultaneous connections. To avoid armagedon on those platforms, you are back to multiple threads/processes, each of which handles up to a fixed maximum number of connections. Of course you have to pool the threads/processes, and synchronize between them, so you end up with all the complexity of a multithreaed webserver, along with all the complexity of a non-blocking I/O webserver.

      Besides, I have never seen a "real" non-blocking I/O application that didn't have a switch statements with one of the cases having the comment:
      // I don't know how the fsck we got here, but if
      // we do the following nothing bad seems to happen
    4. Re:threads v. multiplexing by Salamander · · Score: 2

      See also my recently-posted list of links to articles on my own website discussing these very matters.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    5. Re:threads v. multiplexing by dmelomed · · Score: 1

      You mean poll() and select() scalability issues? The best solution is then to fix poll() and select() to scale with large number of FDs. According to benchmarks done by Dan Kegel, at least Linux has this scalability problem.

  25. the answer by Anonymous Coward · · Score: 0

    At least this is an answer to the "Ask Slashdot" questions where some tard asks something along the following:

    Hi, I spent all my money on pr0n, and now I want to run a web server on my 386SX to handle an ecommerce website. Database would be nice too. And I want it to run fast. I'm looking towards Linux, since windoze 2000 seems to hardly move at all. That bloatware! What are my options?

    1. Re:the answer by glam0006 · · Score: 0

      No, you're thinking of the "Ask Slashdot" that reads:

      How do I get free money without working for it?

  26. In praise of CGI by melonman · · Score: 2

    CGI is as dead as Ultrix.

    Anyone ever noticed how dynamic pages are much more likely to get /.ed than static ones? There are uses for PHP/MySQL or whatever, but fast it aint, and a lot of the time it seems to be used because it's A Good Thing rather than because it is actually necessary.

    For relatively simple tasks, a standalone CGI script is always going to be faster than a generic DB solution. For really complex tasks, CGI provides far more flexibility. For a lot of jobs in the middle, a DB-driven embedded scripting solution may be just what is needed, but there's still plenty of work for CGI at the edges.

    One of my programs writes static pages that you can edit via a web interface. I haven't load tested it yet, but I'd be willing to bet that Apache serving static pages uses far less resources than Apache building PHP/MySQL pages. If BOA will serve static pages faster than Apache, the performance benefits of producing static pages must be even clearer.

    --
    Virtually serving coffee
    1. Re:In praise of CGI by deppe · · Score: 1

      Sure, load balancing of dynamic stuff is a lot harder than with static pages, but it's not rocket science.

      If there's no need for the page to be up to date to the second, and you're dealing with a large server cluster, just place a few reverse proxies on front of the cluster that maps the URLs that can be subjected to caching. Then update the pages every minute or so.

      This is even better because you only need to make sure the pages work in a dynamic fashion, and you can test the generation and caching separetly. Why bother with writing your own HTML to disk?

    2. Re:In praise of CGI by melonman · · Score: 2

      Why bother with writing your own HTML to disk?

      Referencing? Some dynamic content seems to be virtually impossible to reference effectively. Also, if each page changes once a month on average, your solution still runs the db about 6000 times more often than mine. And if the database interface is public, people can try to break it, whereas it is hard to make a page of static html malfunction.

      --
      Virtually serving coffee
    3. Re:In praise of CGI by Anonymous Coward · · Score: 0

      It seems like you are interpreting CGI to mean something a lot different to what I mean by it. CGI isn't about using offline processes to write static html pages, is it?

      I have loads of CGI scripts which access a postgres database. They're still CGI scripts.

    4. Re:In praise of CGI by cr@ckwhore · · Score: 2

      I'm sensing a bit of misunderstanding about what CGI actually is...

      CGI stands for "Common Gateway Interface". It provides a standard by which http servers can communicate with external programs... basically, anything other than static HTML files is "CGI".. .php, perl, asp, exe, etc...

      That being said, your post makes no sense.

      --
      Skiers and Riders -- http://www.snowjournal.com
    5. Re:In praise of CGI by melonman · · Score: 2

      CGI stands for "Common Gateway Interface".

      Yes, but the common usage of the word has moved on a bit. Just as, although PHP stands for Personal Home Page, it gets used for non personal websites, and not just on home pages. I think my use of CGI to mean 'CGI scripts in languages such as Perl' is pretty common practice.

      That being said, your post makes no sense

      True, but in that case half the posts on this topic and some of the original article are a bit hazy too. When the posting to which I replied says 'CGI is as dead as Ultrix', because of the wonders of dynamic content, he is either talking rubbish or using CGI in the same way as me.

      --
      Virtually serving coffee
    6. Re:In praise of CGI by Istealmymusic · · Score: 2

      Your usage of CGI, Sir, is wrong. Fucking newbie.

      --
      "The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
    7. Re:In praise of CGI by melonman · · Score: 2

      I'm sure you're right, but I seem to have a wider range of adjectives at my disposal :-)

      --
      Virtually serving coffee
  27. /.ed by CowboyMeal · · Score: 2, Insightful

    And how's the scale-ability?

    Hopefully boa's scalability is better than the web server they're using now.

    --
    Your credit card information wants to be free.
  28. Stress Test by bytesmythe · · Score: 5, Funny

    So was having the website linked directly from a Slashdot article their way of stress testing their software?

    Apparently, its load handling just isn't up to the task yet. ;)

    --
    bytesmythe
    Hypocrisy is the resin that holds the plywood of society together.
    -- Scott Meyer
    1. Re:Stress Test by julesh · · Score: 1

      I was reading one of those memos that was grabbed of MS's ftp server the other day, and apparently when it was on BSD, the static pages of hotmail were served by Boa. So yes, it can take the strain....

  29. rws by Richard+W.M.+Jones · · Score: 2, Informative
    Or rws which let's you use C to write CGI scripts that are loaded into the server at run time (for extreme speed), and has database access, and hence is much more useful for dynamic webpages.

    Rich.

  30. slashdot effect and Boa by Anonymous Coward · · Score: 3, Informative

    Several posters have commented derisively on www.boa.org's inability to take the load of a slashdot effect. These comments miss the mark totally.

    www.boa.org is hosted at no charge by Russ Nelson. I don't thank him often enough for this help. He provides similar service for selected other community projects, too, check out http://www.russnelson.com/ .

    I also don't hold it against Russ that he doesn't use Boa for his web server. He has other things on his mind than learning about one more piece of software; he used Apache before he hosted Boa, and he continues to use Apache. It does the job for him. If the site acts slashdotted, knowing Russ, I suspect his pipe is clogged, and there's not much he can do about that.

    So if y'all want to slashdot a Boa server to see if it holds up, pick something other than www.boa.org. There are plenty to choose from, including some that wouldn't even notice the slashdot effect.

    1. Re:slashdot effect and Boa by Russ+Nelson · · Score: 2

      Thanks, Larry. Remember that I offered to run boa for boa.org after I switched to binding Apache on a per-IP address basis? I'm still happy to do that. It wouldn't have helped, though. boa.org is only a 166Mhz machine with 64MB RAM connected via 2 T-1's. Hardly up to even a minimal slashdotting.
      -russ

      --
      Don't piss off The Angry Economist
  31. Yeah, we only need one webserver, by slycer9 · · Score: 3, Insightful

    Just like we only need one OS, one CPU architecture, one RAM standard...come on, I don't understand all the bashing BOA has received here. Sure, it's not my HTTPd of choice, nor is it for a lot more folks, that doesn't negate the fact that it's more than sufficient, yea, even perfectly tailored for others. The very thing a lot of people here are ranting about is the very thing that makes OSS different from the 'enemy'. So you don't like it, so you don't need it. Someone else does, so let it be.

    --
    Don't park drunk, accidents cause people.
  32. Re:In praise of static by TeknoHog · · Score: 2
    I agree that people often use dynamic pages because of the buzzword factor, not because it's the best. For instance, my web diary is only updated when I write something, not whenever somebody reads it. So a dynamic database solution would be just silly. I have a Python script to generate the HTML when I write the entries, and the server is Boa on a POS 486 running NetBSD. Slashdot that!

    I do like the features of Apache, for example when the site needs PHP+MySQL. But it's the right tool for the right job. And I keep that 486 from polluting the Earth on an 'acid trip' to China.

    --
    Escher was the first MC and Giger invented the HR department.
  33. Pretty nice server... by mindriot · · Score: 5, Funny

    ...with an especially nice screen shot... :-)

    1. Re:Pretty nice server... by Anonymous Coward · · Score: 0

      honker:/home/jnelson#/etc/init.d/boa start

      I almost flipped out for a second there...I thought somehow that link knew who I was, then saw it was a standard PNG and remembered I'm not the only "jnelson" on the planet.

    2. Re:Pretty nice server... by KnightStalker · · Score: 2

      What??? That's a blatant ripoff of the Apache interface! :-)

      --
      * And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
  34. Don't forget D. J. Bernstein's publicfile by Scott+Williams · · Score: 1

    here. It's built for security, but I think it serves up only straight HTML, no CGI or SSL. I haven't personally used it, but I thought it'd be a useful link to pass along.

    1. Re:Don't forget D. J. Bernstein's publicfile by passthecrackpipe · · Score: 2
      Hooray! Another "Lets have a flamewar about Bernstein thread"!! OK, I'll start it off this time:

      Bernstein is an asshole and his software sucks.

      --
      People who think they know everything are a great annoyance to those of us who do.
  35. Where do people get stuff like this? by jefp · · Score: 5, Informative

    >There is a pretty new

    It's not new. As the linked article says, it's been around since 1995, so it's almost as old as the web.

    >and little known

    I link to it from the thttpd page, which gets a quarter million hits per month, so I guess I've done my part to make Boa better known.

    >it is only CGI-based.

    I don't even know what this means. It serves files using select() and non-blocking I/O, not CGI. It implements CGI for external programs. Perhaps the author meant that CGI was the only option for external programs.

    >preliminary benchmarks against Apache and thttpd

    As others mentioned, no, there are no Apache or thttpd benchmarks in the article. No doubt it's much faster than Apache and about as fast as thttpd, but experience shows that very few people care about web server speed.

    >Boa (running under Linux)

    I keep telling people that if they are one of the few who care about performance enough to run a specialized NBIO web server like thttpd or Boa or mathopd, they shouldn't throw away half their performance by running Linux. Use FreeBSD.

    1. Re:Where do people get stuff like this? by raytracer · · Score: 2


      Indeed, the original article seems to have been written by someone who literally fell out of the sky and decided that he needed to write a review of webservers.



      I'm not sure about how few people know about boa and thttpd, but neither of them are new and both of them make excellent webservers. I ran two virtual hosted (admittedly low traffic) websites using thttpd for years on a P5 133 with only 32M of memory. It's dead simple to set up,
      efficient and fast. I also evaluated boa, and found it to be excellent as
      well, I picked thttpd because I liked its virtual hosting a tiny bit better and thought I might make use of throttling at some point.



      I keep telling people that if they are one of the few who care about performance enough to run a specialized NBIO web server like thttpd or Boa or mathopd, they shouldn't throw away half their performance by running Linux. Use FreeBSD.


      I do run FreeBSD too. While I'm not sure about
      the relative speed of both, I wouldn't dismiss
      Jef's comment out of hand either, he's done
      benchmarking on a wide variety of systems as part
      of his thttpd work.


    2. Re:Where do people get stuff like this? by jamwt · · Score: 1

      I keep telling people that if they are one of the few who care about performance enough to run a specialized NBIO web server like thttpd or Boa or mathopd, they shouldn't throw away half their performance by running Linux. Use FreeBSD.

      Jef-- you recommend this because of kqueues? or...

    3. Re:Where do people get stuff like this? by Anonymous Coward · · Score: 0

      but experience shows that very few people care about web server speed
      Right. YMMV but running Apache/Tomcat/PHP on oldish servers (200MHz PPro), there is not even good reason to run static content directly within apache instead of through all the extra stuff.
      I daresay you're right about FreeBSD, but Apache/Linux makes far fewer mistakes than I do.

  36. Re:Memory access causes a buzzing sound (OT) by kingOFgEEEks · · Score: 1

    just a guess: your motherboard is heating up from the increase in activity, and something (case, heatsink, something) is expanding/contracting, causing a slight vibration

    --
    mechanicos ergo cogito
  37. Welll it can't be that great.... by Anonymous Coward · · Score: 0

    I would imagine that they are running Boa to server their own web site and it is apparently down after a good Slashdotting.

  38. Hydra: a Boa based web server by Anonymous Coward · · Score: 5, Informative

    A very nice and fast web server is Hydra
    [ http://hydra.hellug.gr ] . It is based on boa.

    Here is some info from the site

    Hydra is a high performance multi threaded HTTP web server. Unlike traditional multi threaded web
    servers, Hydra uses a constant, but configurable, pool of threads, and each thread can handle several
    connections by multiplexing the connections. This may remind you a non blocking server, and this is
    true, but Hydra has not the killing limitation of a non blocking server, which is that they cannot use
    more than one CPU. Hydra will take advantage of every available CPU in a system.

    It supports many thingsa that boa doesnt, like

    virtual hosts
    cgi 1.1
    SSL 3.0/TLS 1.0
    PHP and other scripting languages.

    1. Re:Hydra: a Boa based web server by Anonymous Coward · · Score: 1, Informative

      Actually, you are wrong 50% of the time.

      Boa *does* support CGI/1.1 (and has since the first release), and ip-based virtualhosts since one of the early 0.92 releases. Also, more recent versions support name-based virtualhosting.

      This is not to denigrate the Hydra project, BTW, but get your facts right.

  39. Surprisingly, www.boa.org is running Apache by Anonymous Coward · · Score: 1, Interesting
    From Netcraft:
    The site www.boa.org is running Apache/1.3.6 (Unix) PHP/3.0.12 on Linux.
    1. Re:Surprisingly, www.boa.org is running Apache by Russ+Nelson · · Score: 2

      Yup. I offered to Larry to run boa specially for boa.org, but he said "Thanks; I'm already asking enough of you just to host the website for me."
      -russ

      --
      Don't piss off The Angry Economist
  40. Web Server Survey - October 2002 by gbitten · · Score: 5, Informative

    Statistics from Netcraft:

    WebServer Sites
    Apache 21258824
    Microsoft-IIS 10143822
    Zeus 711957
    unknown 496657
    Netscape-Enterprise 465337
    Rapidsite 411267
    thttpd 322974
    .
    .
    .
    .
    Boa 463

    1. Re: Web Server Survey - October 2002 by jefp · · Score: 2, Insightful

      Yeah. :-) However, even I admit that if Netcraft counted by IP address instead of by virtual hostname, thttpd's share would be much lower. There are a few huge ISPs that run it - a single thttpd process on a single CPU serving tens of thousands of hostnames. This is nice, but it's not really comparable to Apache's millions of real sites.

  41. Re:In praise of static by IIEFreeMan · · Score: 1


    I agree that people often use dynamic pages because of the buzzword factor, not because it's the best. For instance, my web diary is only updated when I write something, not whenever somebody reads it. So a dynamic database solution would be just silly. I have a Python script to generate the HTML when I write the entries, and the server is Boa on a POS 486 running NetBSD. Slashdot that!


    Give us the URL so we can try !

  42. Speaking of Web Servers... by rosewood · · Score: 2

    Since we are on the topic of web servers ... I dont supose any of you great peoples out there could help me out. I am trying to do a fairly small website on a fairly small bandwidth budget and I have to use Red Hat 8.0 and apache 2.0. Well, somehow I would like to use mod_gzip to save on the bandwidth. Is there a relatively easy way to do this?

    1. Re:Speaking of Web Servers... by horza · · Score: 2

      If running PHP scripts, add the follow lines at the start:
      ini_set('zlib.output_compression', 'On');
      ini_set('zlib.output_compression_level', '3');

      It will gzip your pages as they leave the server. To save on cpu, I cache my HTML pages... then also system() call to gzip it in the same dir. I then:
      if (strstr($HTTP_ACCEPT_ENCODING, 'gzip'))
      { serve_gzipped_file; }
      else { serve_uncompressed_html }
      It means the server doesn't need to gzip the file on every single request.

      Phillip.

  43. Boa is used for camera appliances.. by Anonymous Coward · · Score: 1, Informative

    Boa is used in the Axis camera product line. Its also used in the Canon VBCam pan-tilt-zoom controllable camera.

    1. Re:Boa is used for camera appliances.. by sg_oneill · · Score: 2

      Indeed it is used on the axis cameras.
      for a mining job a while back we had to do some development due to a busted panasonic pan tilt head driver in the axis box. Unfortunately AXIS where not forthcoming in the driver code (grrr) so we had to wangle our own. Ladies and gentlemen;- I wrote the driver in PHP(!) , and consequently the damn boa server directly controled the servos via the serial port on the unit.
      Most completely impressed (except for the closed source axis driver... grrr).

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  44. FYI by Anonymous Coward · · Score: 0

    Definite not new.

    Alan Cox wrote in the "Linux Redux" column in May 1997 issue of Boardwatch Magazine

    He ran the www.uk.linux.org, penguin.uk.linux.org and www.cymru.net on an 8 MB 486DX2-66 with no cache with Boa back then.

  45. Umm, yeah by cr@ckwhore · · Score: 1, Redundant

    There is a pretty new and little known, lite web server in town, named Boa. The server can run very fast on older machines, even on embedded devices, but it is only CGI-based.

    umm... if you mean "new" as in 1995 and "only CGI-based" as in optimized for static content, then sure, you might have something here. Don't poke an eye out, ok?

    --
    Skiers and Riders -- http://www.snowjournal.com
  46. Not New! by PretzelAvenger · · Score: 0, Redundant

    Boa is NOT NEW. thttpd used to run it on the comparisons page.

    Grr. Argh.

  47. "Medium-range" system, ha! by Wonko42 · · Score: 4, Insightful
    I spurted Coke out my nose when I got to the benchmarking portion of the article, where the author calls his 700MHz Duron system with 384MB RAM a "medium-range" system. Ha! Medium-range maybe if you're talking about big fat corporate servers. I host The Uptimes Project, which handles over a million database-driven dynamic page hits per day (including pages that generate large graphs on the fly), plus several other medium-traffic sites, all on a 350 MHz Pentium II running Apache under FreeBSD. This little server handles all that traffic without even blinking.

    Before this, I used to host a medium-traffic database-driven website on an old Pentium 166 with 64 megs of RAM running -- get this -- Windows 2000 Server. And it never blinked either (except when I got Slashdotted once; that really hurt).

    Anyway, in an article about a great low-overhead super efficient webserver like Boa, I'd really like to see benchmarks on systems that are actually low-end, as opposed to systems that are low-end if your other server is a quad Xeon with 16 gigs of RAM.

    1. Re:"Medium-range" system, ha! by betis70 · · Score: 1

      >>the author calls his 700MHz Duron system with 384MB RAM a "medium-range" system.

      You're right. It is a unpowered desktop system, not even poking the bottom of low-end server systems.

      Your systems are archaic junkers.

      --
      I forget...are we at war with Eurasia or East Asia?
  48. Hotmail rnus on Boa/Apache by MS · · Score: 1
    Several servers at hotmail.com ran Boa on FreeBSD. Now they are still running on FreeBSD, but with Apache 1.3.26.

    It's nice to see Micro$oft relying on OpenSource.
    (If you dont want to believe me, have a look at Netcraft)

    :-)
    ms

  49. oh shit by CakerX · · Score: 1

    this is kinda creepy. For once I am in head of the trend. I picked up a copy of boa over a source forge a couple months ago, while looking for nifty shit to try with my linux box(used as server). I didn't install with the rest of the OS cause the ver on the CD was known to have a bug. So instead of getting the latest ver of apache, I decided to see what source forge had. I found this small webserver named boa and decided to give it a try. It is fast, real fast. except when it needs to index, then it fucking is slow like a motherfucker.

    Other noteable feature of Boa, it is all in ONE proccess, instead of the multitude of child proccecees apache likes to form. I am guessing it could clog with a couple hundred/thousand users, but it works better that apache with small loads.

    1. Re:oh shit by TeknoHog · · Score: 2
      > For once I am in head of the trend.

      Hmm.. just because it's on /. doesn't mean it's suddenly trendy. Use the tool that's the best for the job, not the one that is trendy. In fact, by going the Linux way you've already gone against the mainstream OS which is Windows, might try and keep up the attitude.

      Besides, I used Boa over three years ago so I'm more trendy than you! ;-)

      --
      Escher was the first MC and Giger invented the HR department.
  50. Forgot one by naasking · · Score: 2

    You forgot: to learn.

    OSS is a great way to learn programming and practice your skills.

  51. Its not new. by PFAK · · Score: 0

    This product isn't new, it was in one of the books I was reading that was published in 1998 a "Linux Complete" if I recall.

    --

    Free means no restrictions, ironic the FSF's GPL forces restrictions, isn't it? What's your definition of free?
  52. Seminole by Anonymous Coward · · Score: 1, Interesting
    As a total shameless plug, you can also check out a webserver I wrote designed specifically for embedded systems: http://www.conman.org/software/seminole/

    Enjoy.

  53. I wrote boa... by entropy42 · · Score: 3, Interesting

    Fascinating to see something I wrote almost ten years ago turn up on slashdot as "new."

    I wrote it on a dare, sort of. There weren't any single process web servers at the time and a friend of mine said "it shouldn't be that hard..." I named it boa because my pet at the time was -- wait for it! -- a boa constrictor.

    Gee, that's it. Yay for open source living ten years on its own.

    -- psp

    --
    -- Stop the violins!
  54. hehe by pastorBernie · · Score: 1

    thats one of the best ones if seen in a while. YHBT

  55. Interesting... by TeknoHog · · Score: 2
    Well, first of all, thanks for the great server! I'm currently running it to serve my homepages on a 486, though I first used it about three years ago.

    I thought the explanation for the name was here, where boa is roughly a synonym for fat pipe -- something you need a fast server to saturate.

    --
    Escher was the first MC and Giger invented the HR department.
    1. Re:Interesting... by entropy42 · · Score: 1

      Very amusing coincidence, that boa definition! But, a coincidence only.

      --
      -- Stop the violins!
  56. Re:Speaking of Web Servers... mod_gzip by VHDLBigot · · Score: 1
    Funny you should mention this. I installed mod_gzip just this past weekend. It was pretty trivial even on Mac OS X (aka Jaguar). I downloaded it from sourceforge and compiled it with apxs. I patched in the well commented template into my httpd.conf. I restarted Apache and it was serving compressed pages (as I think Slashdot does). It was the first time I've built an Apache module. I wish plugging in Emacs extensions was that easy... YMMV

    A quick and dirty test to see if your gzip'ing works is at:
    http://leknor.com/code/gziped.php
    You could consider it a "gzip" validator. If the page isn't compressed, it shows you what the savings would be like if it was compressed.

    -- Scott
  57. Boa is a great platform for embedded servers by hqm · · Score: 2

    I first came across Boa a couple of years ago because it was running
    on the Axis webcam, which is a webcam running Linux in 8 MB of RAM and 2 MB of Flash ROM. It
    was impressive to see such a small footprint web server being used in production for an embedded appliance, running Linux.

    Just last week, I wanted to implement a custom server for my house; I have a Model 28 teletype, which I wanted to hook to the ethernet. I took
    an old PC, and downloaded a copy of Boa. I then added code to it's main select() loop to service the serial port connected to the teletype. Now I have a state of the art ethernet-to-teletype gateway machine. It was easy to do because Boa is
    simple and easy to understand. So people whining about which web server is "faster" are missing the point entirely; Developer's time is worth much more than CPU time in most situations. And developing using Boa's source base was the best option for what I needed to do.

    Free Software! YEAH!

  58. Re:Speaking of Web Servers... mod_gzip by rosewood · · Score: 2

    Yikes. Looks like "work"

    I was hoping for untaring a .so file, adding a line in the .conf and restarting httpd and being golden

    I guess Ill have to do it the old hard fashioned way

  59. Finally! by callipygian-showsyst · · Score: 1
    Many people, including Jef Poskanzer and (independently) myself, have been quite amused over typical "Web Server" architecture.

    Some sites I'm familiar with have racks of 50 or more PCs running Apache or IIS just to serve a moderate traffic web site. If you do the math, you can see that two PCs can easily saturate an OC-3 line.

    Both Apache and Netscape servers FORK a new PROCESS for every connection. Some others--including a compile option in Apache--start a new thread. Boa (and Jef's thttpd) don't. They're SINGLE THREADED. Just one giant "select" statement, and memory mapped files.

    I think part of the problem has been poor education and lack of experience of "web developers." Many times, it would be worth the time to develop a custom high-performance non-threading/forking server to serve a site. This way you can do everything off of two PCs (in case one fails) instead of 50. We need to start encourging people with strong C++/Systems/Embedded programming experience to be our web developers, and not hire kids who's experience is limited to Java, Perl, or some proprietarty web middleware language. Imagine if you customize Boa to server the dynalic pages you need, with all assets coming out of RAM. You may pay an extra $100K or so for software development up front, but the hosting costs will recover that.