Running Apache on Linux

Back

Why Apache?

If you don't currently use Apache for your corporate web site, the statistics say that you will likely do so in the future. Apache is used on about 56% of all Internet web sites currently and the numbers are climbing at a rate greater than all other web servers combined. Knowing how to deploy an Apache-based corporate web site is smart insurance for your career.

Apache benefits

There are numerous benefits to runing Apache instead of other commercial web servers.

  • Apache is well supported - Most support for Apache is free and available 24 hours a day via Internet mail or newsgroups.
  • Apache is multi-platform - Apache can run on virtually any hardware platform (from PCs to mainframes), and almost any operating system, such as Linux, Windows, NetWare, Macintosh, xBSD, etc.
  • Apache is secure - security holes are rare but when they exist they are discovered and fixed quickly
  • Apache is extensible - anyone can write modules that easily plug in to Apache. If Apache doesn't do what you want or need it to do, anyone with programming skills can write the modules you need.
  • Apache is database-friendly - you can interface Apache with virtually any commercial database, such as Oracle, Sybase, DB2, and Informix, as well as free databases such as MySQL and Postgres.
  • Apache is hardware-friendly - Apache generally consumes far fewer hardware resouces that commercial web servers.
  • No Microsoft Viruses - Apache is immune to the Code Red, Nimda, and other viruses that target at Microsoft Web servers.

Apache does NT, 2000, and NetWare

While most Apache web servers run on a Unix or Linux platform, Apache also runs on the Windows NT/2000 and NetWare platforms. While this course will focus on running Apache on Linux, the vast majority of what you learn will also apply to NT/2000 and NetWare.

Course contents

Introduction
Obtaining and installing Apache
Installing from a package
Installing from source code
Choosing directories
Setting file permissions
Apache Modules
The purpose
The architecture
Core modules
Examples of additional modules
Handlers
Apache Configuration
Global configuration options
DocumentRoot directive
Symbolic links
User directories
URL redirection
Spelling-related directives
much more...
OS-related issues
Server aliases
Virtual Hosting
IP-based and name-based virtual hosts
Combinations of IP and name-based servers
Virtual servers on other ports (non-80)
How virtual servers handle logging
Server aliases in a virtual host
Supporting many virtual hosts with include files
Using include files and directories for improved organization
Logging
Examining log files
Log file formats
Referer logs and why they're useful
Performance impact of logging
Log rotation
Resolving IP addresses after hours
Access Control
ALLOW and DENY statements
ordering ALLOW and DENY
specifying IP, network, and host addresses
address globbing (subnets)
Per directory access control using .htaccess files
Setting up CGI
Declaring the ScriptAlias
The ExecCGI directive
Environment variables
Examples of Perl CGI programs
Server Side Includes
Configuring Apache to permit SSI
Option includes
AddType and AddHandler directives
The XBitHack
Examples of SSI
Content Negotiation
Configuring Apache for foreign language web pages
Accept-Language directive
LanguagePriority directive
Specifying preferred content
Using type maps
Multiviews
Authenticating Users
Basic authentication
Creating the authentication file(s)
Adding users and groups
Configuring Apache for authentication

Back Copyright © 1999-2005 by the Accelerated Learning Center. All rights reserved.