TweetFollow Us on Twitter

Nov 99 Online

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

MacTech Online

by Jeff Clites <online@mactech.com>

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
http://apache.org/
The Netcraft Web Server Survey
http://www.netcraft.com/survey/
The Apache Server FAQ
http://apache.org/docs/misc/FAQ.html

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
http://apache.org/docs/
Apache: The Definitive Guide
http://www.oreilly.com/catalog/apache2/

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
http://www.apacheweek.com/
Apache 2.0 Preview
http://www.apacheweek.com/features/apache20
HTTP version 1.1
http://www.apacheweek.com/features/http11
Apache Hints and Tips
http://www.apacheweek.com/tips/tips
Apache Related Links
http://www.apacheweek.com/docs/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
http://www.apache.org/docs/misc/API.html
Design considerations for the Apache Server API
http://www5conf.inria.fr/fich_html/papers/P20/Overview.html

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
http://www.modperl.com/

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
http://perl.apache.org/

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
http://apache.org/foundation/projects.html
Apache-Related Projects
http://apache.org/related_projects.html
Apache GUI-Dev Project
http://gui.apache.org/

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.

WebTen
http://www.tenon.com/products/webten/
iTools
http://www.tenon.com/products/itools/

Alternatives

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, intenet.com'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
http://www.netcraft.com/Survey/servers.html
WebServer Compare
http://webservercompare.internet.com/
WebServer Quick Compare
http://webservercompare.internet.com/cgi-bin/quickcompare.pl
World Wide Web FAQ
http://www.boutell.com/faq/oldfaq/index.html

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
http://www.stepwise.com/Articles/Workbench/BuildingApache1.3.9.html

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

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

ExpanDrive 5.4.1 - Access cloud storage...
ExpanDrive builds cloud storage in every application, acts just like a USB drive plugged into your Mac. With ExpanDrive, you can securely access any remote file server directly from the Finder or... Read more
Espionage 3.6.6 - Simple, state-of-the-a...
Espionage offers state-of-the-art encryption and plausible deniability for your confidential data. Sometimes, encrypting your data isn't enough to protect it. That's why Espionage 3 goes beyond data... Read more
Pinegrow Web Designer 2.94 - Mockup and...
Pinegrow Web Designer is desktop app that lets you mockup and design webpages faster with multi-page editing, CSS and LESS styling, and smart components for Bootstrap, Foundation, Angular JS, and... Read more
1Password 6.3.3 - Powerful password mana...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Sublime Text 3126 - Sophisticated text e...
Sublime Text is a sophisticated text editor for code, markup, and prose. You'll love the slick user interface, extraordinary features, and amazing performance. Features Goto Anything. Use Goto... Read more
ForkLift 3.0 Beta 2 - Powerful file mana...
ForkLift is a powerful file manager and ferociously fast FTP client clothed in a clean and versatile UI that offers the combination of absolute simplicity and raw power expected from a well-executed... Read more
OmniFocus 2.7.1 - GTD task manager with...
OmniFocus helps you manage your tasks the way that you want, freeing you to focus your attention on the things that matter to you most. Capturing tasks and ideas is always a keyboard shortcut away in... Read more
CleanApp 5.1.1 - Application deinstaller...
CleanApp is an application deinstaller and archiver.... Your hard drive gets fuller day by day, but do you know why? CleanApp 5 provides you with insights how to reclaim disk space. There are... Read more
Together 3.6.1 - Store and organize all...
Together helps you organize your Mac, giving you the ability to store, edit and preview your files in a single clean, uncluttered interface. Features Smart storage. With simple drag-and-drop... Read more
Cloud 4.1.1 - File sharing from your men...
Cloud is simple file sharing for the Mac. Drag a file from your Mac to the CloudApp icon in the menubar and we take care of the rest. A link to the file will automatically be copied to your clipboard... Read more

