CNIT 271: Apache Web Server Intro Spring 2012
(CRN 32026)
Hybrid: meets 3 Wednesday evenings: 6-9 pm, Online
in-between.
First Meeting
Date: 2/01. Room: Batmale 413.
Instructor:
Peter Wood
Contact Info:
E-mail: pwood@ccsf.edu, Web:
http://fog.ccsf.edu/~pwood, Phone:
415/239-3229
Office:
Science 35B, Office Hours: Usually the 1/2
hour after class, or by appt.
Course
Description: Introduction to setting
up and configuring the Apache Web Server. The course covers how to
download and install Apache, configure CGI scripting to run
scripts on the server, protect document directories with
authentication, and use virtual hosting to support multiple
hostnames on the same server.
The material is presented through a combination of lecture and
hands-on exercises. Each student will the opportunity to
setup Apache on a Linux host. It is an introduction
to Apache, but by the end of the class you will be able to do
some basic server administration. You will be able
to:
- Describe the Apache Project and Open Source
software.
- Assess the software and hardware requirements
for running Apache.
- Find and download Apache source code and
installation scripts.
- Analyze installation requirements and edit
installation scripts.
- Explain Apache source code and installed
directory structures.
- Create and test simple CGI scripts.
- Configure authentication for an HTML document
directory.
- Design & implement Virtual Hosting.
- Install Apache on a Unix/Linux host.
- Start and stop the Web Server daemon.
- Perform simple troubleshooting through
monitoring process status and log files.
Prerequisites: Introduction to Unix (CS
160A) and an Introduction to Networking course (CNIT 106 or CNIT
201). You need to know how to get around in
Unix/Linux (login, create/edit files [vi or emacs preferred],
change directories, make directories, use 'grep', 'less', 'ps',
set permissions, etc.). Knowledge of a programming
language and system/network administration is helpful, but not
required. Here is a more detailed CNIT
271
prereq skill list.
Required Texts: None
Optional Texts on Apache:
Apache Cookbook, 2nd Edition
by Bowen & Coar. O'Reilly 2007. ISBN:
0-596-52994-5.
Pro Apache, 3rd
Edition by Wainright. Apress 2004.
ISBN: 1590593006
.
Apache:
The Definitive Guide, 3rd Edition by
Laurie. O'Reilly 2002. ISBN: 0596002033.
Various handouts will be
provided or be available online. And of course
there is lots of Apache documentation at www.apache.org
Some
Other Optional Texts:
Basic text on Unix/Linux. The one from your Intro to
Unix class will be fine.
Here is one that many like:
Linux in a Nutshell, 5th Edition. By Ellen Siever, Stephen Spainhour, Jessica P.
Hekman, & Stephen Figgins. O’reilly Press: 2005. ISBN: 0596009305
Basic Networking.
It is also helpful to have a basic book in
Networking. Here is one of my favorites:
Network+ Guide to
Networks, 5th Edition,
by Tamara Dean. Course Technology, 2009. ISBN
1423902459.
Going deeper:
HTTP
is
just
one
of
many
services
available
on
computers
running Unix/Linux. Here are some useful texts if
you want to go deeper into Unix/Linux System and Network
administration (CCSF also offers classes in each area):
Unix
& Linux System Administration Handbook (4th Edition),
by Nemeth & al, Prentice Hall, 2011. ISBN:
9780131480056.
Essential
System Administration (3rd Edition), by Frisch.
O'Reilly, 2002. Classic on stand-alone Unix system
administration. ISBN: 0596003439
.
TCP/IP Network Administration
(3rd Edition), by Craig Hunt. O'Reilly, June,
2002. ISBN: 0596002971. One of the best all around
books Unix Network Administration. Combines theory
of TCP/IP and Unix Network Services with practical
instructions for configuring and maintaining them.
Special Note: The class focuses on Apache
Web Server administration. To do this, students will have
special access to a Unix/Linux network on campus. As such you
will be trusted users and are expected to behave responsibly.
Adherence to CCSF usage policies is required, and abuse of
privileges may result in loss of your CCSF computer access and
failing the class.
Software
Policy: It is the policy of CCSF that here will be no
copying of copyrighted software (applications) on computers
belonging to CCSF.
Grading:
| Component |
Percentage |
Quiz
|
15% |
| Class Participation |
10% |
| Labs |
60% |
Final Exam
|
15%
|
There will
be a short quiz after the first class, and a final exam after
the second class. These are usually multiple choice,
although there may also be a hands-on component to the final
exam. Some participation in an online
discussion group is also required.
Deadlines & Attendance: This is
a short hybrid class with three in-person meetings and you
working remotely in-between. You need to attend to
pass the class. Some assignments will be finished
in-class. You will also be expected to participate in some
online discussion, take a quiz, & do some configuration
remotely during the week between classes. Final Exam
is also taken online after the end of the last class. By
the end of the last class, you will have setup the Apache web
server several times. Add/Drop Deadlines:
Last day to Add: 2/12.
Last day to Drop with a Refund: 2/02.. Last day to Drop without a "W": 2/08. Last day to
apply for "pass/no pass" grading (but then the class cannot
count towards a certificate): 2/21. Last day to Drop with a "W": 2/29.
Communications: In class there will
be time for discussion as well as lecture and exercises. It is
important to me that everyone has a chance to participate. My
request to those who talk a lot is: Do not talk too often
or too long. For those who do not talk much: Please speak up. If
you have a question, probably several others have the same
question. We all have different strengths and weaknesses and
respect for each other is important. I look forward to
your contributions, and our learning together.