TweetFollow Us on Twitter

Nov 99 Online

Volume Number: 15 (1999)
Issue Number: 11
Column Tag: MacTech Online

MacTech Online

by Jeff Clites <>

Apache, Of Course

Over the past several months we've touched on a variety of software packages which originated within the open-source and Unix communities, but which are poised to become important to the Macintosh with the advent of the Unix-based Mac OS X family. But we haven't yet covered one of the most important pieces - Apache. Despite all of the press which Linux gets, the Apache web server is probably the most successful open-source project of all time. To quote the famous statistic (from the Netcraft Web Server Survey), it serves over 55% of the sites on the internet, which according to the Apache FAQ amounts to over 3 million servers.

The Apache Software Foundation
The Netcraft Web Server Survey
The Apache Server FAQ

On the face of it, there isn't much to talk about-Apache comes preinstalled with Mac OS X Server, and it just works; you don't have to port, compile, install, or really even configure it. If you are only interested in serving static HTML pages or WebObjects applications, you barely have to lift a finger. But if you want to go further and write modules for your web server's plug-in API, or take advantage of the availability of its source code, then the fun begins.

Using Apache

As your first step in going beyond the basics, you'll probably want some general information on running and administering Apache. The best place to start is Apache's online user manual, of course. For those who prefer printed material, O'Reilly and Associates has published Apache: The Definitive Guide (ISBN 1-56592-528-9), and there's even a sample chapter (on security) on their web site. If you prefer a more nuts-and-bolts reference, the Apache Server Administrator's Handbook (ISBN 0-7645-3306-1) looks promising. For those interested in diving into Apache's source code, check out Apache Server Commentary: Guide to Insider's Knowledge on Apache Server Code (ISBN 1-57610-468-0), which explains the innards in great detail.

Apache User's Guide
Apache: The Definitive Guide

A great source for ongoing information is the Apache Week ezine, published every Friday. Recent issues have covered a variety of useful topics, notably an heads-up on what's coming in Apache 2.0 (and why a 2.0 version is needed at all), and an introduction to HTTP/1.1. And be sure not to miss their Hints and Tips section, which answers those questions you were just about to ask, and their very nice Links page, which will point you to a wealth of resources on server-related standards and technologies as well as further information about Apache itself.

Apache Week
Apache 2.0 Preview
HTTP version 1.1
Apache Hints and Tips
Apache Related Links

Extending Apache

Once you know what it does, it's time to start mucking with it (the programmer's credo). As I touched on above, Apache has its own plug-in API; by writing Apache modules you can intercede at any of the eight steps of its request-handling process. This is similar to Netscape's server API, NSAPI, although Apache's approach lets you step in at a few more places. (If you are familiar with WebObjects' request-response loop, the process is conceptually very similar.) Apache takes this plug-in approach seriously, and in fact uses it to implement some of what could be considered the core functionality of a server-for instance, access to CGIs is handled by the mod_cgi module. Another important example is the mod_WebObjects module provided by Apple as a better-performing alternative to the default CGI-based adaptor for serving WebObjects applications. Check out the Apache API notes (again part of Apache's own documentation) for an introduction, and a paper which Robert Thau presented at the Fifth International World Wide Web Conference for an explanation of the considerations behind its design.

Apache API notes
Design considerations for the Apache Server API

You can write Apache modules in C, but you can also write them in Perl, and if you are familiar with Perl or are interested in learning it, this is a perfect place to apply it. Perl's text-manipulation facilities and high-level data structures, combined with its own large body of powerful community-developed libraries, can make quick work of seemingly complex tasks. A great resource for learning about writing Apache modules comes once again in the form of an O'Reilly book, Writing Apache Modules with Perl and C (ISBN 1-56592-567-X), which will give you the full scoop on writing modules to extend Apache's functionality. (I'm beginning to sound like a broken record, but I promise I'm not on O'Reilly's payroll.) Several of its chapters are available online on the author's accompanying web site.

Writing Apache Modules with Perl and C

Also, check out the Apache/Perl Integration Project site for more information about mod_perl. In addition to letting you write Apache modules in Perl, this module improves the performance or Perl-based CGI scripts by embedding a Perl interpreter within Apache itself, and caching scripts in such a way that they can respond to requests without the overhead of launching the interpreter and compiling the script again each time. (Usually, web servers handle CGI requests by launching the CGI application again for each incoming request.) Although this does require you to rewrite your CGI scripts slightly, the speedup can be dramatic, especially for short scripts, whose startup overhead consumes much more time than actually generating the response.

