Apache Cookbook
The book has twelve chapters, covering everything from installation and adding modules through to proxies and performance. The chapter on security is the largest, it covers the topics well. By contrast I thought the chapter 'Aliases, Redirection and Rewriting' too short and could have benefited from some more 'recipes', but that may be due to my own bias - mod_rewrite is not an easy topic, and as I've said it causes me a great deal of grief.
It is laid out in a similar way to the Perl Cookbook: each recipe has a 'Problem' section followed by a 'Solution' and then 'Discussion.' In almost all the 'recipes' the 'Discussion' is longer than the 'Solution,' and I often found it far more useful and informative than the problem and its solution.
The Apache Cookbook covers almost all aspects and all parts of the learning curve for Apache. That will either be a strength or a weakness of this volume for you; with such a large and complex piece of software as Apache a single book cannot hope to cover it in a great deal of depth. For me this book was not really a cookbook, more a good source of well documented examples from which to create my own recipes,
My biggest problem reviewing a book like this is that after several years building and configuring Apache (even on an infrequent basis) quite a lot of this volume seems simple. You may also find it the same if you are the sort of person who is not afraid to pore over the documentation, get your hands dirty and make a few mistakes. If you like some hand holding and are just starting with Apache you may benefit from all of it.
That's not to say that I didn't personally find large chunks of this volume useful. Certainly I've gone over several of the recipes and their excellent explanatory text to shed some light on previously dark corners of Apache, particularly as the authors cover both Apache 1.3 and 2.0.
O'Reilly have the usual web page with a Table of Contents and example chapter. The example chapter, on error handling is well chosen as it is typical of the others and useful but not the most useful chapter.
I have recently been thinking that tech books fall into various sorts and there is one sort I'd call 'library books' - books you may not need to own, but will want to read every so often and would be good to have in your local or company library. Apache Cookbook is one of these, a book I'd recommend everyone coming to grips with Apache has close to hand, but it is not going to be constantly on your desk in the same way that Perl Cookbook might be for Perl programmers: to start off with, it's half the size and doesn't cover nearly as many topics. This one falls short of essential due to it's concentration on breadth. rather than depth. So my recommendation for this book is not that all Apache administrators should buy it, but you should have a copy close at hand.
You can purchase the Apache Cookbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
I really like the cookbook format as it allows me to see solutions in application. I have often found solutions to different (but related problems) by using the skill set. I'd love to pick this up!
Amazon Link
Froogle Link
Why is the 1.3 still so popular? Is the version 2 still unstable or something?
Only big problem I've ever encountered, and this may seem n00bish, but routing multiple domains to a single machine involved some heavy httpd.conf editing. Almost made me wish for a GUI, but what you learn from error and mistake, (over and over again) helps in the end.
But if you want you can use a more modular approach instead of keeping everything in one single file. Debian sid is currently experimenting with this in interesting ways in the apache2 packages.
Prescriptive grammar:linguistics
The 'httpd.conf' file is a long and critical one.
For this reason, and for several more, whenever I don't need any of the multitude of Apache features, I install one of "mini servers" - for quite a while I was going on Boa, later switched to Mathopd, but I consider THTTPD or any of several other "tiny" webservers. Small, smart, fast and easy to configure. WAY easier than Apache.
(yeah, you may think you configured Apache right because it works... but what if you just opened several security holes you didn't understand? It's much better to have a tiny config file you can use for 8 things out of which you need 6, and understand all thoroughly, than one with 400 things out of which you need 12 and understand thoroughly less than 50.)
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
This is a godsend to those of us who are just starting out. Sure there is a lot of decent online documentation, but that requires running back and forth from machine to machine and taking a lot of notes.
I'll definitely be picking this up.
Damon,
http://actionPlant.com
Has there ever been an open source program as successful as the Apache web server? If we leave aside the various p2p freeware for music sharing, then perhaps none. Certainly, if we restrict our survey to web servers, Apache is head and shoulders above its peers. It is currently in its second major revision, 2.0, and is very stable and mature.
.NET/C# dynamic content. I am not sure that Apache can handle these yet, so you should stick with Microsoft's server
This book gives you a good grounding in both installing and running it, even if you have never run a website before. Those of you who used earlier versions may recall various installation shell scripts. At one point, these only ran on unix platforms. But this book makes clear in the first chapter that this is no longer true. An installation wizard gives you an easy walkthrough. Plus you can now install it on Microsoft Windows.
So given that Apache is free, shouldn't you already be using it? If you have only static content, or dynamic content that is restricted to the traditional cgi or the newer perl or PHP, then the book's sections on those show full functionality.
Remember too the other advantage cited in the book. Apache is extensible. So if you have a simple need that can be met by tweaking the existing source, you can do it yourself, instead of asking a vendor and waiting [and paying]. Plus, if Apache itself has a bug that you cannot fix, you know there will be many developers on the net who will do this, and quickly, because so many of us depend on Apache.
What are you waiting for?
The only caveat is when you should NOT use Apache [and this book]. Naturally, the book does not go into this, so let me help you. If you will be using EJBs, Java Server Pages or transactions, then this is higher level logic that, as far as I know, Apache does not currently handle. Instead, you should opt for J2EE web servers provided by jBoss, Sun, IBM, BEA or Oracle. Likewise if you have
--- any post that takes longer than 20 seconds to write, isn't worth writing
I mean when php breaks under 2.0 you do not know if it was php or apache that broke. Under 1.3 you can be pretty damn sure that it was php that broke due to one of their "keep the language functions changing randomly for no reason so as to break apps" approach to keeping php going.
The collaboration of Apache software experts Ken Coar and Rich Bowen, Covering Apache 2.0 & 1.3, Apache Cookbook is a "user friendly" guide and comprehensive reference to the most widely used web server in the world. Offering common problems and solutions; step-by-step walk-throughs; discussion problems; sample codes; worked-out solutions; instructions for tasks such as installing the server or managing a proxy server, and so much more, Apache Cookbook is a "must-have" instructional reference for anyone charged with the responsibility of setting up or maintaining an Apache based web server.
--- any post that takes longer than 20 seconds to write, isn't worth writing
Try it yourself. Got o Amazon.com and type in the book's name, then compare the URIs.
Test before you post.
Amusing take on business development ;)
How do I get a virtual host to automatically redirect to a different virtual host and path? I want 'http://mail.foo.bar' to redirect to 'http://www.foo.bar/horde/imp/login.php'. I couldn't figure out how to do this...
.NET doens't do n.tier properly either.
.Net craps on almost anything else from a great height in terms of speed to market and being able to make large and rapid changes quickly. Not cross platform though.
Mind you GUI development in
But what if all I want to do is publish a web page?
-"The early bird catches the worm, but the late bird sleeps the most"
Thought I was going to get some good Native American cooking recipes.
You've got to be joking.
I am so stunned at the idiocy in this post. *NOTHING* requires an OOP language. And plenty of (large) sites use hand-rolled development processes and work great with them. Web Services are SLOW.
Requiring a specific tool for the job should be determined after architecturing, not before.
But decent professional development needs integration into n-tier business applications which must be done with ...
Well, obviously this is a troll, but it makes me cringe when I hear whiney arguments from people thinking that the only way to do anything "professional" is by using highly-bloated, high-level systems.
Yes, that's hard but you must admit that I have a point.
Yes, you have a point: You're "new school" that expects the available tools to compensate for your lack of initiative or ability to figure out how to be resourceful and efficient without the use of a mouse.
It's no wonder most new software is crap, and no surprise that the greatest software continues to be developed by individuals who don't spend 90% of their development time learning how to use a tool that is supposed to speed up the development process.
"rhonda@training.edu.cx doesn't bounce. >:) I asked simply "Are you the person that had goatse.cx shut down?" I think a lack of a reply will be suspicious.
Trolling is a art,
I'm not a Amazon affiliate. If I was, would I have put a Froogle link?
Mod this Troll down.
What if you need 20 out of 400 and understand 100? Or understand 18 needing 15 of 32, or even worse, need 12 out of 11 with understanding of 2. Or 13, 18, 4597, 129, 97...
Obviously picking the right web server can be a tough proposition.
This is typical garbage by snooty PHP haters, and is not supported by fact. I'm not going to get into a pointless argument with the "proud owner of a Mensa membership card"; clearly I'm not intellectually up to it. Besides, I'll probably become confused like a deer in the head lights when Mr. Mensa starts spewing "facts" about long depreciated (obsolete) versions of this armature tool for making inferior portals.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
There are lots of examples of open source programs which are very complex and powerful and have a steep learning curve, forcing users to read lots of documentation before being able to do anything useful with them (random examples: mutt, mplayer, vi/emacs, sendmail). That's not the case with apache. A n00b who just wants to serve a few simple static pages can simply copy the files to www or public_html directory and they're done. You need to deal with the complexity only if you want to. I guess that's one of the reasons why its so popular.
Some care is needed with perms; apache will quite happily such in what is there; and careless use of symlink or allowing the creation of such may cause security holes.
Dw.
You have a misguided and completely erroneous point but a point nonetheless. "Professional" development needs none of the things you listed. Some might benefit from that list...others may be hindered.
Oh..and you forgot to add Python to your list. Probably a better candidate than Ruby at the moment because of the availability of tools.
My blog: http://jkratz.dyndns.org/~jason/blog/
What do you call it when someone is intentionally putting loud, obnoxious statements into circulation, but they aren't exactly trolling? Or is that trolling, too? I don't know--listen to this guy:
"Yes, that's hard but you must admit that I have a point."
Everything about this is calculated to piss off the Slashdot reader--the overt arrogance (Mensa membership!?? Are you kidding!??), the attempt to seem like an authority on the subject by making overly specific assertions, even down to the bad punctuation! On top of that, he starts throwing down about PHP and Perl--yeah, when I want to make a well-reasoned argument, the first thing I do is start flaming a religious OSS obsession. Good strategy.
Now, I don't want to be too judgemental, because I can get pretty snippy myself (it's good to blow off steam by smacking someone around), but I think this goes further--it's a calculated attempt to piss people off for the purpose of pissing people off.
His argument doesn't even make any sense--the *right* tools for a job, ANY job, are the tools that fit that particular job. For small, non-scaling apps that need quick and easy-to-maintain/modify structures, PHP/Perl and Apache work wonderfully. Why the fuck should anyone start fucking around with Corba for building a web forum? Especially when the skills to work in PHP are much more common, and therefore cheaper?
I'm not trying to point out that he's wrong--I'm just trying to show how totally ungrounded the post is.
I've seen this account do this before--not always, so maybe it's not a straight-up troll account--but he IS just being an asshole.
Then explain to me why we rolled out a PHP solution to a major corporation's web problems in 6 weeks that was faster, more flexible, and closer to their design specifications than the as-yet-unfinished "enterprise-capable" .NET solution they've had dozens of "professional" programmers working on for 24 months? And we didn't use the OOP portions of PHP to do it... except for some readily-available classes we used for email and XML integration.
As another post stated, you do not need OOP for anything. It does help encapsulate ideas, and I'm all for OOP in a large variety of settings, including machine control. However, it also gets in the way of soooo many things, and is often a cause of slow execution in the interpreted environments usually found in web design. If you're not dealing with an optimized, compiled language, I wouldn't bother.
You should be running your server through the ringer every time you change something or new holes are found, every 2 weeks is a decent number.
;-)
This is just one of many steps to consider
It's a good idea to have a box local that is configured exactly like your live one for this, the tests can eat a lot of bandwidth and make a mess out of your logs. Of course if you are testing the box as a whole there is no substitute for testing the live box.
Comment removed based on user account deletion
Why can't you run a browser while you configure the server?
You must not do much with sendmail....
7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
> Probably a better candidate than Ruby
Oh, I don't know. Ruby has a decent number of tools available. There's mod_ruby and a bunch of templating/web application libraries like Amrita and Cerise.
The Army reading list
The best diplomat I know is a fully activated phaser bank.
-- Scotty.
must be done with ... an object orientated programming language
All that object "orientated" (east facing objects?) languages do is to try to enforce OO principles. There is no reason that you can't design OO into languages like perl, or c. If fact I'm giving a talk on object oriented design in C later this month at my employer.
Now it's hard/combersome to do stuff like inheritance, reflection and access modifiers, but encapsulating data with its associated methods and a lot of discipline will get you many of the advantages of a full blown OO language.
Its a mark of the novice programmer to choose java or ruby just because it is OO. There are many other advantages/costs to the languages you list and there are an arbitrary number of reasons why you would use one above another.
OO languages are not the silver bullets of software design. There are still situations where 'low' high level languages like C still fit into the application level program. The silver bullet solution is to remember there is no silver bullet solution.
Why, o why must the sky fall when I've learned to fly?
.NET doens't do n.tier properly either
I kinda think you need to get your facts straight. How about a concrete example?
There's more than one way to skin a catfish.
To solve your problem with PHP, create an index.php file that contains this:
?php header ("Location: http://www.foo.bar/horde/imp/login.php'); ?
http://tinyurl.com/4ny52
Comment removed based on user account deletion
I think English is not this gentleman's native tongue... I've read several of his posts (Mensa membership .sig and all), and they are always rife with spelling, grammar, and syntax errors.
.sig is simply there as a backhanded attempt at a troll... it certainly provokes a response from virtually everyone.
Note: when bragging about your intelligence in an adopted language, it pays to actually be adept with that language... otherwise, whether you intend to or not, you'll provide amusement and provoke snide comments from the native speakers.
Perhaps the
Even if a man chops off your hand with a sword, you still have two nice, sharp bones to stick in his eyes.
the review didn't mention it afaics, and neither does o'reilly, but we have a companion site for this book: Apache-Cookbook.Com. that's where we keep the up-to-date errata, the table of contents, and a random recipe-of-the-day. (and soon reviews and review pointers.)
just fwiw.
#ken P-)}
Ken Coar
Apache Software Foundation
I wouldnt disagree that there are a decent number of tools available. In my experience though it's just not as well supported as Python. Don't get me wrong...I love Ruby too. I just choose Python because there is better support for it.
My blog: http://jkratz.dyndns.org/~jason/blog/