The history of the World Wide Web can find its beginning on two different continents. In Europe in 1990, Tim Berners-Lee put together the pieces of software and hardware that today make the Web what it is, while a few years later, North American programmers at the University of Illinois' National Center for Supercomputing Applications (NCSA) developed and released what became the world's first widely used web client and server software.
It is from this, the NCSA HTTPd Web Server, that the Apache web server can find its own roots because in 1995 Brian Behlendorf started collecting software patches that various web server administrators had applied to the last version of HTTPd. These initial series of patches, traded on a mailing list between eight individuals, formed the basis of "a patchy" web server that in April of 1995 saw the first public release in a beta version labeled version 0.6.2. By the end of December, they had the first stable version of Apache, and within a year it had surpassed NCSA HTTPd web server software as the most used web server on the Internet.
Since then, the Apache web server has been adopted by companies such as Yahoo! and Amazon as the software to run their web sites, providing the core business operations to customers around the world. Companies such as IBM, Sun, and SUSE have developed products and services that use and cater to users of the Apache web server, a multi-million-dollar segment of the open source industry. Today, 70 percent of the web servers serving content to the public on the web report themselves as using some variation of the Apache web server.
The informal group of developers that originally made up the Apache Group has grown and changed over the years as well. In 1999, the Apache Software Foundation (ASF) was created. Incorporated as a 501(c)(3) non-profit corporation in the United States, the foundation was formed primarily to provide a legal structure for the continued open, collaborative software development of the Apache web server and other related projects. The ASF does this by supplying hardware, communication, and business infrastructure from which companies and individuals can donate resources for individual volunteers to
4 4 4 4 In This Chapter
Hosting a web site
Configuring the Apache web server
Securing your server
work from in developing the web server and other related software. The legal structure of the ASF also shelters developers from legal suits directed at projects funded by the ASF and provides legal protection for the "Apache" brand.
The web server itself has undergone a number of revisions over the years. Since 1995 there have been six different branches of code under development and put into use all over the world, the most popular branching being Apache 1.3. As of this writing, over 7 million web sites run some version of Apache 1.3. However, the 1.3 branch of Apache is on its way out the door. While this branch it still maintained by the Apache developers, with bug fixes and security patches, the future of the Apache web server has already arrived.
At the annual gathering of Apache developers and administrators, known as ApacheCon, in 2000, the developers released the next generation of the web server, Apache 2.0, with the first public alpha release. Unlike the previous versions of Apache, which can still find the structure of their code dating back to the NCSA days, if not the actual code itself, Apache 2.0 is a complete rewriting of how the web server runs.
With the new version, the Apache developers focused on improving key aspects of the web server's overall performance: portability, scalability, configuration, and I/O processing. By April 2002, the Apache developers had released the first stable version of the new server, known as version 2.0.35. Since then, the developers have moved on to refining the web server with a new development branch known as 2.1. As with the Linux kernel development, the Apache developers have started, with Apache 2.0, to number their releases such that all even number releases, such as 2.0, 2.2, and 2.4, will be considered stable releases that retain forward compatibility to later stable versions of Apache. Consequently, any odd number version — 2.1, 2.3, 2.5, and so on — is a development version, under consideration for the next stable branch of Apache.
Today, the Apache web server itself, along with the projects developed in conjunction with the Apache Software Foundation, is a veritable Swiss army knife for network professionals and system administrators. In addition to acting as a web server for corporations, organizations, and individuals, the Apache web server can be used as a proxy, mail, mp3, and application server, to name just a few additional options.
This chapter covers using Apache as a web server in a SUSE environment. Specifically, it explores how to configure and run the Apache web server for hosting one or many web sites on one SUSE-powered server. This chapter also covers some of the basic issues concerning security and access control that you might need to consider.
Of course, most web sites these days provide dynamic access to information that is not contained within a plain HTML web page. In many cases, the information that may seem to the end users to come from one resource has in fact been put together by some web-based application from information that can reside in a database, the web server's memory, and a text file. In some cases, these pages, such as a form to process a customer's shipping information, are processed using Perl or shell scripts via the Common Gateway Interface (CGI). In others, a computer language embedded within the web server application, such as PHP, takes advantage of system resources already dedicated to the running of the web sever. As such, after taking a look at how to get a basic Apache web server up and running, this chapter reviews how to take advantage of CGIs and embedded languages such as PHP with the Apache web server and SUSE.
Was this article helpful?