The Apache/Perl Integration Project

Getting Involved

Although Mac developers don't need to worry about having to port Apache, that doesn't mean that there isn't work to be done. There are a number of spin-off projects which could use a hand, and the Apache GUI project, for instance, just has Macintosh written all over it. So if you want to get your hands dirty with the open source community, then check out the Related Projects page and you might find something which grabs your interest. (Java servlets, anyone?) And don't forget, working on a piece of software with millions of grateful users can do wonders for your résumé.

Projects of the Apache Software Foundation
Apache-Related Projects
Apache GUI-Dev Project

Commercial Tools

It will be interesting, going forward, to see how Apple manages to make its server offering into an actual product, since it is based around tools you can get elsewhere for free. One approach is to provide a rich set of management tools which liberate you from the vagaries of complex configuration files. This seems to be the approach taken by Tenon Intersystems, vendors of WebTen, which brought Apache to the classic Mac OS by providing a Unix emulation environment. For Mac OS X Server they have developed iTools, which brings web-based configuration to Apache and provides additional services (such as DNS and SSL). For the near future, iTools is probably the easiest way to access and manage some of Apache's more advanced features, such as virtual hosting.



If Apache's popularity and openness have failed to win you over, you might want to explore your options. Netcraft has an extensive list of links to web server companies, and you can probably find any server you've ever heard of listed here. For a little more guidance,'s WebServer Compare site lets you search for a server based on the features you want, or you can just look at their quick compare list to get and idea of what's available. Finally, the World Wide Web FAQ has brief descriptions of a number of popular servers-it's a bit out of date but still a good place to start if you really are not sure what server you want to use. Most of the servers listed on this site will be Unix-based, but if you are looking to replace Apache then I am going under the assumption that you are operating under Mac OS X Server. You have a smaller range of choices if you want to run your server under the "classic" Mac OS, but that's a topic for another column.

Netcraft's Directory of Web Server Home Sites
WebServer Compare
WebServer Quick Compare
World Wide Web FAQ

Finally, if you just want to update your Mac OS X Server Apache installation to the latest version, check out the article on Stepwise, which tells you how to do it and what to watch out for.

Building Apache 1.3.9 for Mac OS X Server

Once you've set up your server, come to ours and visit the MacTech Online web pages at, where you'll find links to even more useful things.


Community Search:
MacTech Search:

Software Updates via MacUpdate

Facility 47 (Games)
Facility 47 1.0.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0.1 (iTunes) Description: You wake up alone and freezing in an icy cell. You try the cell door but it’s locked, it seems that you are stuck with no... | Read more »
The best Photoshop alternative on iPad
Instagram and Lightroom are great and all, but sometimes people need to get extra creative with their image editing.Like, Photoshop creative. If you're one of these people, take a look at our pick for the best mobile Photoshop experience on iPad... | Read more »
The Walking Dead: No Man’s Land guide -...
A new update for The Walking Dead: No Man’s Land was released last week, making it the perfect time for you to head back to your base and take out some walkers. Here’s the lowdown on what’s new to the game, and how to take advantage. [Read more] | Read more »
Goat Rider guide - Tips and tricks to st...
We've all been there. One second, we're riding high on a crazed goat, and the next, we've been tossed off it like someone who's no good at goat ridin'. [Read more] | Read more »
Real Boxing 2 CREED: How to become a gre...
Just in time for Rocky fans who can’t wait to see CREED, the latest movie, we have the official tie-in game,Real Boxing 2 CREED. It builds on the success of its predecessor and there’s lots to take in so we at 148apps thought we’d run you through... | Read more »
CoinOp Heroes 2 guide - How to build an...
CoinOp Heroes 2 justlaunched and, like all clickers, it's dangerously addictive stuff. You have to furiously tap your screen to defeat wave after wave of foes and earn an insane amount of cash to spend on character upgrades and an army of minions... | Read more »
Dr. Panda Firefighters (Education)
Dr. Panda Firefighters 1.0.1 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0.1 (iTunes) Description: FIGHT FIRES AND SAVE THE DAY!Work together with Dr. Panda and his firefighting team to rescue his trapped... | Read more »
Puddle + (Games)
Puddle + 1.0 Device: iOS iPhone Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Puddle is back in a new "+" edition featuring enhanced graphics, new videos and Apple TV support ! No IAP and No Ads. Dive into Puddle... | Read more »
Football Manager Mobile 2016 (Games)
Football Manager Mobile 2016 7.0.0 Device: iOS Universal Category: Games Price: $8.99, Version: 7.0.0 (iTunes) Description: Football Manager Mobile 2016 is designed to be played on the move and is the quickest way to manage your... | Read more »
Kill Shot Bravo guide - How to become an...
Kill Shot Bravo is a disturbing amount of fun. No matter how many times I play a game that encourages me to snipe people in the head, I feel a little uneasy at how satisfying it is. Here are some useful tips to get you started on your path to... | Read more »

