CNIT 272: Apache Web Server Advanced (CRN#33047)
Hybrid: Meets some Wednesday evenings &
Online in-between.
Class starts with an In-Person Meeting: 4/04. Time: 6-9
pm. Room: Batmale 413
Instructor: Peter Wood
Contact Info:
E-mail: pwood@ccsf.edu (the best way to reach me
outside of class)
Web: http://fog.ccsf.edu/~pwood
(check this for schedule updates),
Phone: 415/239-3229
Office: Science 35B, Office Hours: Usually the 1/2 hour after class, or by appt.
Course
Description: Advanced class on administering
the Apache Web Server. Setting up complex virtual hosting,
multiple types of authentication and dynamic content, adding
modules to support LAMP, optimizing server performance, web
server security, including SSL, and troubleshooting.
(This course fulfills one of the requirements for the CCSF LAMP
Administration certficate)
Advisories: Apache Web Server Intro (CNIT 271) and
Unix/Linux Network Services (CNIT 270). You
need to have installed Apache or equivalent servers on a
Unix/Linux computer, setup virtual hosts, enabled
authentication, be able to comfortably edit text files, and know
enough network administration to configure other services, like
DNS, and troubleshoot problems.
Schedule: see Class Schedule (tba).
Required
Texts:
Apache
Cookbook,
2nd
Edition by Bowen & Coar.
O'Reilly 2007. ISBN: 9780596529949
(cookbook, not a theory book)
Various handouts will be provided or be available online. And of course there is lots of Apache documentation at www.apache.org
Optional Texts:
Pro
Apache, 3rd Edition by Wainright. Apress 2004.
ISBN: 1590593006. (good on theory, & lots of
configuration options.)
Learning
PHP, MySQL, & Javascript by Robin Nixon,
O'Reilly 2009. ISBN: 978-0596157135
Apache: The Definitive Guide, 3rd Edition by Laurie. O'Reilly 2002. ISBN: 0596002033.(original
classic, some find it hard to read)
Course Objectives: Upon completion of this course
the student will be able to:
Explain the history and architecture of Apache
Compare versions of Apache
Describe and perform web server administration tasks.
Install and customize Apache source code and scripts.
Describe Apache configuration directives.
Manage Apache modules.
Design and implement complex virtual hosting.
Design and configure authentication for several users or groups.
Describe procedures for monitoring access and mproving Apache performance.
Describe and configure Apache to efficiently support web applications with dynamic content like CGI, Perl, PHP, and database access.
Analyze and assess how to improve web site security, including SSL.
Install and configure Apache on a MS Windows host.
Describe how to design and evaluate a high availability web site.
Method: The
material
is
presented
in
1/2
semester
as
a
Hybrid
class. The class meets mostly Online, but there some
In-Person meetings (usually about every other week). Online
you will learn & discuss the concepts. The In-Person
meetings include mini-lectures, discussion to clarify difficult
points, hands-on exercises, and skills assessment. The
labs will be mostly individual, but there may be some group
work. The emphasis is on hands-on learning either
in-class or on your own. See the Class Schedule above
for the dates of the in-person meetings.
Grading:
|
Component |
Percentage |
|
Quiz |
10% |
|
Class Participation |
10% |
|
Labs |
60% |
|
Final Exam |
20% |
There will be one quiz about 1/2 way through the class and a comprehensive final exam. They are open book, mostly multiple choice & taken through Insight. The Final Exam may include some oral or hands-on components. There will also be several labs. These will be posted in Insight, and you turn them in uploading documentation into Insight & by discussing or demonstrating them. They will usually be discussed in-class or online just after the due date. The last lab is a Final Project that you will demonstrate in class & upload documentation into Insight.
Quiz and Assignment Deadlines: It is important you
keep up with the work, and the deadlines are intended to help
you do that. If you cannot finish a quiz or lab on
time, you can make it up provided you complete it before it is
discussed online or in class. However, it will be
penalized 10% a week. E-mail assignments are due at
midnight on the due date. Paper assignments are due
within the first 15 minutes of the start of class. Quizzes
are available until 11:55 p.m. on their last available
day. However, please do not wait until the last minutes in
case you have a computer problem. If there is a
problem with the CCSF network and servers, I will adjust the
deadlines accordingly.
Communications: This class meets mostly Online, and only
sometimes In-Person. Between In-Person classes, E-mail and
an Online Discussion Group will be available. Please use
e-mail for personal communications, and use the Discussion Group
for questions that you would normally ask in class. I will
check the online discussion group about twice a week.
I will let you know of any necessary schedule changes through the
Insight Homepage for our class. Please check our class
homepage each week to see the reading, lab & quiz
assignments. Also check it before coming to an
in-person class. If Insight is down, I will post a message
on my CCSF website.
In our in-person classes there will be time for discussion as well as lecture and exercises. In our online meetings, there will also be discussions and exercises you can do at home. 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. Also, if something is unclear, please do ask questions. If you have a question, probably several others have the same question. (This request is for both the Online and In-Person meetings.) We all have different strengths and weaknesses and respect for each other is important. I look forward to your contributions, and our learning together.
Attendance: I value your attendance and participation in
class, but do not regularly take role after the second week.
However, if you do not come to an in-person class or login to
Insight for two consecutive weeks, you may be dropped from the
class. If you miss a class, you are responsible for
getting any handouts not available on the Web from your
classmates. If you need to miss several classes in a row due to
an emergency, please let me know, so that I can try to help you
with your class work. If you decide to drop the course, it is
your responsibility to do so. Please do not depend on me to drop
you. Here are the deadlines: Last day to add the class:
4/05. Last day to
drop the class for a refund: 4/05. Last day to drop the class without a "W": 4/11. 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":
5/09.
Special Note: The class focuses on Apache Web Server
administration. To do this, students will have special access to
some Linux networks 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.