Course Overview Sample

Apache: Web Server Design and Administration, Part 1

Duration

This course will be open for 6 weeks.

Course Overview

By many estimates, Apache is considered to be the most prevalently used Web server software available today. Apache, free software which can be downloaded directly over the Internet, can reliably serve as the basis for a small personal Web server, a departmental intranet server, or even a commercial Web site. This course will help you to develop the skills necessary to set up and manage an Apache Web server.

CEUs: [Enter value]

Objective

In this course, students will learn how to:

  • Identify components and information needed to set up an Apache Web server
  • Obtain, install and configure an Apache Web server
  • Manage access rights and configure an Apache Web server to host static and dynamic content
  • Configure an Apache Web server to interact with Web clients through HTTP, CGI, and other protocols
  • Enable an Apache Web server to deliver dynamically generated content through Server-Side Includes, CGI, and FastCGI
  • Identify and correct security problems related to CGI

You will need approximately 5 hours per lesson to complete the class assignments.

Requirements

Prerequisites

  • A fundamental understanding of PC technology, such as might be gained through a course such as A+ Certification: PC Technologies (Self-study course, available on www.elementk.com as course 828)
  • A fundamental understanding of computer networks, such as might be gained through a course such as A+ Certification: LANs, WANs, and the Internet (Self-study course, available on www.elementk.com as course 828)
  • An intermediate understanding of the operating system (e.g. Windows NT, Linux, Mac OS X, and so forth) on which you intend to run the Apache server. Courses for various operating systems are available on www.elementk.com.)

Software, System, & Setup

The following software is required in order to be able to fully participate in this class:

  • Apache Web server, Version 1.3.9 (or later), available for download from http://www.apache.org/httpd.html.
  • An operating system that can host Apache, such as Windows 95, Windows 98, Windows NT, Windows 2000, Netware 5.x, OS/2, FreeBSD, Linux, and various versions of Unix. From the download page at http://www.apache.org/dist/binaries/, you can see which operating systems are supported.

Throughout the course, you will learn about other software and utilities to enhance Apache. Such software is typically free for download from the Internet.

We recommend one of the following three system configurations to fully participate in this class:

  1. (Good configuration) For the purposes of this course, you can run the Apache software on a standalone computer (one that is not connected to the Internet). Any computer capable of running the Apache Web server software will suffice. (See the software requirements above.) With this configuration, however, you will only be able to browse your Web site from the same computer that Apache is running on. This means that the other students in this course will not be able to "hit" your Web site.
  2. (Better configuration) Alternatively, you can run the Apache software on a computer that is connected to a local area network (LAN) or intranet, but not connected to the Internet. In this case, your Web site can only be accessed by computers on your local area network or intranet, but not by other students over the Internet.
  3. (Best configuration) A computer that has a dedicated Internet connection (such as a cable modem, DSL, T-1, and so forth) will enable other students to access your server. If your server is behind a firewall, you will need to have your network administrator open Port 80 (HTTP) if you want other students to be able to access your server. You will also need to be able to provide other students with your server's Internet address.

Although Apache runs on many different platforms, for the purposes of this course we recommend that you use Windows (95, 98, NT, or 2000), Linux, FreeBSD, or Mac OS X. These are the systems with which your instructor is most familiar.

You do not need to install Apache before you begin this course. You will install Apache as an exercise in Lesson 2. However, if you plan to order Apache on a CD-ROM (rather than downloading it from the Internet), you should probably do so before the course starts so that you have your software in time for Lesson 2.

Required Textbook

Professional Apache

Author: Peter Wainwright

Publisher: Wrox Press Ltd.

You can purchase this book through the Element K campus store.

Course Syllabus

Lesson 1: Server Technology -- A Backgrounder

  • Web Server Anatomy
  • Networking Essentials
  • Server Hardware

Lesson 2: Apache Installation

  • Obtaining and Installing Apache
  • Fundamental Server Configuration
  • Starting and Stopping the Server
  • Using Graphical Configuration Tools

Lesson 3: Server Configuration and Static Content Hosting

  • Intermediate Server Configuration
  • Access Control
  • Configuring the Apache Environment
  • Robot Control

