Page 34 - Open Soource Technologies 304.indd
P. 34

Unit 3: Apache Server



            Introduction                                                                          Notes


            The Web is still a very young phenomenon. Tim Berners-Lee invented the Web in late 1990
            while working at CERN, the European Laboratory for Particle Physics. He developed it so that
            physicists working at various universities around the world could have instantaneous access
            to information, to enable their collaboration on a variety of projects.

            Tim defined URLs, HTTP, and HTML and, with Robert Cailliau, wrote the first Web server and
            the first Web client software, which was later dubbed a browser.

            Just a few years ago, it would have been necessary to explain what these concepts meant to
            all but the most technically aware audience. Now, there are few people (at least in developed
            nations) who are unaware of the WWW.

            Shortly after Tim’s initial work, a group at the National Center for Supercomputing Activities
            (NCSA) at the University of Illinois at Urbana-Champaign (UIUC) developed the NCSA HTTPd
            Web server and the NCSA Mosaic graphical Web browser. Mosaic wasn’t the first graphical Web
            browser, although it’s almost universally remembered as such. That honor rightfully belongs
            to Viola, written by Pei Wei and available before Mosaic. But Mosaic quickly stole the spotlight
            and most users becoming the most widely used Web browser sometime in 1992.
            NCSA HTTPd was the server most used on the Web for the first several years of its existence.
            However, in 1994, Rob McCool, who had developed NCSA HTTPd, left NCSA, and the project
            fizzled. There was no longer any central organization collecting fixes, developing new features,
            and distributing a functional product.

            Since the source code of the server was publicly available, many people using it had developed
            their own bug fixes and additional features that they needed for their own sites. These patches
            were  shared  rather  haphazardly  via  Usenet,  but  there  wasn’t  a  centralized  mechanism  for
            collecting and distributing these patches.
            Thus, Apache like the World-wide Web was put together largely by volunteers. Although the
            demise of the NCSA HTTPd project left developers with a product that didn’t work very well
            at the time and no one to complain to a far superior product resulted in the long run.

            3.1 Versions of Apache


            3.1.1 Apache HTTP Server Version 2.0
            The original version released by emWare, Inc (a Device Networking Company) with a look and
            feel similar to Apache’s, can be found here in a zip file.
            3.1.2 Apache Mod

            This seems to be accurate as of Apache 2.0.39. At least it will give a good starting point into what
            has traditionally been a sparsely documented area of Apache. This document is written from
            the Unix perspective, but should not need much modification to work under other platforms.
            In the past it was been very difficult for coders unfamiliar with the guts of Apache to get a
            start on making custom mods. Currently (July 2010) this is even more difficult because, though
            Apache 2.0 is shaping up nicely, the documentation available to the public has not caught up.
            Let’s start by jumping into the fridged waters head first. Let’s make a mod.
            You can include custom mods in Apache in two ways. The first way is to build them into
            Apache.  That  is  nice  for  a  production  quality  mod,  but  when  you’re  still  developing  the



                                             LOVELY PROFESSIONAL UNIVERSITY                                    29
   29   30   31   32   33   34   35   36   37   38   39