When Apple released
Mac OS X 10.0 to
the world on March 24, 2001, it ushered in an operating system that marked
the most significant break with Apple's past since the introduction of the
first Macintosh in 1984. The biggest change, at least as far as Web
developers are concerned, was to the Web serving side of things,
which is a whole different ballgame under Mac OS X.
Unlike all incarnations of the Mac OS before it, Mac OS X is based on
Unix. In late 1996, Apple acquired NeXT and the Unix-based NeXT operating
system and has been working on rebuilding the Mac OS upon that foundation
ever since. Now that Apple has finally accomplished this goal, Mac OS X is
poised to chalk up a larger installed base of users than any other single
Unix distribution -- all Mac users have to do is purchase a copy of Mac OS
X and they can run, out of the box, the Apache webserver software, the same software that
powers more websites around the world than all others combined.
But that's not really all that radical. There are already over 16,000,000
servers on the Web using Apache to power their sites. So what makes the
changes to the Mac OS so exciting and exceptional? Perhaps the words of
Steve Jobs, Apple's co-founder and CEO, give us a clue. At Macworld in
January he said, "Mac plus Unix is nirvana." The posters around the expo
boasted, "The simplicity of the Mac. The power of Unix."
How much truth is there to Jobs' claim, particularly for those who wish
to use their Mac as a webserver or Web development platform? To find out,
I'm going to take you through the process of getting an Apache webserver up
and running. We'll use not only the tools Apple provides, but the
alternatives: those available to seasoned Unix command-line
veterans as well as third party commercial solutions. I'll also show you how to
get the most out of Mac OS X by setting up or taking advantage of the
freely available Perl, PHP and MySQL
software.
Let's start by taking a look at where webserving on Mac OS started,
where it is now and where it's likely to be going.
next page»