Lesson 4: Advanced Configuration

  • Content Handling and Negotiation
  • Aliases and Redirections
  • Server-Side Maps

Lesson 5: Dynamic Content, Part I

  • Server-Side Includes
  • CGI

Lesson 6: Dynamic Content, Part II

  • More CGI
  • Security Issues
  • FastCGI

 

Assignment Sample

Apache: Web Server Design and Administration, Part 1  

Reading Assignment

Professional Apache, Chapter 4 (Pages 87 through 136)

Time Estimate

240 minutes

Class Discussion Questions

  • What sort of situations might call for using a per-directory configuration?
  • When would it make sense to disable .htaccess?
  • Why might you control access by IP address?
  • When might you want to attract robots to your Web site? When might you want to turn robots away?
  • Why might you set up a Web site on the Internet, and then require a password to access the site or portions of the site?
  • How might you set up a site so that portions can be accessed by anyone, while other portions of the site require password access?

Additional Learning Resources

Apache Performance Notes by Dean Gaudet
http://www.apache.org/docs/misc/perf-tuning.html

Hints on Running a High-Performance Web Server
http://www.apache.org/docs/misc/perf.html

Apache Directives (from Apache online documentation)
http://www.apache.org/docs/mod/directives.html

An Amble Through Apache Configuration by Rael Dornfest, O’Reilly Network
http://www.oreillynet.com/pub/a/apache/2000/03/02/configuring_apache.html

 

Assignment Sample

Apache: Web Server Design and Administration, Part 1

Field Trip: The hunt for a graphical Apache configurator

Web Sites

  • ZDNet Software Library ( www.hotfiles.com/ )
  • DarkStar ( www.darkphoton.com/darkstar/DSTACE/ )
  • SoftSeek ( www.softseek.com)
  • Jumbo ( www.jumbo.com )
  • Free Software ( ftp://ftp.freesoftware.com/pub/ )
  • Linux Archives ( linuxarchives.linuxarchives.com/internet.html )
  • CNET shareware ( shareware.cnet.com/ )
  • Dave Central ( www.davecentral.com/ )
  • Stokely Consulting - List of Unix Admin Resources ( www.stokely.com/unix.sysadm.resources/shareware.www.html )

Objective

In this field trip, you will try to find a graphical utility to make configuration of Apache easier.

Time Estimate

30 minutes  

Activity

Step 1: Search the Web sites above (and others you might find) for an Apache configuration utility

Several utilities have been developed to make Apache configuration easier.

Step 2: Download and try one or more graphical configuration utilities for Apache

Consider whether the utility is any easier or more efficient than editing the Apache configuration files using a text editor

Step 3: Share your experiences

On the message board, post your opinion of the configuration utilities you tried.

Class Discussion Questions

  • What configuration utility did you try?
  • Where did you find it?
  • What did you like about it?
  • How might it be better?
  • Would you rather make configuration changes to Apache through a text editor or through a graphical configuration editor?
  • Based on the class evaluations, which configurator seems to be the most popular?

 

Quiz Sample

  1. AccessConfig and ResourceConfig are carried over from earlier versions of Apache and are no longer useful. Is this statement True or False?
  2. The default name for the per-directory configuration file is:
    a) .htaccess
    b) .perdirectory
    c) .perdirconf
    d) .httpdconf
  3. The name of the per-directory configuration file can be changed through which directive?
    a) Access
    b) perdirectory
    c) AccessFileName
    d) AccConfigName
  4. Conditional configuration directives can be included in any of Apache’s configuration files.
    True or False?
  5. In what sequence does Apache merge the directives listed below?
    a) Non-regular expression Directory containers and .htaccess files are merged (with .htaccess directives taking precedence).
    b) Location and LocationMatch are merged together.
    c) DirectoryMatch containers are merged.
    d) Files and FilesMatch are merged together

 

NOTE: Some of the materials shown on these pages are copyrighted.
These materials are being used with the permission of their respective copyright holders,
and are not to be copied or used for any other purpose.

 

 

Close this window