Price Scanner via

Adorama Black Friday deals: Up to $400 off Ma...
Adorama has released their Black Friday deals for 2015. Save up to $400 on MacBook Pros, $200 on MacBooks and MacBook Airs, and $270 on iMacs. Use code RYBFDEAL during checkout to see these prices.... Read more
B&H Photo Deals: $200 off 12-inch 1.2GHz...
In addition to the B&H Photo Black Friday week sales we posted yesterday, B&H has lowered their price on two products to $200 off MSRP: - 12″ 1.2GHz Gray Retina MacBook: $1399 save $200 - 13... Read more
Best Buy Early Access: Today only, Up to $125...
Best Buy has iPad Air 2s on sale for up to $125 off MSRP and Apple Watch models on sale on their online store for up to $100 off MSRP with special codes through midnight CT tonight. Choose free... Read more
UPPERCASE DESIGNS Premium Ultra Thin Keyboard...
UPPERCASE Designs today announced its new Premium Ultra Thin Keyboard Protector and its Palm Rest Protector Set for the 12-inch MacBook. The accessories provide durable protection for the 12-inch... Read more
Al Jazeera Launches New iOS And Android Mobil...
Doha, Qatar based Al Jazeera has launched new mobile and tablet apps on the iOS and Android systems bringing the latest Al Jazeera news and programmes live together with on-demand personalisation.... Read more
B&H Photo Holiday Sale: Up to $250 off Ma...
B&H Photo has all new Macs on sale for up to $500 off MSRP as part of their Holiday sale including free shipping plus NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $1799 $200 off - 15″ 2.... Read more
Free Aura ‘Ultimate’ Mac App For Gmail Update...
Miami, Florida based Crosscoded has announced Aura 1.2.0, an update to the Mac app for Gmail. Aura mixes the power of a native client with the flexibility of the Gmail web app with support for up to... Read more
Apple Will Edge Closer to Samsung in Smartpho...
Total smartphone shipments for 2015 are projected to decline by 9.7% to 1.286 billion units, according to the latest report from global market research firm TrendForce. Though Chinese vendors have... Read more
Sidefari – Split Screen Multitasking In Safar...
Francisco Cantu’s Sidefari is a simple web browser designed to act as a companion to Safari on the iPad. With multitasking in iOS 9, Sidefari uses the new Safari View Controller to show an extra... Read more
12-inch MacBooks in stock for up to $120 off,...
Adorama has 12″ Retina MacBooks in stock for up to $120 off MSRP including free shipping plus NY & NJ sales tax only. For a limited time, Adorama will include a free Apple USB-C to USB Adapter,... Read more

Jobs Board

Merchant Operations Manager: *Apple* Pay -...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
*Apple* Pay QA Manager - Apple Inc. (United...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
Sr Software Engineer *Apple* Pay - Apple In...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
Hardware Systems Architect - *Apple* Watch...
# Hardware Systems Architect - Apple Watch Job Number: 38449977 Santa Clara Valley, Califo ia, United States Posted: Apr. 16, 2015 Weekly Hours: **Job Summary** The Read more
Software Engineer, *Apple* Watch - Apple (U...
# Software Engineer, Apple Watch Job Number: 38181776 Santa Clara Valley, Califo ia, United States Posted: Nov. 2, 2015 Weekly Hours: 40.00 **Job Summary** The Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.