5 great apps for the budget traveller
Travelling abroad, or even within your home country, has never been easier thanks to our handy smartphone companions. There are hundreds of apps on the market that promise to make your world journeys hassle-free, but we've selected five of the... | Read more »
Zip—Zap (Games)
Zip—Zap 1.01 Device: iOS Universal Category: Games Price: $1.99, Version: 1.01 (iTunes) Description: Touch to contract.Release to let go.Bring the clumsy mechanical beings home. · · · over 100 levelsno adsno in-app-purchases Zip—... | Read more »
Paperback: The Game (Games)
Paperback: The Game 1.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: You are an author trying to finish kitschy paperback novels. Complete Westerns, Science Fiction, Romance or even a Crime... | Read more »
How to Rule With a Firm Hand in My Majes...
My Majesty is a kingdom management sim not unlike August’s magisterial hit, Reigns. It’s essentially a reskin of developer Tigrido’s previous management sim, Dictator. As supreme ruler of the land, you must consult with a number of subjects to... | Read more »
Our 5 Favorite iMessage Sticker Packs
At long last, iMessage joins the ranks of messaging apps the likes of LINE and Whatsapp, adding an impressive collection of stickers. They’re a great way to add a little something extra to your daily conversations. [Read more] | Read more »
How to get past Vulture Island's tr...
Vulture Island is a colorful and quirky mish-mash of platforming and puzzles. It’s creative and fresh, but sometimes the game can throw a curveball at you, leaving you stuck as to how you should progress. These tips will help you explore smoothly... | Read more »
The new Clash of Kings is just for Weste...
If you’ve played the original Clash of Kings, you’ll probably recognise the city building, alliance forging and strategic battles in Clash of Kings: The West. What sets this version apart is that it’s tailor made for a Western audience and the... | Read more »
Frost - Survival card game (Games)
Frost - Survival card game 1.12.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.12.1 (iTunes) Description: *Warning: the game will work on iPhone 5C and above and iPad Pro / 4. Other devices are not supported* | Read more »
How to build and care for your team in D...
Before you hit the trail and become a dog sledding legend, there’s actually a fair bit of prep work to be done. In Dog Sled Saga, you’re not only racing, you’re also building and caring for a team of furry friends. There’s a lot to consider—... | Read more »
How to win every race in Dog Sled Saga
If I had to guess, I’d say Dog Sled Saga is the most adorable racing game on the App Store right now. It’s a dog sled racing sim full of adorable, loyal puppies. Just look at those fluffy little tails wagging. Behind that cute, pixelated facade is... | Read more »

Price Scanner via MacPrices.net

Clearance 12-inch 1.2GHz Retina MacBooks, App...
Apple has Certified Refurbished 2015 12″ 1.2GHz Retina MacBooks available for $1189, or $410 off original MSRP. Apple will include a standard one-year warranty with each MacBook, and shipping is free... Read more
Logitech SmartDock and Skype For Business Com...
Logitech has announced Logitech SmartDock, an AV meeting room solution designed in collaboration with Microsoft. Logitech SmartDock works with Skype for Business and qualified devices, including... Read more
27-inch iMacs on sale for up to $220 off MSRP
B&H Photo has 27″ Apple iMacs on sale for up to $200 off MSRP including free shipping plus NY sales tax only: - 27″ 3.3GHz iMac 5K: $2099 $200 off MSRP - 27″ 3.2GHz/1TB Fusion iMac 5K: $1899.99 $... Read more
Apple Macs and iPads available for up to $300...
Purchase a new Mac or iPad using Apple’s Education Store and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
Mac Pros on sale for up to $200 off MSRP
B&H Photo has Mac Pros on sale for up to $200 off MSRP. Shipping is free, and B&H charges sales tax in NY only: - 3.7GHz 4-core Mac Pro: $2899, $100 off MSRP - 3.5GHz 6-core Mac Pro: $3799, $... Read more
15-inch 2.2GHz Retina MacBook Pro on sale for...
B&H Photo has the 2015 15″ 2.2GHz Retina MacBook Pro (MJLQ2LL/A) on sale for $1799, including free shipping plus NY sales tax only. Amazon also has the 2015 15″ 2.2GHz Retina MacBook Pro (... Read more
Toughbook Celebrates 20 Years of Ruggedized M...
Panasonic System Communications Company of North America, Division of Panasonic Corporation of North America (Panasonic) today celebrates the 20th anniversary of its industry-leading Toughbook mobile... Read more
12-inch 1.1GHz Gray Retina MacBook on sale fo...
B&H Photo has the 2016 12″ 1.1GHz Gray Retina MacBook on sale for $1199.99 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more
13-inch 2.5GHz MacBook Pro (Apple refurbished...
Apple has Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Sr. *Apple* Mac Engineer - Net2Source Inc....
…staffing, training and technology. We have following position open with our client. Sr. Apple Mac Engineer6+ Months CTH Start date : 19th Sept Travelling Job If Read more
*Apple* Retail - Multiple Positions-Norfolk,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.