4.3. Web Server Choice and Configuration
Our choice of web server was Apache [1]. Apache is one
of the most commonly used web servers on the market
today, not only because it is free, but because it is simple to
configure, stable, and is now available for many computing
platforms. Even the Apache 1.3 beta for Win32 is
considered by many webmasters to be more stable that the
current version of Microsoft’s Internet Information Server
(IIS).
By default, Apache is well configured to operate as a
single site web server, but we needed something more for
our course. We didn’t feel that the students would have the
same experience if they shared a server, so we gave each
one a separate web server on this single machine. Each
student was given a port (above 8000), with its own server,
log files, and configuration [2]. Thus, the students had
administrative privilege to their individual server without
letting them roam free on the global server.
Besides having their own web servers, the student servers
needed the power to execute CGI scripts. Therefore, we
enabled CGI execution in each directory [3]. Although this
was a very insecure practice and dangerous to the server, it
was necessary for student experimentation. Given the
security risks, it was important to instruct the students at
the first class in how to write safe CGI scripts, and how to
keep scripts from being abused by malicious web surfers.
In fact, the risk on our machine was lowered by the fact
that the machine was newly connected to the Internet with a
name that was difficult to guess.
With only a few changes to the basic configuration to
improve compatibility with Windows systems, we began
the course with 25 individual servers, each with its own
powerful administrator. The simple and well-documented
configuration files of the Apache server made the entire
process fairly painless.