Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
It's funny.  Laugh. Software Apache

Why I Hate the Apache Web Server 558

schon writes "Today's the last day of ApacheCon Europe; There was a hilarious presentation entitled 'Why I Hate the Apache Web Server' for anyone who has expressed frustration with the various inconsistencies and nuances of the Internet's favourite config file. And yes, it includes a comparison to Sendmail."
This discussion has been archived. No new comments can be posted.

Why I Hate the Apache Web Server

Comments Filter:
  • by Anonymous Coward on Friday July 22, 2005 @08:54PM (#13141129)
    I guess that when performance, and not 'tradition' is your priority, you choose the appropriate tool for the job.
  • Re:Whoops (Score:5, Informative)

    by arcanumas ( 646807 ) on Friday July 22, 2005 @09:02PM (#13141181) Homepage
    Ah, what you want is the PDF Download [mozilla.org] firefox extension.

    When you click on a pdf it displays a choice of opening it in a new tab, downloading it , or viewing it as HTML (which i think uses google, but i could be wrong because i never use this option)
    It really saved me.

  • by Vellmont ( 569020 ) on Friday July 22, 2005 @09:14PM (#13141242) Homepage
    I'd assume the presentation was originally a talk given with slides. The PDF file is obviously just each individual slide in PDF format.

    Really your complaint is the presentation hasn't been translated to a text based format, not about PDF files themself. The Slide show is merely meant to complement the actual talk, and wasn't meant as the main source of information.
  • by Virak ( 897071 ) on Friday July 22, 2005 @09:20PM (#13141266) Homepage
    Well, until they feel like adding a PDF warning, you should get the PDF Download [mozilla.org] extension for firefox. It's small, simple, and prevents PDF ambushes from raping your system's resources.
  • by NeoThermic ( 732100 ) on Friday July 22, 2005 @09:24PM (#13141295) Homepage Journal
    >And it's URI, not URL. No such thing as a URL.

    There's a whole RFC here to prove you wrong:
    http://www.ietf.org/rfc/rfc1738.txt [ietf.org]

    NeoThermic
  • Re:Whoops (Score:2, Informative)

    by jdoire ( 180945 ) on Friday July 22, 2005 @09:24PM (#13141297)
    For some reason a copy of acroread.exe remains working even after closing all the PDF documents, and that's the one that locks up the browser.

    To recover from that lock, all you need is to open the task manager window, and shut down that faulty acroread.exe.
  • Couple of comments (Score:3, Informative)

    by Linus Torvaalds ( 876626 ) on Friday July 22, 2005 @09:33PM (#13141349)

    The basic auth logout: yes, people have been asking for it for years, but it's HTTP itself that doesn't provide a mechanism for logging out users, it's not Apache's fault.

    The lax syntax: hell no. That sort of thing leads to security holes. If I make a typo, I'm perfectly capable of going back and fixing it, should Apache notify me immediately. But if it misinterprets a typo as meaning something I didn't want, I won't know about it until it bites me in the ass. There is nothing wrong with strict syntax for config files.

    The rest are relatively sane complaints and ones I've said myself in the past. Even if they are contained in a godawful PDF.

  • by cortana ( 588495 ) <sam@[ ]ots.org.uk ['rob' in gap]> on Friday July 22, 2005 @09:42PM (#13141394) Homepage
    Put this in your userContent.css:

    a[href$=".pdf"]:after {
    font-size: smaller;
    content: " [pdf]";
    }

    I also find the following useful:

    :link[target="_blank"]:after, :visited[target="_blank"]:after,
    :link[target="_new"]:after, :visited[target="_new"]:after
    {
    font-size: smaller;
    content: " [new]";
    }

    a[href^="javascript:"]:after
    {
    font-size: smaller;
    content: " [shite]";
    }
  • by NeoThermic ( 732100 ) on Friday July 22, 2005 @09:45PM (#13141405) Homepage Journal
    >Well, it would be nice if it didn't stop responding when your access log hits 2GB, too...

    One should never let the logs get larger than a few hundred MB. Consider rotating the logs, either monthly or weekly (or even more often if your logs gain size quickly).

    See:
    http://httpd.apache.org/docs-2.0/programs/rotatelo gs.html [apache.org] or http://httpd.apache.org/docs/programs/rotatelogs.h tml [apache.org]

    NeoThermic
  • Re:Whoops (Score:2, Informative)

    by Curmudgeonlyoldbloke ( 850482 ) on Friday July 22, 2005 @09:51PM (#13141435)
    > I absolutely hate pdfs embedded in web browsers.

    So (in Firefox) untick the box that opens it in a web browser.

    (edit / preferences / downloads / plugins, or tools / options / downloads / plugins, and then click teh tick so that it isn't there any more).
  • by LordoftheWoods ( 831099 ) on Friday July 22, 2005 @10:10PM (#13141523)
    Indeed. URLs are a subset of URIs. URIs = URLs + URNs. A URL is an indicator of where to find a resource while a URN is an unique name for a resource regardless of where or how many places it may be found. To add more confusion, sometimes URNs are also URLs.

    Got that?
  • Re:Whoops (Score:2, Informative)

    by iceanfire ( 900753 ) on Friday July 22, 2005 @10:11PM (#13141524)
    check out foxit reader... it stopped me from hating pdf files.
  • by Wolf nipple chips ( 223046 ) on Friday July 22, 2005 @10:26PM (#13141575)
    For anybody willing to make comments on the content instead of the form, here it is :

    Why I Hate The Apache Web Server
    Lessons learned from IRC - Rich Bowen
    Note: Opinions expressed are those of our users, as expressed on IRC. The goal of this talk is to make people aware of things which those "outside" see as problems, but which we tend to be so used to that we don't see at all. If I get carried away, feel free to throw fruit.

    Why do I hate thee? Let me count the reasons.
    - Fragile
    - Confusing
    - Missing stuff that EVERYONE asks for

    Fragile
    - Breaks easily. Small changes have big results

    Options +Indexes Includes MultiViews
    Options Indexes Includes Multiviews

    The first of these forbids Indexes. The second one permits them. Huh?

    Disclaimer
    "But that's not supported syntax!"
    Then it should throw an error and break, not do something utterly unexpected. Unfortunately, several major Linux distros ship with this broken-but-almost-looks-right configuration, or variants thereof

    Example 2
    Vhosts ... wow, don't get me started

    # My IP address is 192.168.1.200
    NameVirtualHost *:80
    <VirtualHost 192.168.1.200:80>
    ...
    </VirtualHost>

    That vhost is silently ignored. Yeah. That's intuitive.

    Discussion
    "But the docs say not to do that!" Yes, I know. I wrote that line in the docs. It's still really irritating.

    Another ...

    Require Valid-user

    Unlike every other Apache config setting, "Require" is case sensitive, so that's not valid valid_user would be nice too. Oh, and "Require User" and "Require Group" don't work either.

    Missing (asked daily on IRC)
    - Can I set a variable and use it later?
    - Can I have an if/else syntax?
    - Can I please reload my configuration file without restarting my server?
    - How do I make ServerTokens return "Bob's Handy Dandy HTTP Server"? (Yes, this is silly, but it would sure shut a lot of people up finally.)

    What else? mod_imap: how many of you have actually used that module? How many of you who are not committers know what it does? Why is it on by default? Come on folks. Netscape added client-side image maps in 1995!

    And while we're on the topic mod_cern_meta: Who even knows what this module does? For the record, yes, I do. But I doubt any of you have ever used it.

    CONFUSING
    NumServers ServerLimit ThreadLimit ThreadsPerChild StartThreads StartServers MaxSpareThreads MinSpareServers MaxSpareServers MinSpareThreads MaxClients MaxThreadsPerChild MaxRequestsPerChild MaxRequestsPerThread ThreadStackSize
    Oh sweet God make it stop

    What's that directive called?
    RLimitMem, RLimitCPU, RLimitNProc? I have to look these up every time. Of course, since they don't seem to do what the docs say, maybe that's not a bad thing.

    Am I running out of time yet?
    - Why do I have to set up two separate vhosts for http://example.com/ [example.com] and https://example.com/ [example.com] when they're the same website?
    - Why are dynamic vhosts so darned hard?
    - Why doesn't the default configuration file match the "security tips" document?

    mod_rewrite
    I probably don't need to say anything more than just "mod_rewrite". But I will: "Voodoo" and "... flexibility of sendmail". The docs practically scream "GO AWAY!"

    RewriteMap
    Nice, but have you ever found an actual useful example? Oh, and the example script for generating db map files doesn't actually work. (Note: Paul fixed this 2 weeks ago. See httxt2dbd)

    How about this?
    If I want these two aliases to work, I have to:

    Alias /foo/bar

  • Re:Whoops (Score:4, Informative)

    by Mad Merlin ( 837387 ) on Friday July 22, 2005 @10:31PM (#13141599) Homepage
    That, or "Why I love kpdf".

    Really, the version in KDE >=3.4 is incredible.

  • Re:Why I hate PDFs (Score:4, Informative)

    by EvanED ( 569694 ) <{evaned} {at} {gmail.com}> on Friday July 22, 2005 @10:32PM (#13141603)
    It's not necessarily dumb. Latex-Beamer [sourceforge.net] can produce, IMO, the nicest "PPT-like" presentations I've seen.
  • by holy_robot ( 765525 ) <devin.papineau@g[ ]l.com ['mai' in gap]> on Friday July 22, 2005 @10:36PM (#13141617)
    The TargetAlert [bolinfest.com] extension for firefox places a nice little icon after links to PDFs or ones that open in a new window.
  • by Linus Torvaalds ( 876626 ) on Friday July 22, 2005 @10:39PM (#13141634)
    Some FTP servers can do this too - e.g. try downloading a directory name with .tar.gz appended.
  • by Linus Torvaalds ( 876626 ) on Friday July 22, 2005 @10:46PM (#13141659)

    I've never found a link so compelling that I would click on it without knowing something about where I was about to go and what the file type was.

    You don't know the file type. The file extension is meaningless. You can follow a link to some resource named foo.html and it might be a PDF, and you can follow a link to some resource named foo.pdf and it might be an HTML document.

    Same goes for the location, unless you disable client-side scripting or manually copy & paste the URIs instead of clicking on the links.

    Unless you manually perform an HTTP HEAD request, you don't know the type of file you are requesting.

  • Re:Hey.. (Score:3, Informative)

    by odin53 ( 207172 ) on Friday July 22, 2005 @11:01PM (#13141757)
    Did you miss the bullet point that said "Yes, I know. I wrote that line in the docs. It's still really irritating"? As an Apache project member [apache.org] that primarily contributes documentation, I think he has RTFM -- in fact, he has WTFM. ;)
  • Re:Whoops (Score:2, Informative)

    by jack_csk ( 644290 ) on Friday July 22, 2005 @11:02PM (#13141761)
    Most of the time, it is not a real lock-up.
    Based on my experince, 99% of time Adobe has a dialog box hidden underneath other windows that prompt you to check for update. Once you disable the freaking Adobe update checking feature, all is good.
  • by zippthorne ( 748122 ) on Friday July 22, 2005 @11:20PM (#13141861) Journal
    Ok, make your pdf with 10pt text (though I personally find that annoying to read at a comfortable distance*) and people that read it can hit the little plus sign next to the magnification precentage. done.

    PDF is a document specification container. The whole point of pdf is to make your document look good and once your document looks good, to make it look the same on every machine it's displayed on. Thus ensuring that it looks good (at least according to your definition of looking good) on every screen and when printed.

    If you want viewers to be able to edit your files at the expense of looking the same, or even good across platforms (and you're willing to put up with images getting strewn about willy nilly) you might as well use a word document. It's not going to look any worse than html.

    *If you're making your pdfs with LaTeX then you've probably read some of the docs. A good deal of typesetting knowledge went into the design of TeX and much of it is explained in the documentation. Those docs mention something about a recomended number of characters per line for maximum comfort reading. At 10pt, you're either going to have far to many characters or you're going to have huge margins and/or double-spaced text. At which point you've negated the benefits of your 10pt text.**

    **ok you could use a multicolumn format to get around that ugly fact, but then your document looks like a cheesy newsletter.
  • Re:Whoops (Score:3, Informative)

    by PygmySurfer ( 442860 ) on Friday July 22, 2005 @11:45PM (#13141976)
    Guess you haven't upgraded to Tiger yet. Now, they open up in the browser window. I miss the old way (especially because it doesn't put a taskbar across the top so I can easily zoom in - have to right click, Zoom In several times).
  • Re:Whoops (Score:3, Informative)

    by Phroggy ( 441 ) * <slashdot3@ p h roggy.com> on Friday July 22, 2005 @11:46PM (#13141983) Homepage
    Safari 2.0 works fine for me, although I'd appreciate a PDF toolbar.
  • Re:Whoops (Score:1, Informative)

    by Anonymous Coward on Saturday July 23, 2005 @12:40AM (#13142202)
    Not a problem. The hated Apache's mod_gzip renders the point moot.
  • by poopdeville ( 841677 ) on Saturday July 23, 2005 @12:46AM (#13142230)
    *If you're making your pdfs with LaTeX then you've probably read some of the docs. A good deal of typesetting knowledge went into the design of TeX and much of it is explained in the documentation. Those docs mention something about a recomended number of characters per line for maximum comfort reading. At 10pt, you're either going to have far to many characters or you're going to have huge margins and/or double-spaced text. At which point you've negated the benefits of your 10pt text.**

    LaTeX defaults to 10pt fonts and 1.5 inch margins, which look damn pretty. The optimal number of characters on a line is 66. Even if you scale your margins so that you have 66 characters per line at 12pts, you're going to have fewer total characters on a page than at 10pts because of vertical spacing issues. Moving up to 12pt tends to look awful. Then again, as long as I'm paid by the page instead of the word. . .

  • Re:Whoops (Score:1, Informative)

    by Anonymous Coward on Saturday July 23, 2005 @01:28AM (#13142397)
    Maybe you start to look for alternatives. KPDF has come a long way, and is amazing these days.
  • Re:Whoops (Score:3, Informative)

    by Arctic Fox ( 105204 ) on Saturday July 23, 2005 @01:47AM (#13142450) Homepage Journal
    defaults write com.apple.Safari WebKitOmitPDFSupport -bool YES

    Ahhh... Serenity now.

  • Maybe, maybe not (Score:4, Informative)

    by Sycraft-fu ( 314770 ) on Saturday July 23, 2005 @02:18AM (#13142550)
    I've seen IIS sites handle a /.ing fine, I've seen Apache dragged to the dirt. Why? Well /.ing kills sites one of two ways:

    1) Bandwidth. Whatever if being offered is large enough that the line it's on becomes highly over saturated and thus requests are processed very slowly, if at all.

    2) CPU load due to dynamic content. Sites that use databases, or scripts to create their pages or something get overwhelemed because they don't have enough CPU to support all the requests.

    The webserver itself isn't the problem. Either Apache or IIS can easily saturate a 100mb link with static content, even on a fairly old server.

    When I worked for the school paper and we were linked, it was no problem at all. The line was 10mb, and the content was fairly small (say 300-500k total) and all static. Despite being a P2 300 the server didn't even break a sweat, load average was below 1. When the department I now work at was receantly linked for a comet simulator, it killed out webserver, despite the content being about 2k and it being a fiarly fast SPARC machine. The reason was each request required computation, so our load average was about 100.

    Apache being able to survive a /.ing isn't at all impressive, it's expected. Any webserver worth it's shit should be able to had out massive amounts of data with little resource usage. It's other processing like PERL scripts, DB requests, SSL, etc that kill it, or simply overtaxing the available bandwidth.

    Bandwidth is actually fairly common, many servers are run on small lines. I have a couple servers in my closet on my 768k up line. That is plenty for normal usage, people find the sites quite zippy. However Slashdot would easily overwhelm that bandwidth.
  • by Anonymous Coward on Saturday July 23, 2005 @02:21AM (#13142561)
    This was at an apache conference. He's written documentation for Apache. Chances are he uses it and knows more about it than you ever will. Dumbass.
  • Re:Whoops (Score:3, Informative)

    by gnarlin ( 696263 ) on Saturday July 23, 2005 @02:54AM (#13142684) Homepage Journal
    Actually it is: How I learned to stop worrying and love the web [samurajdata.se]. This is a direct link to the pdf rendered into html.
  • *Very* nice (Score:3, Informative)

    by KMSelf ( 361 ) <karsten@linuxmafia.com> on Saturday July 23, 2005 @03:57AM (#13142863) Homepage
    Cool. I'll add them here [iwethey.org].
  • by Anonymous Coward on Saturday July 23, 2005 @06:00AM (#13143114)
    Caudium [caudium.net] rocks my world. Faster, easier to configure, GPL (or MPL2 if you prefer), built-in support for dynamic content, and more.
  • Re:Some more (Score:3, Informative)

    by say ( 191220 ) <<on.hadiarflow> <ta> <evgis>> on Saturday July 23, 2005 @07:59AM (#13143336) Homepage
    Uhm, that's not Apache's fault. It's your browser's.
  • by Sits ( 117492 ) on Saturday July 23, 2005 @08:17AM (#13143372) Homepage Journal
    From the spec you linked, we read that the HTTP charset should take prescedence over any other charset:

    To sum up, conforming user agents must observe the following priorities when determining a document's character encoding (from highest priority to lowest):

    1. An HTTP "charset" parameter in a "Content-Type" field.
    2. A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset".
    3. The charset attribute set on an element that designates an external resource.

    As it turns out this isn't the whole truth (there can be heuristics) but what you are doing is rather dicey (read as: may give different results in different browsers or in the future). Make your charsets agree or you might cause yourself problems.
  • by BlueYoshi ( 670106 ) on Saturday July 23, 2005 @10:26AM (#13143806)
    I think we could use Jakarta commons configuration: Jakarta common configuration [apache.org]

    What is nice is that you have one syntax to access different kind of storage it svery powerfull.

  • by Sits ( 117492 ) on Saturday July 23, 2005 @10:43AM (#13143870) Homepage Journal
    I don't want to detract from your main point (which is that configuration is hard) but can't they pay someone else [apple.com] to do the forking? Who says that everyone has to be programmer in order to have their own fork?
  • Why I love Apache (Score:2, Informative)

    by kilodelta ( 843627 ) on Saturday July 23, 2005 @10:50AM (#13143895) Homepage
    Having formerly dealt with MS IIS servers I've come to embrace the granularity of configuring an Apache server.

    Virtual Hosts, Redirects, etc. are easy if you read throught he config file. Granted, it is getting a little long and should be separated into different config area files.
  • by JimDabell ( 42870 ) on Saturday July 23, 2005 @01:22PM (#13144593) Homepage

    Sure, but Apache dumps this anyway according to the said META declaration.

    No it doesn't. Apache doesn't pay attention to meta element types. I don't think any server does (or ever did). Sure, that's what <meta http-equiv> was originally designed for, but think about it - do you really want your web server to have to parse each and every HTML document it serves?

    These days, <meta http-equiv> is merely an unreliable indicator to a browser. If you have legacy documents, it should be fairly simple to write a script to pipe them through HTML Tidy or something, or if they are in a separate area of your website, just use an .htaccess file to send a different header for those particular documents.

    But, if AddDefaultCharset is defined and said charset value in META declaration is written in UPPERCASE, then Apache simply ignores it

    Apache always ignores it. It's browser behaviour you are seeing.

  • General remarks (Score:3, Informative)

    by rbowen ( 112459 ) on Sunday July 24, 2005 @07:08AM (#13148756) Homepage
    For the record, the talk was created in Keynote, which will export to a variety of formats. PDF seemed like the least problematic of those formats. I don't use PowerPoint.

    Thanks for all the great feedback from folks about my complaints and examples. Yes, it was more than a little tongue-in-cheek, and several of these problems have in fact already been fixed - a couple of them right there are the conference.

    And, I'm not *just* complaining. I fixed the "Require User" case sensitivity thing, and I'm rewriting the mod_rewrite docs.
  • Re:Why I love Apache (Score:3, Informative)

    by Hank Reardon ( 534417 ) on Monday July 25, 2005 @06:07PM (#13160549) Homepage Journal
    How's the meTAL thing going Hank?

    Oh, you know... Always a struggle getting things to market -- especially with the political climate the way it is... Gotta worry about how people will feel about it.

    The good news, though, is some chick who runs a railroad wants a metric fuck-ton of the stuff. As long as some extremist dork doesn't blow up my factories, and there's no trouble with boats delivering my copper, I should be shipping next week.

    ...

    Man, I need to get out more...

All seems condemned in the long run to approximate a state akin to Gaussian noise. -- James Martin

Working...